diff --git a/config/dcframe1-hmi1/resources/core/com.inductiveautomation.historian/historian-provider/dcframe-hist/config.json b/config/dcframe1-hmi1/resources/core/com.inductiveautomation.historian/historian-provider/dcframe-hist/config.json new file mode 100644 index 0000000..9faceb9 --- /dev/null +++ b/config/dcframe1-hmi1/resources/core/com.inductiveautomation.historian/historian-provider/dcframe-hist/config.json @@ -0,0 +1,8 @@ +{ + "profile": { + "type": "WideDbHistorian" + }, + "settings": { + "datasource": "dcframe-db" + } +} \ No newline at end of file diff --git a/config/dcframe1-hmi1/resources/core/com.inductiveautomation.historian/historian-provider/dcframe-hist/resource.json b/config/dcframe1-hmi1/resources/core/com.inductiveautomation.historian/historian-provider/dcframe-hist/resource.json new file mode 100644 index 0000000..935e1cf --- /dev/null +++ b/config/dcframe1-hmi1/resources/core/com.inductiveautomation.historian/historian-provider/dcframe-hist/resource.json @@ -0,0 +1,19 @@ +{ + "scope": "A", + "description": "", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "config.json" + ], + "attributes": { + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:46:12Z" + }, + "uuid": "3a22c659-0a05-49b3-8a84-3973e085412c", + "lastModificationSignature": "2bf4f35c29566d204a538ab926d13b2bb80165a2954b5f505943773df08231e6", + "enabled": true + } +} \ No newline at end of file diff --git a/config/dcframe1-hmi1/resources/core/ignition/alarm-journal/dcframe-journal/config.json b/config/dcframe1-hmi1/resources/core/ignition/alarm-journal/dcframe-journal/config.json new file mode 100644 index 0000000..9db7e69 --- /dev/null +++ b/config/dcframe1-hmi1/resources/core/ignition/alarm-journal/dcframe-journal/config.json @@ -0,0 +1,35 @@ +{ + "profile": { + "queryOnly": false, + "type": "DATASOURCE" + }, + "settings": { + "advanced": { + "dataTableName": "alarm_event_data", + "tableName": "alarm_events", + "useStoreAndForward": true + }, + "dataFilters": { + "pathFilterName": "", + "pathOrSourceFilterName": "", + "sourceFilterName": "" + }, + "datasource": "dcframe-db", + "eventData": { + "dynamicAssociatedData": true, + "dynamicConfig": true, + "staticAssociatedData": true, + "staticConfig": false + }, + "events": { + "minPriority": "Low", + "storeFromEnabledChange": false, + "storeShelvedEvents": false + }, + "pruning": { + "age": 1, + "ageUnits": "YEAR", + "enabled": false + } + } +} \ No newline at end of file diff --git a/config/dcframe1-hmi1/resources/core/ignition/alarm-journal/dcframe-journal/resource.json b/config/dcframe1-hmi1/resources/core/ignition/alarm-journal/dcframe-journal/resource.json new file mode 100644 index 0000000..59ca12f --- /dev/null +++ b/config/dcframe1-hmi1/resources/core/ignition/alarm-journal/dcframe-journal/resource.json @@ -0,0 +1,19 @@ +{ + "scope": "A", + "description": "", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "config.json" + ], + "attributes": { + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:47:21Z" + }, + "uuid": "078c81e8-e74e-43ab-8231-ec828c59cfe2", + "lastModificationSignature": "fdc8772645df15427fed0e9d3f8fba1e1f8e8d624305023732de03a325236ba0", + "enabled": true + } +} \ No newline at end of file diff --git a/config/dcframe1-hmi1/resources/core/ignition/audit-profile/dcframe-auditlog/config.json b/config/dcframe1-hmi1/resources/core/ignition/audit-profile/dcframe-auditlog/config.json new file mode 100644 index 0000000..9067089 --- /dev/null +++ b/config/dcframe1-hmi1/resources/core/ignition/audit-profile/dcframe-auditlog/config.json @@ -0,0 +1,22 @@ +{ + "profile": { + "retentionDays": 90, + "type": "database" + }, + "settings": { + "actionColumn": "action", + "actionTargetColumn": "action_target", + "actionValueColumn": "action_value", + "actorColumn": "actor", + "actorHostColumn": "actor_host", + "autoCreate": true, + "databaseName": "dcframe-db", + "keyColumn": "audit_events_id", + "originatingContextColumn": "originating_context", + "originatingSystemColumn": "originating_system", + "pruneEnabled": false, + "statusCodeColumn": "status_code", + "tableName": "audit_events", + "timestampColumn": "event_timestamp" + } +} \ No newline at end of file diff --git a/config/dcframe1-hmi1/resources/core/ignition/audit-profile/dcframe-auditlog/resource.json b/config/dcframe1-hmi1/resources/core/ignition/audit-profile/dcframe-auditlog/resource.json new file mode 100644 index 0000000..ee5b127 --- /dev/null +++ b/config/dcframe1-hmi1/resources/core/ignition/audit-profile/dcframe-auditlog/resource.json @@ -0,0 +1,19 @@ +{ + "scope": "A", + "description": "", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "config.json" + ], + "attributes": { + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:47:46Z" + }, + "uuid": "332aee7c-8559-4647-93c4-7afa108ae646", + "lastModificationSignature": "114ffbef453018bed98e57a29af55b030fcf60fc9a661cabec289fc66bb64670", + "enabled": true + } +} \ No newline at end of file diff --git a/config/dcframe1-hmi1/resources/core/ignition/database-connection/dcframe-db/config.json b/config/dcframe1-hmi1/resources/core/ignition/database-connection/dcframe-db/config.json new file mode 100644 index 0000000..9c2df4f --- /dev/null +++ b/config/dcframe1-hmi1/resources/core/ignition/database-connection/dcframe-db/config.json @@ -0,0 +1,36 @@ +{ + "connectURL": "jdbc:postgresql://dcframe-db:5432/ignition", + "connectionProps": "", + "connectionResetParams": "", + "defaultTransactionLevel": "DEFAULT", + "driver": "PostgreSQL", + "evictionRate": -1, + "evictionTests": 3, + "evictionTime": 1800000, + "failoverMode": "STANDARD", + "failoverProfile": "", + "includeSchemaInTableName": false, + "password": { + "data": { + "ciphertext": "ZQvIf2RfAjL8lQ", + "encrypted_key": "k0Zvnp7PW4My99k_WqJ04UpTJrNSB7XJ3iydEMK3SQyOuVPQ-hsiYA", + "iv": "Z7ZM1pZNZgkd_g37", + "protected": "eyJhbGciOiJBMjU2S1ciLCJlbmMiOiJBMjU2R0NNIiwiaWF0IjoxNzYyMzgyNTQ1LCJ6aXAiOiJERUYifQ", + "tag": "sjfbtv-S-KDOENLXdxZIcg" + }, + "type": "Embedded" + }, + "poolInitSize": 0, + "poolMaxActive": 8, + "poolMaxIdle": 8, + "poolMaxWait": 5000, + "poolMinIdle": 0, + "slowQueryLogThreshold": 60000, + "testOnBorrow": true, + "testOnReturn": false, + "testWhileIdle": false, + "translator": "POSTGRES", + "username": "ignition", + "validationQuery": "SELECT 1", + "validationSleepTime": 10000 +} \ No newline at end of file diff --git a/config/dcframe1-hmi1/resources/core/ignition/database-connection/dcframe-db/resource.json b/config/dcframe1-hmi1/resources/core/ignition/database-connection/dcframe-db/resource.json new file mode 100644 index 0000000..926baa4 --- /dev/null +++ b/config/dcframe1-hmi1/resources/core/ignition/database-connection/dcframe-db/resource.json @@ -0,0 +1,19 @@ +{ + "scope": "A", + "description": "", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "config.json" + ], + "attributes": { + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:43:30Z" + }, + "uuid": "f01ad521-bb74-432b-8fbd-ad11a16bf975", + "lastModificationSignature": "cdb82d654a656a575f3a0fc3074284a632311c6b46976007b4a80012c70a5f23", + "enabled": true + } +} \ No newline at end of file diff --git a/config/dcframe1-hmi1/resources/core/ignition/identity-provider/temp_0/config.json b/config/dcframe1-hmi1/resources/core/ignition/identity-provider/temp_0/config.json new file mode 100644 index 0000000..29d11bd --- /dev/null +++ b/config/dcframe1-hmi1/resources/core/ignition/identity-provider/temp_0/config.json @@ -0,0 +1,62 @@ +{ + "profile": { + "securityLevelRules": { + "nodes": [] + }, + "type": "internal", + "userAttributeMapper": { + "email": { + "config": { + "attributePath": "email" + }, + "type": "direct" + }, + "firstName": { + "config": { + "attributePath": "given_name" + }, + "type": "direct" + }, + "id": { + "config": { + "attributePath": "sub" + }, + "type": "direct" + }, + "lastName": { + "config": { + "attributePath": "family_name" + }, + "type": "direct" + }, + "roles": { + "config": { + "attributePath": "roles" + }, + "type": "direct" + }, + "userName": { + "config": { + "attributePath": "preferred_username" + }, + "type": "direct" + } + }, + "userGrants": { + "id": {}, + "username": {} + } + }, + "settings": { + "authMethods": [ + { + "config": {}, + "type": "basic" + } + ], + "rememberMeExp": 0, + "sessionExp": 0, + "sessionInactivityTimeout": 30, + "userSource": "temp_0" + } +} \ No newline at end of file diff --git a/config/dcframe1-hmi1/resources/core/ignition/identity-provider/temp_0/resource.json b/config/dcframe1-hmi1/resources/core/ignition/identity-provider/temp_0/resource.json new file mode 100644 index 0000000..8115dbc --- /dev/null +++ b/config/dcframe1-hmi1/resources/core/ignition/identity-provider/temp_0/resource.json @@ -0,0 +1,18 @@ +{ + "scope": "A", + "description": "Temporary Ignition Identity Provider created during password reset which uses the User Source Profile named \"temp_0\".", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "config.json" + ], + "attributes": { + "lastModification": { + "actor": "system-init", + "timestamp": "2025-11-05T21:48:19Z" + }, + "uuid": "93f29178-119e-4f37-9f93-2464edbd3e32", + "lastModificationSignature": "499f45e6e078b309c8a775fbd1ebe24f81cda7bcdc43fa42c39a8f721b744242" + } +} \ No newline at end of file diff --git a/config/dcframe1-hmi1/resources/core/ignition/quickstart/resource.json b/config/dcframe1-hmi1/resources/core/ignition/quickstart/resource.json index 143b6a9..8ad3c96 100644 --- a/config/dcframe1-hmi1/resources/core/ignition/quickstart/resource.json +++ b/config/dcframe1-hmi1/resources/core/ignition/quickstart/resource.json @@ -9,8 +9,8 @@ "attributes": { "lastModification": { "actor": "unknown", - "timestamp": "2025-11-04T23:29:23Z" + "timestamp": "2025-11-05T22:37:31Z" }, - "lastModificationSignature": "732b352c0666159e7cae4d14efd047b15c6cfe3d0d97aff8c8b892f86f981987" + "lastModificationSignature": "ee3695e53658e8b3c7fe3d3fe1fd735286ef145f33c031ccbe7cd1c6e23136a5" } } \ No newline at end of file diff --git a/config/dcframe1-hmi1/resources/core/ignition/security-properties/config.json b/config/dcframe1-hmi1/resources/core/ignition/security-properties/config.json index d60a0ee..977a999 100644 --- a/config/dcframe1-hmi1/resources/core/ignition/security-properties/config.json +++ b/config/dcframe1-hmi1/resources/core/ignition/security-properties/config.json @@ -52,8 +52,8 @@ ], "type": "AnyOf" }, - "systemAuthProfile": "temp", - "systemIdentityProvider": "temp", + "systemAuthProfile": "temp_0", + "systemIdentityProvider": "temp_0", "userInactivityTimeout": 10, "writePermissions": { "securityLevels": [ diff --git a/config/dcframe1-hmi1/resources/core/ignition/security-properties/resource.json b/config/dcframe1-hmi1/resources/core/ignition/security-properties/resource.json index 62066ee..cacbf59 100644 --- a/config/dcframe1-hmi1/resources/core/ignition/security-properties/resource.json +++ b/config/dcframe1-hmi1/resources/core/ignition/security-properties/resource.json @@ -9,8 +9,8 @@ "attributes": { "lastModification": { "actor": "system-init", - "timestamp": "2025-11-04T23:29:24Z" + "timestamp": "2025-11-05T21:48:19Z" }, - "lastModificationSignature": "79da6375b35c968eb98329a550e2165624469f75743c49eddac1626c1c3ea2f5" + "lastModificationSignature": "a84192cff6bce011aaf637339f30db5d8c5dd7c5507b8b0aca92bd9240c503cd" } } \ No newline at end of file diff --git a/config/dcframe1-hmi1/resources/core/ignition/store-and-forward-engine/dcframe-db/config.json b/config/dcframe1-hmi1/resources/core/ignition/store-and-forward-engine/dcframe-db/config.json new file mode 100644 index 0000000..060cfea --- /dev/null +++ b/config/dcframe1-hmi1/resources/core/ignition/store-and-forward-engine/dcframe-db/config.json @@ -0,0 +1,23 @@ +{ + "batchSize": 10000, + "dataThreshold": 10000, + "forwardRateMs": 1000, + "forwardingPolicy": "ALL", + "isThirdParty": false, + "primaryMaintenancePolicy": { + "action": "PREVENT_NEW_DATA", + "limit": { + "limitType": "COUNT", + "value": 0 + } + }, + "scanRateMs": 100, + "secondaryMaintenancePolicy": { + "action": "PREVENT_NEW_DATA", + "limit": { + "limitType": "COUNT", + "value": 0 + } + }, + "timeThresholdMs": 30000 +} \ No newline at end of file diff --git a/config/dcframe1-hmi1/resources/core/ignition/store-and-forward-engine/dcframe-db/resource.json b/config/dcframe1-hmi1/resources/core/ignition/store-and-forward-engine/dcframe-db/resource.json new file mode 100644 index 0000000..f0d17ed --- /dev/null +++ b/config/dcframe1-hmi1/resources/core/ignition/store-and-forward-engine/dcframe-db/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "config.json" + ], + "attributes": { + "lastModification": { + "actor": "unknown", + "timestamp": "2025-11-05T22:43:30Z" + }, + "uuid": "c3d32d9b-eb63-445a-9bb2-beec6c3c5b1d", + "lastModificationSignature": "d7687814a9bcf1e0d8932a5700d8c5549982057364156c77ceaf6ac28e51b579" + } +} \ No newline at end of file diff --git a/config/dcframe1-hmi1/resources/core/ignition/system-properties/resource.json b/config/dcframe1-hmi1/resources/core/ignition/system-properties/resource.json index c76ee84..6002cbc 100644 --- a/config/dcframe1-hmi1/resources/core/ignition/system-properties/resource.json +++ b/config/dcframe1-hmi1/resources/core/ignition/system-properties/resource.json @@ -9,8 +9,8 @@ "attributes": { "lastModification": { "actor": "unknown", - "timestamp": "2025-11-04T23:29:26Z" + "timestamp": "2025-11-05T22:37:33Z" }, - "lastModificationSignature": "07849218588e1bda99d33779b155252457cf592c79f3b1802008e7264e9634b1" + "lastModificationSignature": "ee7d4208213f4f60e00cb912677439c9290ca79a8620d39cd1456669656a308e" } } \ No newline at end of file diff --git a/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/Database/dcframe-db/unary-resource.json b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/Database/dcframe-db/unary-resource.json new file mode 100644 index 0000000..77ed304 --- /dev/null +++ b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/Database/dcframe-db/unary-resource.json @@ -0,0 +1,10 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [], + "attributes": { + "config": {} + } +} \ No newline at end of file diff --git a/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/Database/unary-resource.json b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/Database/unary-resource.json new file mode 100644 index 0000000..77ed304 --- /dev/null +++ b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/Database/unary-resource.json @@ -0,0 +1,10 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [], + "attributes": { + "config": {} + } +} \ No newline at end of file diff --git a/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/ForwardMetric/unary-resource.json b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/ForwardMetric/unary-resource.json new file mode 100644 index 0000000..77ed304 --- /dev/null +++ b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/ForwardMetric/unary-resource.json @@ -0,0 +1,10 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [], + "attributes": { + "config": {} + } +} \ No newline at end of file diff --git a/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/Pipelines/Auditing/DataSink/StoreMetric/unary-resource.json b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/Pipelines/Auditing/DataSink/StoreMetric/unary-resource.json new file mode 100644 index 0000000..77ed304 --- /dev/null +++ b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/Pipelines/Auditing/DataSink/StoreMetric/unary-resource.json @@ -0,0 +1,10 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [], + "attributes": { + "config": {} + } +} \ No newline at end of file diff --git a/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/Pipelines/Auditing/DataSink/unary-resource.json b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/Pipelines/Auditing/DataSink/unary-resource.json new file mode 100644 index 0000000..77ed304 --- /dev/null +++ b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/Pipelines/Auditing/DataSink/unary-resource.json @@ -0,0 +1,10 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [], + "attributes": { + "config": {} + } +} \ No newline at end of file diff --git a/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/Pipelines/Auditing/DataStores/LocalCache/PendingSummary/unary-resource.json b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/Pipelines/Auditing/DataStores/LocalCache/PendingSummary/unary-resource.json new file mode 100644 index 0000000..77ed304 --- /dev/null +++ b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/Pipelines/Auditing/DataStores/LocalCache/PendingSummary/unary-resource.json @@ -0,0 +1,10 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [], + "attributes": { + "config": {} + } +} \ No newline at end of file diff --git a/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/Pipelines/Auditing/DataStores/LocalCache/QuarantineSummary/unary-resource.json b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/Pipelines/Auditing/DataStores/LocalCache/QuarantineSummary/unary-resource.json new file mode 100644 index 0000000..77ed304 --- /dev/null +++ b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/Pipelines/Auditing/DataStores/LocalCache/QuarantineSummary/unary-resource.json @@ -0,0 +1,10 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [], + "attributes": { + "config": {} + } +} \ No newline at end of file diff --git a/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/Pipelines/Auditing/DataStores/LocalCache/StoreMetric/unary-resource.json b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/Pipelines/Auditing/DataStores/LocalCache/StoreMetric/unary-resource.json new file mode 100644 index 0000000..77ed304 --- /dev/null +++ b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/Pipelines/Auditing/DataStores/LocalCache/StoreMetric/unary-resource.json @@ -0,0 +1,10 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [], + "attributes": { + "config": {} + } +} \ No newline at end of file diff --git a/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/Pipelines/Auditing/DataStores/LocalCache/TakeMetric/unary-resource.json b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/Pipelines/Auditing/DataStores/LocalCache/TakeMetric/unary-resource.json new file mode 100644 index 0000000..77ed304 --- /dev/null +++ b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/Pipelines/Auditing/DataStores/LocalCache/TakeMetric/unary-resource.json @@ -0,0 +1,10 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [], + "attributes": { + "config": {} + } +} \ No newline at end of file diff --git a/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/Pipelines/Auditing/DataStores/LocalCache/unary-resource.json b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/Pipelines/Auditing/DataStores/LocalCache/unary-resource.json new file mode 100644 index 0000000..77ed304 --- /dev/null +++ b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/Pipelines/Auditing/DataStores/LocalCache/unary-resource.json @@ -0,0 +1,10 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [], + "attributes": { + "config": {} + } +} \ No newline at end of file diff --git a/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/Pipelines/Auditing/DataStores/MemoryBuffer/DroppedSummary/unary-resource.json b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/Pipelines/Auditing/DataStores/MemoryBuffer/DroppedSummary/unary-resource.json new file mode 100644 index 0000000..77ed304 --- /dev/null +++ b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/Pipelines/Auditing/DataStores/MemoryBuffer/DroppedSummary/unary-resource.json @@ -0,0 +1,10 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [], + "attributes": { + "config": {} + } +} \ No newline at end of file diff --git a/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/Pipelines/Auditing/DataStores/MemoryBuffer/PendingSummary/unary-resource.json b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/Pipelines/Auditing/DataStores/MemoryBuffer/PendingSummary/unary-resource.json new file mode 100644 index 0000000..77ed304 --- /dev/null +++ b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/Pipelines/Auditing/DataStores/MemoryBuffer/PendingSummary/unary-resource.json @@ -0,0 +1,10 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [], + "attributes": { + "config": {} + } +} \ No newline at end of file diff --git a/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/Pipelines/Auditing/DataStores/MemoryBuffer/StoreMetric/unary-resource.json b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/Pipelines/Auditing/DataStores/MemoryBuffer/StoreMetric/unary-resource.json new file mode 100644 index 0000000..77ed304 --- /dev/null +++ b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/Pipelines/Auditing/DataStores/MemoryBuffer/StoreMetric/unary-resource.json @@ -0,0 +1,10 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [], + "attributes": { + "config": {} + } +} \ No newline at end of file diff --git a/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/Pipelines/Auditing/DataStores/MemoryBuffer/TakeMetric/unary-resource.json b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/Pipelines/Auditing/DataStores/MemoryBuffer/TakeMetric/unary-resource.json new file mode 100644 index 0000000..77ed304 --- /dev/null +++ b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/Pipelines/Auditing/DataStores/MemoryBuffer/TakeMetric/unary-resource.json @@ -0,0 +1,10 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [], + "attributes": { + "config": {} + } +} \ No newline at end of file diff --git a/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/Pipelines/Auditing/DataStores/MemoryBuffer/unary-resource.json b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/Pipelines/Auditing/DataStores/MemoryBuffer/unary-resource.json new file mode 100644 index 0000000..77ed304 --- /dev/null +++ b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/Pipelines/Auditing/DataStores/MemoryBuffer/unary-resource.json @@ -0,0 +1,10 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [], + "attributes": { + "config": {} + } +} \ No newline at end of file diff --git a/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/Pipelines/Auditing/DataStores/unary-resource.json b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/Pipelines/Auditing/DataStores/unary-resource.json new file mode 100644 index 0000000..77ed304 --- /dev/null +++ b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/Pipelines/Auditing/DataStores/unary-resource.json @@ -0,0 +1,10 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [], + "attributes": { + "config": {} + } +} \ No newline at end of file diff --git a/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/Pipelines/Auditing/ForwardMetric/unary-resource.json b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/Pipelines/Auditing/ForwardMetric/unary-resource.json new file mode 100644 index 0000000..77ed304 --- /dev/null +++ b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/Pipelines/Auditing/ForwardMetric/unary-resource.json @@ -0,0 +1,10 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [], + "attributes": { + "config": {} + } +} \ No newline at end of file diff --git a/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/Pipelines/Auditing/unary-resource.json b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/Pipelines/Auditing/unary-resource.json new file mode 100644 index 0000000..77ed304 --- /dev/null +++ b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/Pipelines/Auditing/unary-resource.json @@ -0,0 +1,10 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [], + "attributes": { + "config": {} + } +} \ No newline at end of file diff --git a/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/Pipelines/unary-resource.json b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/Pipelines/unary-resource.json new file mode 100644 index 0000000..77ed304 --- /dev/null +++ b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/Pipelines/unary-resource.json @@ -0,0 +1,10 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [], + "attributes": { + "config": {} + } +} \ No newline at end of file diff --git a/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/StoreMetric/unary-resource.json b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/StoreMetric/unary-resource.json new file mode 100644 index 0000000..77ed304 --- /dev/null +++ b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/StoreMetric/unary-resource.json @@ -0,0 +1,10 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [], + "attributes": { + "config": {} + } +} \ No newline at end of file diff --git a/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/unary-resource.json b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/unary-resource.json new file mode 100644 index 0000000..77ed304 --- /dev/null +++ b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/dcframe-db/unary-resource.json @@ -0,0 +1,10 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [], + "attributes": { + "config": {} + } +} \ No newline at end of file diff --git a/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/unary-resource.json b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/unary-resource.json new file mode 100644 index 0000000..77ed304 --- /dev/null +++ b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/System/Gateway/StoreAndForward/unary-resource.json @@ -0,0 +1,10 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [], + "attributes": { + "config": {} + } +} \ No newline at end of file diff --git a/config/dcframe1-hmi1/resources/core/ignition/tag-definition/default/Test_Tags/Control/tags.json b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/default/Test_Tags/Control/tags.json new file mode 100644 index 0000000..bc7f5c6 --- /dev/null +++ b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/default/Test_Tags/Control/tags.json @@ -0,0 +1,50 @@ +[ + { + "valueSource": "opc", + "opcItemPath": "ns\u003d1;s\u003d[Prime Dev L24]Alm_Rst", + "dataType": "Boolean", + "name": "Alm_Rst", + "tagType": "AtomicTag", + "opcServer": "Ignition OPC-UA Server" + }, + { + "valueSource": "opc", + "opcItemPath": "ns\u003d1;s\u003d[Prime Dev L24]HMI_SD_PB", + "dataType": "Boolean", + "name": "HMI_SD_PB", + "tagType": "AtomicTag", + "opcServer": "Ignition OPC-UA Server" + }, + { + "valueSource": "opc", + "opcItemPath": "ns\u003d1;s\u003d[Prime Dev L24]Simulated_Open", + "dataType": "Boolean", + "name": "Simulated_Open", + "tagType": "AtomicTag", + "opcServer": "Ignition OPC-UA Server" + }, + { + "valueSource": "opc", + "opcItemPath": "ns\u003d1;s\u003d[Prime Dev L24]Simulated_FB", + "dataType": "Boolean", + "name": "Simulated_FB", + "tagType": "AtomicTag", + "opcServer": "Ignition OPC-UA Server" + }, + { + "valueSource": "opc", + "opcItemPath": "ns\u003d1;s\u003d[Prime Dev L24]Simulated_Din", + "dataType": "Boolean", + "name": "Simulated_Din", + "tagType": "AtomicTag", + "opcServer": "Ignition OPC-UA Server" + }, + { + "valueSource": "opc", + "opcItemPath": "ns\u003d1;s\u003d[Prime Dev L24]Simulated_Close", + "dataType": "Boolean", + "name": "Simulated_Close", + "tagType": "AtomicTag", + "opcServer": "Ignition OPC-UA Server" + } +] \ No newline at end of file diff --git a/config/dcframe1-hmi1/resources/core/ignition/tag-definition/default/Test_Tags/Control/unary-resource.json b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/default/Test_Tags/Control/unary-resource.json new file mode 100644 index 0000000..79e9663 --- /dev/null +++ b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/default/Test_Tags/Control/unary-resource.json @@ -0,0 +1,12 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "tags.json" + ], + "attributes": { + "config": {} + } +} \ No newline at end of file diff --git a/config/dcframe1-hmi1/resources/core/ignition/tag-definition/default/Test_Tags/udts.json b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/default/Test_Tags/udts.json new file mode 100644 index 0000000..a221f40 --- /dev/null +++ b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/default/Test_Tags/udts.json @@ -0,0 +1,465 @@ +[ + { + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "P_VSD_Intlk", + "typeId": "Plant PAX/P_Intlk", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{InstanceName}" + } + }, + "OPC Server": { + "dataType": "String", + "value": "FactoryTalkLinxGateway" + }, + "PLCName": { + "dataType": "String", + "value": "Slot4_LO" + }, + "OPCPrefix": { + "dataType": "String", + "value": "nsu\u003dhttp://www.rockwellautomation.com/OpcUa;s\u003d" + } + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "UdtInstance" + }, + { + "name": "P_AIn 1", + "typeId": "Plant PAX/P_AIn", + "parameters": { + "BlockName": { + "dataType": "String", + "value": "P_AIn" + }, + "PLCName": { + "dataType": "String", + "value": "PLC" + } + }, + "tagType": "UdtInstance" + }, + { + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "P_Motor_Intlk", + "typeId": "Plant PAX/P_Intlk", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{InstanceName}" + } + }, + "OPC Server": { + "dataType": "String", + "value": "FactoryTalkLinxGateway" + }, + "PLCName": { + "dataType": "String", + "value": "Slot4_LO" + }, + "OPCPrefix": { + "dataType": "String", + "value": "nsu\u003dhttp://www.rockwellautomation.com/OpcUa;s\u003d" + } + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "UdtInstance" + }, + { + "name": "P_VSD", + "typeId": "Plant PAX/P_VSD", + "parameters": { + "PLCName": { + "dataType": "String", + "value": "Slot4_LO" + } + }, + "tagType": "UdtInstance" + }, + { + "name": "P_Motor", + "typeId": "Plant PAX/P_Motor", + "parameters": { + "BlockName": { + "dataType": "String", + "value": "P_Motor" + }, + "PLCName": { + "dataType": "String", + "value": "Slot4_LO" + } + }, + "tagType": "UdtInstance" + }, + { + "name": "P_DOut_Intlk", + "typeId": "Plant PAX/P_Intlk", + "parameters": { + "PLCName": { + "dataType": "String", + "value": "Slot4_LO" + } + }, + "tagType": "UdtInstance" + }, + { + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "P_VSD_FwdPerm", + "typeId": "Plant PAX/P_Perm", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{InstanceName}" + } + }, + "OPC Server": { + "dataType": "String", + "value": "FactoryTalkLinxGateway" + }, + "PLCName": { + "dataType": "String", + "value": "Slot4_LO" + }, + "OPCPrefix": { + "dataType": "String", + "value": "nsu\u003dhttp://www.rockwellautomation.com/OpcUa;s\u003d" + } + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "UdtInstance" + }, + { + "name": "P_ValveSO", + "typeId": "Plant PAX/P_ValveSO", + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{InstanceName}" + } + }, + "PLCName": { + "dataType": "String", + "value": "Slot4_LO" + } + }, + "tagType": "UdtInstance" + }, + { + "name": "P_DOut_Perm", + "typeId": "Plant PAX/P_Perm", + "parameters": { + "PLCName": { + "dataType": "String", + "value": "Slot4_LO" + } + }, + "tagType": "UdtInstance" + }, + { + "name": "P_Din", + "typeId": "Plant PAX/P_DIn", + "parameters": { + "OPC Server": { + "dataType": "String", + "value": "FactoryTalkLinxGateway" + }, + "PLCName": { + "dataType": "String", + "value": "Slot4_LO" + }, + "OPCPrefix": { + "dataType": "String", + "value": "nsu\u003dhttp://www.rockwellautomation.com/OpcUa;s\u003d" + } + }, + "tagType": "UdtInstance" + }, + { + "name": "P_Perm", + "typeId": "Plant PAX/P_Perm", + "parameters": { + "PLCName": { + "dataType": "String", + "value": "Slot2_BE" + } + }, + "tagType": "UdtInstance" + }, + { + "name": "Flow_PID", + "typeId": "Plant PAX/P_PIDE", + "parameters": { + "PLCName": { + "dataType": "String", + "value": "Slot4_LO" + } + }, + "tagType": "UdtInstance" + }, + { + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "HMI_SD", + "typeId": "Plant PAX/P_DIn", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{InstanceName}" + } + }, + "HistoryProvider": { + "dataType": "String", + "value": "Historian" + }, + "OPC Server": { + "dataType": "String", + "value": "FactoryTalkLinxGateway" + }, + "PLCName": { + "dataType": "String", + "value": "Slot4_LO" + }, + "OPCPrefix": { + "dataType": "String", + "value": "nsu\u003dhttp://www.rockwellautomation.com/OpcUa;s\u003d" + } + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "UdtInstance" + }, + { + "name": "P_Valve_C", + "typeId": "Plant PAX/P_ValveC", + "parameters": { + "PLCName": { + "dataType": "String", + "value": "Slot4_LO" + } + }, + "tagType": "UdtInstance" + }, + { + "name": "P_AIn", + "typeId": "Plant PAX/P_AIn", + "parameters": { + "HistoryProvider": { + "dataType": "String", + "value": "Historian" + }, + "OPC Server": { + "dataType": "String", + "value": "FactoryTalkLinxGateway" + }, + "PLCName": { + "dataType": "String", + "value": "Slot2_BE" + }, + "OPCPrefix": { + "dataType": "String", + "value": "nsu\u003dhttp://www.rockwellautomation.com/OpcUa;s\u003d" + } + }, + "tagType": "UdtInstance" + }, + { + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "P_Motor_Perm", + "typeId": "Plant PAX/P_Perm", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{InstanceName}" + } + }, + "OPC Server": { + "dataType": "String", + "value": "FactoryTalkLinxGateway" + }, + "PLCName": { + "dataType": "String", + "value": "Slot4_LO" + }, + "OPCPrefix": { + "dataType": "String", + "value": "nsu\u003dhttp://www.rockwellautomation.com/OpcUa;s\u003d" + } + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "UdtInstance" + }, + { + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "P_VSD_RevPerm", + "typeId": "Plant PAX/P_Perm", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{InstanceName}" + } + }, + "OPC Server": { + "dataType": "String", + "value": "FactoryTalkLinxGateway" + }, + "PLCName": { + "dataType": "String", + "value": "Slot4_LO" + }, + "OPCPrefix": { + "dataType": "String", + "value": "nsu\u003dhttp://www.rockwellautomation.com/OpcUa;s\u003d" + } + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "UdtInstance" + }, + { + "name": "P_DOut", + "typeId": "Plant PAX/P_DOut", + "parameters": { + "BlockName": { + "dataType": "String", + "value": "P_Dout" + }, + "PLCName": { + "dataType": "String", + "value": "Slot4_LO" + } + }, + "tagType": "UdtInstance" + }, + { + "name": "SC_01", + "typeId": "Plant PAX/P_AOut", + "parameters": { + "PLCName": { + "dataType": "String", + "value": "Slot4_LO" + } + }, + "tagType": "UdtInstance" + }, + { + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "P_Valve_C_Intlk", + "typeId": "Plant PAX/P_Intlk", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{InstanceName}" + } + }, + "OPC Server": { + "dataType": "String", + "value": "FactoryTalkLinxGateway" + }, + "PLCName": { + "dataType": "String", + "value": "Slot4_LO" + }, + "OPCPrefix": { + "dataType": "String", + "value": "nsu\u003dhttp://www.rockwellautomation.com/OpcUa;s\u003d" + } + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "UdtInstance" + }, + { + "name": "P_Intlk", + "typeId": "Plant PAX/P_Intlk", + "parameters": { + "PLCName": { + "dataType": "String", + "value": "Slot2_BE" + } + }, + "tagType": "UdtInstance" + } +] \ No newline at end of file diff --git a/config/dcframe1-hmi1/resources/core/ignition/tag-definition/default/Test_Tags/unary-resource.json b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/default/Test_Tags/unary-resource.json new file mode 100644 index 0000000..8fb3cc0 --- /dev/null +++ b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/default/Test_Tags/unary-resource.json @@ -0,0 +1,12 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "udts.json" + ], + "attributes": { + "config": {} + } +} \ No newline at end of file diff --git a/config/dcframe1-hmi1/resources/core/ignition/tag-definition/default/_Settings/Alarms/Pipelines/Default/tags.json b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/default/_Settings/Alarms/Pipelines/Default/tags.json new file mode 100644 index 0000000..a11a1cb --- /dev/null +++ b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/default/_Settings/Alarms/Pipelines/Default/tags.json @@ -0,0 +1,30 @@ +[ + { + "valueSource": "memory", + "dataType": "DataSet", + "documentation": "Roster dataset linked to \"Alarms/Custom Roster\" template and utilized in an alarm pipeline", + "tooltip": "Roster dataset linked to \"Alarms/Custom Roster\" template and utilized in an alarm pipeline", + "name": "Roster", + "defaultValue": "{\"columns\":[{\"name\":\"number\",\"type\":\"java.lang.Integer\"},{\"name\":\"username\",\"type\":\"java.lang.String\"},{\"name\":\"contactType\",\"type\":\"java.lang.String\"},{\"name\":\"contactValue\",\"type\":\"java.lang.String\"},{\"name\":\"delay\",\"type\":\"java.lang.Integer\"},{\"name\":\"attempts\",\"type\":\"java.lang.Integer\"},{\"name\":\"delete\",\"type\":\"java.lang.Boolean\"}],\"rows\":[]}", + "tagType": "AtomicTag" + }, + { + "valueSource": "memory", + "dataType": "String", + "documentation": "Notification delay units used for the \"Alarms/Custom Roster\" template and matching alarm pipeline.", + "tooltip": "Notification delay units used for the \"Alarms/Custom Roster\" template and matching alarm pipeline.", + "name": "Delay Units", + "defaultValue": "SEC", + "tagType": "AtomicTag" + }, + { + "valueSource": "memory", + "dataType": "Int4", + "engHigh": 3600.0, + "documentation": "Initial Notification Delay used for the \"Alarms/Custom Roster\" template and matching alarm pipeline.", + "tooltip": "Initial Notification Delay used for the \"Alarms/Custom Roster\" template and matching alarm pipeline.", + "name": "Initial Delay", + "defaultValue": 0, + "tagType": "AtomicTag" + } +] \ No newline at end of file diff --git a/config/dcframe1-hmi1/resources/core/ignition/tag-definition/default/_Settings/Alarms/Pipelines/Default/unary-resource.json b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/default/_Settings/Alarms/Pipelines/Default/unary-resource.json new file mode 100644 index 0000000..79e9663 --- /dev/null +++ b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/default/_Settings/Alarms/Pipelines/Default/unary-resource.json @@ -0,0 +1,12 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "tags.json" + ], + "attributes": { + "config": {} + } +} \ No newline at end of file diff --git a/config/dcframe1-hmi1/resources/core/ignition/tag-definition/default/_Settings/Alarms/Pipelines/unary-resource.json b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/default/_Settings/Alarms/Pipelines/unary-resource.json new file mode 100644 index 0000000..77ed304 --- /dev/null +++ b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/default/_Settings/Alarms/Pipelines/unary-resource.json @@ -0,0 +1,10 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [], + "attributes": { + "config": {} + } +} \ No newline at end of file diff --git a/config/dcframe1-hmi1/resources/core/ignition/tag-definition/default/_Settings/Alarms/unary-resource.json b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/default/_Settings/Alarms/unary-resource.json new file mode 100644 index 0000000..77ed304 --- /dev/null +++ b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/default/_Settings/Alarms/unary-resource.json @@ -0,0 +1,10 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [], + "attributes": { + "config": {} + } +} \ No newline at end of file diff --git a/config/dcframe1-hmi1/resources/core/ignition/tag-definition/default/_Settings/tags.json b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/default/_Settings/tags.json new file mode 100644 index 0000000..40f9614 --- /dev/null +++ b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/default/_Settings/tags.json @@ -0,0 +1,11 @@ +[ + { + "valueSource": "expr", + "expression": "if(isNull({[.]PlantPAXBlink}),False,!{[.]PlantPAXBlink})", + "dataType": "Boolean", + "name": "PlantPAXBlink", + "executionMode": "FixedRate", + "executionRate": 2000, + "tagType": "AtomicTag" + } +] \ No newline at end of file diff --git a/config/dcframe1-hmi1/resources/core/ignition/tag-definition/default/_Settings/unary-resource.json b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/default/_Settings/unary-resource.json new file mode 100644 index 0000000..79e9663 --- /dev/null +++ b/config/dcframe1-hmi1/resources/core/ignition/tag-definition/default/_Settings/unary-resource.json @@ -0,0 +1,12 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "tags.json" + ], + "attributes": { + "config": {} + } +} \ No newline at end of file diff --git a/config/dcframe1-hmi1/resources/core/ignition/tag-type-definition/default/Plant PAX/SupportDataTypes/udts.json b/config/dcframe1-hmi1/resources/core/ignition/tag-type-definition/default/Plant PAX/SupportDataTypes/udts.json new file mode 100644 index 0000000..78cf265 --- /dev/null +++ b/config/dcframe1-hmi1/resources/core/ignition/tag-type-definition/default/Plant PAX/SupportDataTypes/udts.json @@ -0,0 +1,646 @@ +[ + { + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Cfg_CondTxt", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{BlockName}" + } + }, + "OPC Server": { + "dataType": "String", + "value": "FactoryTalkLinxGateway" + }, + "PLCName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{PLCName}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": "nsu\u003dhttp://www.rockwellautomation.com/OpcUa;s\u003d" + } + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "UdtType", + "tags": [ + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}[{TagName}]" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "0", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}[{TagName}]" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "1", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}[{TagName}]" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "2", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}[{TagName}]" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "3", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}[{TagName}]" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "4", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}[{TagName}]" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "5", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}[{TagName}]" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "6", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}[{TagName}]" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "7", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}[{TagName}]" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "8", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}[{TagName}]" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "9", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}[{TagName}]" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "10", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}[{TagName}]" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "11", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}[{TagName}]" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "12", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}[{TagName}]" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "13", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}[{TagName}]" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "14", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}[{TagName}]" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "15", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "valueSource": "memory", + "dataType": "String", + "name": "Prime Version", + "tagGroup": "OnlyWhenViewed", + "value": "1.0", + "tagType": "AtomicTag" + }, + { + "rawHigh": 4.0, + "valueSource": "memory", + "scaledLow": 1.0, + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "clampMode": "Clamp_Both", + "enabled": true, + "tagType": "AtomicTag", + "scaledHigh": 4.0, + "scaleMode": "Linear", + "readOnly": false, + "dataType": "Int4", + "name": "Severity", + "rawLow": 1.0, + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "value": 1 + }, + { + "valueSource": "memory", + "dataType": "String", + "name": "Version", + "tagGroup": "OnlyWhenViewed", + "value": "4.10.05", + "tagType": "AtomicTag" + } + ] + }, + { + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Cfg_NavTag", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{BlockName}" + } + }, + "OPC Server": { + "dataType": "String", + "value": "FactoryTalkLinxGateway" + }, + "PLCName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{PLCName}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": "nsu\u003dhttp://www.rockwellautomation.com/OpcUa;s\u003d" + } + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "UdtType", + "tags": [ + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}[{TagName}]" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "0", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}[{TagName}]" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "1", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}[{TagName}]" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "2", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}[{TagName}]" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "3", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}[{TagName}]" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "4", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}[{TagName}]" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "5", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}[{TagName}]" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "6", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}[{TagName}]" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "7", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}[{TagName}]" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "8", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}[{TagName}]" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "9", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}[{TagName}]" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "10", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}[{TagName}]" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "11", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}[{TagName}]" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "12", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}[{TagName}]" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "13", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}[{TagName}]" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "14", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}[{TagName}]" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "15", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "valueSource": "memory", + "dataType": "String", + "name": "Prime Version", + "tagGroup": "OnlyWhenViewed", + "value": "1.0", + "tagType": "AtomicTag" + }, + { + "rawHigh": 4.0, + "valueSource": "memory", + "scaledLow": 1.0, + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "clampMode": "Clamp_Both", + "enabled": true, + "tagType": "AtomicTag", + "scaledHigh": 4.0, + "scaleMode": "Linear", + "readOnly": false, + "dataType": "Int4", + "name": "Severity", + "rawLow": 1.0, + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "value": 1 + }, + { + "valueSource": "memory", + "dataType": "String", + "name": "Version", + "tagGroup": "OnlyWhenViewed", + "value": "4.10.05", + "tagType": "AtomicTag" + } + ] + } +] \ No newline at end of file diff --git a/config/dcframe1-hmi1/resources/core/ignition/tag-type-definition/default/Plant PAX/SupportDataTypes/unary-resource.json b/config/dcframe1-hmi1/resources/core/ignition/tag-type-definition/default/Plant PAX/SupportDataTypes/unary-resource.json new file mode 100644 index 0000000..8fb3cc0 --- /dev/null +++ b/config/dcframe1-hmi1/resources/core/ignition/tag-type-definition/default/Plant PAX/SupportDataTypes/unary-resource.json @@ -0,0 +1,12 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "udts.json" + ], + "attributes": { + "config": {} + } +} \ No newline at end of file diff --git a/config/dcframe1-hmi1/resources/core/ignition/tag-type-definition/default/Plant PAX/udts.json b/config/dcframe1-hmi1/resources/core/ignition/tag-type-definition/default/Plant PAX/udts.json new file mode 100644 index 0000000..9b43799 --- /dev/null +++ b/config/dcframe1-hmi1/resources/core/ignition/tag-type-definition/default/Plant PAX/udts.json @@ -0,0 +1,37835 @@ +[ + { + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "P_VSD", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{InstanceName}" + } + }, + "HistoryProvider": { + "dataType": "String", + "value": "Historian" + }, + "OPC Server": { + "dataType": "String", + "value": "FactoryTalkLinxGateway" + }, + "PLCName": { + "dataType": "String", + "value": "" + }, + "OPCPrefix": { + "dataType": "String", + "value": "nsu\u003dhttp://www.rockwellautomation.com/OpcUa;s\u003d" + } + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "UdtType", + "tags": [ + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Ack_DriveFault", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Ack_FailToStart", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Ack_FailToStop", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Ack_IOFault", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Ack_IntlkTrip", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Alm_DriveFault", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Alm_FailToStart", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Alm_FailToStop", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Alm_IOFault", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Alm_IntlkTrip", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_AllowLocal", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "Cfg_Area", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_DecPlcs", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "String", + "historyProvider": "SwiftWater", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Description for display on HMI", + "tooltip": "Description for display on HMI", + "name": "Cfg_Desc", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_DriveFaultAckReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_DriveFaultResetReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_DriveFaultSeverity", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int1", + "name": "Cfg_ExtKeep", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_ExtStopPrio", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_FailToStartAckReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_FailToStartResetReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_FailToStartSeverity", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Time after Start to get Run Feedback before Fault (sec)", + "tooltip": "Time after Start to get Run Feedback before Fault (sec) ", + "name": "Cfg_FailToStartT", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_FailToStopAckReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_FailToStopResetReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_FailToStopSeverity", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Time after Start to get Run Feedback before Fault (sec)", + "tooltip": "Time after Start to get Run Feedback before Fault (sec) ", + "name": "Cfg_FailToStopT", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "Cfg_FwdText", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasDriveFaultAlm", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasFailToStartAlm", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasFailToStopAlm", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasFwdPermObj", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasIOFaultAlm", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasInpDatalink", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasIntlkObj", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasIntlkTripAlm", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasJog", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasMoreObj", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasOutDatalink", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasResInhObj", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasRevPermObj", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasReverse", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "1\u003dDrive provides feedback signal on Inp_Running when running", + "tooltip": "1\u003dDrive provides feedback signal on Inp_Running when running ", + "name": "Cfg_HasRunFdbk", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasRunTimeObj", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasSpeedFdbk", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_IOFaultAckReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_IOFaultResetReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_IOFaultSeverity", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_InpDLDecPlcs", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "Cfg_InpDatalinkEU", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_InpDatalinkEUMax", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_InpDatalinkEUMin", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "Cfg_InpDatalinkLabel", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_InpDatalinkRawMax", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_InpDatalinkRawMin", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_IntlkTripAckReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_IntlkTripResetReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_IntlkTripSeverity", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "String", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Label for graphic symbol displayed on HMI", + "tooltip": "Label for graphic symbol displayed on HMI ", + "name": "Cfg_Label", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_MaxJogT", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_MaxSpdRef", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_MinSpdRef", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_OCmdResets", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int1", + "name": "Cfg_OperKeep", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Enabled\u003dOCmd_Stop has priority, accepted any time, Disabled\u003dOCmd_Stop only in Oper, Maint Mode.\n", + "tooltip": "1\u003dOCmd_Stop has priority, accepted any time, 0\u003dOCmd_Stop only in Oper, Maint Mode. ", + "name": "Cfg_OperStopPrio", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_OutDLDecPlcs", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "Cfg_OutDatalinkEU", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_OutDatalinkEUMax", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_OutDatalinkEUMin", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "Cfg_OutDatalinkLabel", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_OutDatalinkMax", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_OutDatalinkMin", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_OutDatalinkRawMax", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_OutDatalinkRawMin", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_OvrdPermIntlk", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int1", + "name": "Cfg_ProgKeep", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_ResetPulseT", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "Cfg_RevText", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_SetTrack", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_SetTrackOvrdHand", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_ShedOnFailToStart", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_ShedOnIOFault", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_SimRampT", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_SimScaleEU", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_SimScaleRaw", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "Cfg_SpeedFdbkEU", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_SpeedFdbkEUMax", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_SpeedFdbkEUMin", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_SpeedFdbkRawMax", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_SpeedFdbkRawMin", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "Cfg_SpeedRefEU", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_SpeedRefEUMax", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_SpeedRefEUMin", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_SpeedRefRawMax", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_SpeedRefRawMin", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_StartHornT", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "String", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Tagname for display on HMI", + "tooltip": "Tagname for display on HMI ", + "name": "Cfg_Tag", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_UseRunFdbk", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_UseSpeedFdbk", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_XCmdResets", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "name": "CmdSrc", + "typeId": "Plant PAX/P_CmdSrc", + "parameters": { + "OPC Server": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPC Server}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPCPrefix}" + } + } + }, + "tagType": "UdtInstance" + }, + { + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "DriveFault", + "typeId": "Plant PAX/P_Alarm", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{BlockName}" + } + }, + "OPC Server": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPC Server}" + } + }, + "PLCName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{PLCName}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPCPrefix}" + } + } + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "UdtInstance" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "EnableIn", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "EnableOut", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Err_Alarm", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Err_FdbkEU", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Err_FdbkRaw", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Err_InpDLEU", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Err_InpDLRaw", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Err_OutDLEU", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Err_OutDLLim", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Err_OutDLRaw", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Err_RefEU", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Err_RefLim", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Err_RefRaw", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Err_Sim", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Err_Timer", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "FailToStart", + "typeId": "Plant PAX/P_Alarm", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{BlockName}" + } + }, + "OPC Server": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPC Server}" + } + }, + "PLCName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{PLCName}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPCPrefix}" + } + } + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "UdtInstance" + }, + { + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "FailToStop", + "typeId": "Plant PAX/P_Alarm", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{BlockName}" + } + }, + "OPC Server": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPC Server}" + } + }, + "PLCName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{PLCName}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPCPrefix}" + } + } + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "UdtInstance" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "HMI_Lib", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int1", + "name": "HMI_Tab", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "HMI_Type", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "valueSource": "expr", + "expression": "max({[.]DriveFault/Alarm.AlertCurrentSeverity},\n\t{[.]FailToStart/Alarm.AlertCurrentSeverity},\n\t{[.]FailToStop/Alarm.AlertCurrentSeverity},\n\t{[.]IntlkTrip/Alarm.AlertCurrentSeverity},\n\t{[.]IOFault/Alarm.AlertCurrentSeverity},\n\t{[.]Sts_Alarm.AlertCurrentSeverity}\n\t )\n", + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "HighestPriority", + "executionMode": "TagGroupRate", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "IOFault", + "typeId": "Plant PAX/P_Alarm", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{BlockName}" + } + }, + "OPC Server": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPC Server}" + } + }, + "PLCName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{PLCName}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPCPrefix}" + } + } + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "UdtInstance" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_Accelerating", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_ActualDir", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_Alarm", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_AtSpeed", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_CommandDir", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Inp_Datalink", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_Decelerating", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_ExtInh", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_Faulted", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_FwdNBPermOK", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_FwdPermOK", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_Hand", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_HornInh", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_IOFault", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_IntlkAvail", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_IntlkOK", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Inp_LastFaultCode", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_NBIntlkOK", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_Ovrd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Inp_OvrdCmd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Inp_OvrdOutDatalink", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Inp_OvrdSpeed", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_Ready", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_Reset", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_RevNBPermOK", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_RevPermOK", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_Running", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_Sim", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Inp_SpeedFdbk", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "IntlkTrip", + "typeId": "Plant PAX/P_Alarm", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{BlockName}" + } + }, + "OPC Server": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPC Server}" + } + }, + "PLCName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{PLCName}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPCPrefix}" + } + } + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "UdtInstance" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MCmd_Bypass", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MCmd_Check", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MCmd_Rel", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MRdy_Bypass", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MRdy_Check", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MRdy_Rel", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Mode", + "typeId": "Plant PAX/P_Mode", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{BlockName}" + } + }, + "PLCName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{PLCName}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPCPrefix}" + } + } + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "UdtInstance" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Nrdy_CfgErr", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Nrdy_DriveNR", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Nrdy_Fail", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Nrdy_IOFault", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Nrdy_Intlk", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Nrdy_OoS", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Nrdy_Perm", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Nrdy_PrioStop", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Nrdy_Trip", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "OCmd_JogFwd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "OCmd_JogRev", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "OCmd_Reset", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Operator Command to Reset and Acknowledge all Alarms\n", + "tooltip": "Operator Command to Reset and Acknowledge all Alarms ", + "name": "OCmd_ResetAckAll", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "OCmd_StartFwd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "OCmd_StartRev", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Operator Command to Acquire (Prog to Oper) / Lock Ownership", + "tooltip": "Operator Command to Acquire (Prog to Oper) / Lock Ownership ", + "name": "OCmd_Stop", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "OCmd_Unlock", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_JogFwd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_JogRev", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_OSet", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_Reset", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_ResetAckAll", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_SpeedRef", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_StartFwd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_StartRev", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_Stop", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_Unlock", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "OSet_OutDatalink", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Float4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Operator Setting of Speed Reference (EU)", + "tooltip": "Operator Setting of Speed Reference (EU)", + "name": "OSet_SpeedRef", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "SourceDataType": "Float4", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Out_ClearFault", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Out_Datalink", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Out_Fwd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Out_Horn", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Out_Jog", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Out_Rev", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Out_Run", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Out_SpeedRef", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Out_Start", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Out_Stop", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_DriveFaultAck", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_DriveFaultSuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_DriveFaultUnshelve", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_DriveFaultUnsuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_FailToStartAck", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_FailToStartSuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_FailToStartUnshelve", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_FailToStartUnsuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_FailToStopAck", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_FailToStopSuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_FailToStopUnshelve", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_FailToStopUnsuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_IOFaultAck", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_IOFaultSuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_IOFaultUnshelve", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_IOFaultUnsuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_IntlkTripAck", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_IntlkTripSuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_IntlkTripUnshelve", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_IntlkTripUnsuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_Lock", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_Normal", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_Oper", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_Prog", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_Reset", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_StartFwd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_StartRev", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_Stop", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_Unlock", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "PSet_OutDatalink", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "PSet_Owner", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "PSet_SpeedRef", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "valueSource": "memory", + "dataType": "String", + "name": "Prime Version", + "tagGroup": "OnlyWhenViewed", + "value": "1.0", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "SrcQ", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "SrcQ_IO", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Accel", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_ActualDir", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "historicalDeadbandStyle": "Discrete", + "alarms": [ + { + "setpointA": 1.0, + "name": "Alarm", + "priority": "High", + "ackMode": "Auto", + "displayPath": { + "bindType": "UDTParameter", + "value": "{PathToTag}" + } + } + ], + "tagGroup": "Process Variable", + "enabled": true, + "tagType": "AtomicTag", + "readOnly": false, + "dataType": "Boolean", + "historyProvider": "Historian", + "name": "Sts_Alarm", + "historyEnabled": true, + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + } + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "1\u003dAn Alarm is Shelved, Disabled or Suppressed: display icon", + "tooltip": "1\u003dAn Alarm is Shelved, Disabled or Suppressed: display icon", + "name": "Sts_AlmInh", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_AtSpeed", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Available", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_BypActive", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Bypass", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "valueSource": "expr", + "expression": "switch({[.]Val_Cmd},\n0,1,2,3,4,5, \n0, //0 Device Command 0\u003dNone, 1\u003dStop, 2\u003dStartFwd 3\u003dStartRev 4\u003dJogFwd 5\u003dJogRev\n0, //1\n1, //2\n1, //3\n1, //4\n1, //5\n0)\n", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "historicalDeadbandStyle": "Discrete", + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag", + "readOnly": false, + "dataType": "Boolean", + "historyProvider": "SweetWater", + "name": "Sts_Cmd", + "executionMode": "TagGroupRate", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + } + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_CommandDir", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Decel", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_DriveFault", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_DriveFaultDisabled", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_DriveFaultShelved", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_DriveFaultSuppressed", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Err", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Ext", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_ExtReqInh", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_FailToStart", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_FailToStartDisabled", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_FailToStartShelved", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_FailToStartSuppressed", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_FailToStop", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_FailToStopDisabled", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_FailToStopShelved", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_FailToStopSuppressed", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Hand", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Horn", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_IOFault", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_IOFaultDisabled", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_IOFaultShelved", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_IOFaultSuppressed", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_IntlkTrip", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_IntlkTripDisabled", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_IntlkTripShelved", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_IntlkTripSuppressed", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_JoggingFwd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_JoggingRev", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_MAcqRcvd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Maint", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_MaintByp", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Normal", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "1\u003dAn Alarm is Shelved, Disabled or Suppressed: display icon", + "tooltip": "1\u003dAn Alarm is Shelved, Disabled or Suppressed: display icon", + "name": "Sts_NotRdy", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_NotReady", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_OoS", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Oper", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_OperLocked", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Ovrd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Prog", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_ProgLocked", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_ProgReqInh", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_RdyAck", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_RdyReset", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "historyProvider": "Historian", + "name": "Sts_RunningFwd", + "historyEnabled": true, + "tagGroup": "Process Variable", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_RunningRev", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_SpeedLimited", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_StartingFwd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_StartingRev", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Stopped", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_StoppingFwd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_StoppingRev", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Device Command 0\u003dNone, 1\u003dStop, 2\u003dStartFwd 3\u003dStartRev 4\u003dJogFwd 5\u003dJogRev\n", + "tooltip": "Device Command 0\u003dNone, 1\u003dStop, 2\u003dStartFwd 3\u003dStartRev 4\u003dJogFwd 5\u003dJogRev ", + "name": "Val_Cmd", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "valueSource": "expr", + "expression": "switch({[.]Val_Cmd},\n0,1,2,3,4,5,\n\n\"No Cmd\", //0\n\"Stop\", //1\n\"Start Forward\", //2\n\"Start Reverse\", //3\n\"Jog F\",//4\n\"Jog R\",//5\n\nforceQuality(\"!BAD STATE!\",0)) //other", + "readOnly": false, + "dataType": "String", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Val_Cmd Text", + "executionMode": "TagGroupRate", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Val_Fault", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "Val_FaultDesc", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Val_Fdbk", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Val_InpDatalink", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Float8", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Val_LastFaultCode", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Val_Notify", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Val_NotifyAll", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Val_OutDatalink", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Val_Owner", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "historicalDeadband": 0.2, + "dataType": "Float4", + "historyProvider": "Historian", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Val_SpeedFdbk", + "historyEnabled": true, + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "Process Variable", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Val_SpeedFdbkEUMax", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Val_SpeedFdbkEUMin", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "historicalDeadband": 0.2, + "dataType": "Float4", + "historyProvider": "Historian", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Val_SpeedRef", + "historyEnabled": true, + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "Process Variable", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Val_SpeedRefEUMax", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Val_SpeedRefEUMin", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Val_Sts", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "valueSource": "expr", + "expression": "switch({[.]Val_Sts},\n1,2,3,4,5,6,7,8,33,\n\"Stop\", //1\n\"Run Forward\", //2\n\"Run Reverse\", //3\n\"Jog F\",//4\n\"Jog R\",//5\n\"Stopping\", //6\n\"Starting F\", //7\n\"Starting R\", //8\n\"Disabled\", //33\nforceQuality(\"!BAD STATE!\",0)) //other", + "readOnly": false, + "dataType": "String", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Val_Sts Text", + "executionMode": "TagGroupRate", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Val_UnackAlmC", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "valueSource": "memory", + "dataType": "String", + "name": "Version", + "value": "4.10.05", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "XCmd_Acq", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "XCmd_JogFwd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "XCmd_JogRev", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "XCmd_Rel", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "XCmd_Reset", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "XCmd_StartFwd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "XCmd_StartRev", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "XCmd_Stop", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "XSet_OutDatalink", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "XSet_SpeedRef", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + } + ] + }, + { + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "P_Mode", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{BlockName}" + } + }, + "HistoryProvider": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{HistoryProvider}" + } + }, + "OPC Server": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPC Server}" + } + }, + "PLCName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{PLCName}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPCPrefix}" + } + } + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "UdtType", + "tags": [ + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "historyProvider": "SwiftWater", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Program Command to Lock Mode in Prog\n", + "tooltip": "Program Command to Lock Mode in Prog ", + "name": "PCmd_Lock", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "historyProvider": "SwiftWater", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Program Command to Unlock Mode\n", + "tooltip": "Program Command to Unlock Mode ", + "name": "PCmd_Unlock", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "valueSource": "memory", + "dataType": "String", + "name": "Prime Version", + "value": "1.0", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "valueSource": "memory", + "dataType": "String", + "name": "Version", + "tagGroup": "OnlyWhenViewed", + "value": "4.10.05", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "historyProvider": "SwiftWater", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Maintenance command to acquire ownership (Operator/Program/Override to Maintenance).", + "tooltip": "Maintenance command to acquire ownership (Operator/Program/Override to Maintenance).", + "name": "XCmd_Acq", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "historyProvider": "SwiftWater", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Maintenance command to release ownership (Maint to Operator/Program/Override).", + "tooltip": "Maintenance command to release ownership (Maint to Operator/Program/Override).", + "name": "XCmd_Rel", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + } + ] + }, + { + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "P_Perm", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{InstanceName}" + } + }, + "HistoryProvider": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{HistoryProvider}" + } + }, + "OPC Server": { + "dataType": "String", + "value": "FactoryTalkLinxGateway" + }, + "PLCName": { + "dataType": "String", + "value": "" + }, + "OPCPrefix": { + "dataType": "String", + "value": "nsu\u003dhttp://www.rockwellautomation.com/OpcUa;s\u003d" + } + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "UdtType", + "tags": [ + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "Cfg_Area", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int2", + "name": "Cfg_Bypassable", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "name": "Cfg_CondTxt", + "typeId": "Plant PAX/SupportDataTypes/Cfg_CondTxt", + "parameters": { + "OPC Server": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPC Server}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPCPrefix}" + } + } + }, + "tagType": "UdtInstance" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "Cfg_Desc", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasMoreObj", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int2", + "name": "Cfg_HasNav", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "Cfg_Label", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int2", + "name": "Cfg_OKState", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "Cfg_Tag", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "EnableIn", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "EnableOut", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "HMI_Lib", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int1", + "name": "HMI_Tab", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "HMI_Type", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_BypActive", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_Perm00", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_Perm01", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_Perm02", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_Perm03", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_Perm04", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_Perm05", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_Perm06", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_Perm07", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_Perm08", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_Perm09", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_Perm10", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_Perm11", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_Perm12", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_Perm13", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_Perm14", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_Perm15", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int2", + "name": "MSet_Bypass", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "P_Perm", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "valueSource": "memory", + "dataType": "String", + "name": "Prime Version", + "tagGroup": "OnlyWhenViewed", + "value": "1.0", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_BypActive", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_NBPermOK", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int2", + "name": "Sts_Perm", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_PermOK", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "valueSource": "memory", + "dataType": "String", + "name": "Version", + "tagGroup": "OnlyWhenViewed", + "value": "4.10.05", + "tagType": "AtomicTag" + } + ] + }, + { + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "P_Gate", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{BlockName}" + } + }, + "HistoryProvider": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{HistoryProvider}" + } + }, + "OPC Server": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPC Server}" + } + }, + "PLCName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{PLCName}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPCPrefix}" + } + } + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "UdtType", + "tags": [ + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "Cfg_GateCond", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_GateDly", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "Cfg_InpCond", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_OffDly", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_OnDly", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "EnableIn", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "EnableOut", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Err_Timer", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_Gate", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Out", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "P_Gate", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "valueSource": "memory", + "dataType": "String", + "name": "Prime Version", + "tagGroup": "OnlyWhenViewed", + "value": "1.0", + "tagType": "AtomicTag" + }, + { + "rawHigh": 4.0, + "valueSource": "memory", + "scaledLow": 1.0, + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "clampMode": "Clamp_Both", + "enabled": true, + "tagType": "AtomicTag", + "scaledHigh": 4.0, + "scaleMode": "Linear", + "readOnly": false, + "dataType": "Int4", + "name": "Severity", + "rawLow": 1.0, + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "value": 1 + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Err", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Gate", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "valueSource": "memory", + "dataType": "String", + "name": "Version", + "tagGroup": "OnlyWhenViewed", + "value": "4.10.05", + "tagType": "AtomicTag" + } + ] + }, + { + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "P_Alarm", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{BlockName}" + } + }, + "HistoryProvider": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{HistoryProvider}" + } + }, + "OPC Server": { + "dataType": "String", + "value": "FactoryTalkLinxGateway" + }, + "PLCName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{PLCName}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": "nsu\u003dhttp://www.rockwellautomation.com/OpcUa;s\u003d" + } + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "UdtType", + "tags": [ + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.Ack" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Ack", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.Alm" + }, + "historyProvider": { + "bindType": "parameter", + "binding": "{HistoryProvider}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "historicalDeadband": 1.0, + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "historicalDeadbandStyle": "Discrete", + "alarms": [ + { + "setpointA": 1.0, + "activePipeline": "All Sites", + "name": "Alarm", + "displayPath": { + "bindType": "UDTParameter", + "value": "{PathToTag}" + }, + "priority": { + "bindType": "Tag", + "value": "[.]Severity" + } + } + ], + "tagGroup": "Process Variable", + "enabled": true, + "tagType": "AtomicTag", + "readOnly": false, + "dataType": "Boolean", + "name": "Alarm", + "historyEnabled": true, + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + } + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Alm", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.Cfg_AckReqd" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_AckReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.Cfg_AllowDisable" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_AllowDisable", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.Cfg_AllowShelve" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_AllowShelve", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.Cfg_AlmMinOnT" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_AlmMinOnT", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.Cfg_Cond" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "Cfg_Cond", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.Cfg_Exists" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_Exists", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.Cfg_Has{InstanceName}Alm" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Cfg_Has_Alarm", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.Cfg_MaxShelfT" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_MaxShelfT", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.Cfg_ResetReqd" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_ResetReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.Cfg_Severity" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_Severity", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.Cfg_Tag" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "Cfg_Tag", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int2", + "name": "Com_AE", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Disabled", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "EnableIn", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "EnableOut", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Err_Severity", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Err_Timer", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "HMI_Lib", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int1", + "name": "HMI_Tab", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "HMI_Type", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "documentation": "Alarm Condition Input 1\u003dAlarm", + "name": "Inp", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_OoS", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_Reset", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MCmd_Disable", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MCmd_Enable", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MCmd_Test", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MRdy_Disable", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MRdy_Enable", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MRdy_Test", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "OCmd_Ack", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "OCmd_Reset", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "OCmd_Shelve", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "OCmd_Unshelve", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_Ack", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_Reset", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_Shelve", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_Unshelve", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCfg_AllowExist", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "documentation": "Program Command to Acknowledge alarm", + "name": "PCmd_Ack", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_Reset", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_Suppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_Unshelve", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_Unsuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "valueSource": "memory", + "dataType": "String", + "name": "Prime Version", + "tagGroup": "OnlyWhenViewed", + "value": "1.0", + "tagType": "AtomicTag" + }, + { + "rawHigh": 4.0, + "valueSource": "expr", + "scaledLow": 1.0, + "expression": "if ({[.]Cfg_Severity}\u003e\u003d751, 4, \r\n\tif({[.]Cfg_Severity}\u003e\u003d501, 3,\r\n\t\tif({[.]Cfg_Severity}\u003e\u003d251, 2,\r\n\t\t\tif({[.]Cfg_Severity}\u003e\u003d1, 1, 4\r\n\t))))", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "clampMode": "Clamp_Both", + "enabled": true, + "tagType": "AtomicTag", + "scaledHigh": 4.0, + "scaleMode": "Linear", + "readOnly": false, + "dataType": "Int4", + "name": "Severity", + "rawLow": 1.0, + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "value": 1 + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Shelved", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_AlmInh", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Err", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_RdyAck", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_RdyReset", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Suppressed", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Val_MinToUnshelve", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Val_Notify", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Val_SecToUnshelve", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "valueSource": "memory", + "dataType": "String", + "name": "Version", + "tagGroup": "OnlyWhenViewed", + "value": "4.10.05", + "tagType": "AtomicTag" + } + ] + }, + { + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "P_DIn", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{InstanceName}" + } + }, + "HistoryProvider": { + "dataType": "String", + "value": "Historian" + }, + "OPC Server": { + "dataType": "String", + "value": "FactoryTalkLinxGateway" + }, + "PLCName": { + "dataType": "String", + "value": "" + }, + "OPCPrefix": { + "dataType": "String", + "value": "nsu\u003dhttp://www.rockwellautomation.com/OpcUa;s\u003d" + } + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "UdtType", + "tags": [ + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Ack_IOFault", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Ack_TgtDisagree", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "valueSource": "memory", + "readOnly": false, + "dataType": "String", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "AlarmGroup", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "value": "Unassigned", + "tagGroup": "Default", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Alm_IOFault", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Alm_TgtDisagree", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "String", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Text to display in PV\u003d0 State", + "tooltip": "Text to display in PV\u003d0 State", + "name": "Cfg_0StText", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "String", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Text to display in PV\u003d1 State", + "tooltip": "Text to display in PV\u003d1 State", + "name": "Cfg_1StText", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "Cfg_Area", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Float4", + "historyProvider": "SwiftWater", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Minimum time Input Sts must maintain state (sec)", + "tooltip": "Minimum time Input Sts must maintain state (sec)", + "name": "Cfg_Debounce", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "String", + "historyProvider": "SwiftWater", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Description for display on HMI", + "tooltip": "Description for display on HMI", + "name": "Cfg_Desc", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_GateDly", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasIOFaultAlm", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasMoreObj", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasTgtDisagreeAlm", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_IOFaultAckReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_IOFaultResetReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_IOFaultSeverity", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "String", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Label for graphic symbol displayed on HMI", + "tooltip": "Label for graphic symbol displayed on HMI ", + "name": "Cfg_Label", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_NoSubstPV", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_NormTextVis", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "String", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Tagname for display on HMI", + "tooltip": "Tagname for display on HMI ", + "name": "Cfg_Tag", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "historyProvider": "SwiftWater", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "1\u003dTarget Disagree Alarm must be acknowledged", + "tooltip": "1\u003dTarget Disagree Alarm must be acknowledged", + "name": "Cfg_TgtDisagreeAckReqd", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Int4", + "historyProvider": "SwiftWater", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Minimum time for Input to agree with Target to clear Status (sec)", + "tooltip": "Minimum time for Input to agree with Target to clear Status (sec)", + "name": "Cfg_TgtDisagreeOffDly", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Int4", + "historyProvider": "SwiftWater", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Minimum time for Input to disagree with Target to raise Status (sec)", + "tooltip": "Minimum time for Input to disagree with Target to raise Status (sec)", + "name": "Cfg_TgtDisagreeOnDly", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_TgtDisagreeResetReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_TgtDisagreeSeverity", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "EnableIn", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "EnableOut", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Err_Alarm", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Err_Timer", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "valueSource": "memory", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "FieldVerified", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "value": false, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "HMI_Lib", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int1", + "name": "HMI_Tab", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "HMI_Type", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "IOFault", + "typeId": "Plant PAX/P_Alarm", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{BlockName}" + } + }, + "OPC Server": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPC Server}" + } + }, + "PLCName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{PLCName}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPCPrefix}" + } + } + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "UdtInstance" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_Gate", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_IOFault", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Input Signal (process variable) from Sensor", + "tooltip": "Input Signal (process variable) from Sensor", + "name": "Inp_PV", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Inp_PVNotify", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "1\u003dReset all Alarms requiring reset", + "tooltip": "1\u003dReset all Alarms requiring reset ", + "name": "Inp_Reset", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_Sim", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Target State of Input (Disagree Status if not in Target State)", + "tooltip": "Target State of Input (Disagree Status if not in Target State)", + "name": "Inp_Target", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Maintenance Command to use Input PV (normal)", + "tooltip": "Maintenance Command to use Input PV (normal)", + "name": "MCmd_InpPV", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Maintenance Command to use Substitute PV (override input)", + "tooltip": "Maintenance Command to use Substitute PV (override input)", + "name": "MCmd_SubstPV", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MRdy_InpPV", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MRdy_SubstPV", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Maintenance-Entered Substitute PV", + "tooltip": "Maintenance-Entered Substitute PV", + "name": "MSet_SubstPV", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "OCmd_Reset", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Operator Command to Reset and Acknowledge all Alarms", + "tooltip": "Operator Command to Reset and Acknowledge all Alarms", + "name": "OCmd_ResetAckAll", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_Reset", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_ResetAckAll", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "valueSource": "memory", + "dataType": "String", + "name": "Prime Version", + "tagGroup": "OnlyWhenViewed", + "value": "1.0", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "1\u003dDevice has a Maintenance Bypass function active", + "tooltip": "1\u003dDevice has a Maintenance Bypass function active", + "name": "Set_SimPV", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "1\u003dAn Alarm is Shelved, Disabled or Suppressed: display icon", + "tooltip": "1\u003dAn Alarm is Shelved, Disabled or Suppressed: display icon", + "name": "SrcQ", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "1\u003dAn Alarm is Shelved, Disabled or Suppressed: display icon", + "tooltip": "1\u003dAn Alarm is Shelved, Disabled or Suppressed: display icon", + "name": "SrcQ_IO", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "historyProvider": { + "bindType": "parameter", + "binding": "{HistoryProvider}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "historicalDeadband": 0.1, + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "historicalDeadbandStyle": "Discrete", + "documentation": "Discrete Input Status (incl. Debounce, Manual Override, if used)", + "tooltip": "Discrete Input Status (incl. Debounce, Manual Override, if used)", + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag", + "readOnly": false, + "dataType": "Boolean", + "name": "Sts", + "historyEnabled": true, + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + } + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "1\u003dAn Alarm is Shelved, Disabled or Suppressed: display icon", + "tooltip": "1\u003dAn Alarm is Shelved, Disabled or Suppressed: display icon", + "name": "Sts_AlmInh", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "1\u003dDevice has a Maintenance Bypass function active", + "tooltip": "1\u003dDevice has a Maintenance Bypass function active", + "name": "Sts_MaintByp", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "1\u003dAn Alarm is Shelved, Disabled or Suppressed: display icon", + "tooltip": "1\u003dAn Alarm is Shelved, Disabled or Suppressed: display icon", + "name": "Sts_PV", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Sts_RdyReset", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "1\u003dDevice has a Maintenance Bypass function active", + "tooltip": "1\u003dDevice has a Maintenance Bypass function active", + "name": "Sts_SubstPV", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Sts_TgtDisagree", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "TgtDisagree", + "typeId": "Plant PAX/P_Alarm", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{BlockName}" + } + }, + "OPC Server": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPC Server}" + } + }, + "PLCName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{PLCName}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPCPrefix}" + } + } + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "UdtInstance" + }, + { + "name": "TgtDisagreeGate", + "typeId": "Plant PAX/P_Gate", + "parameters": { + "OPC Server": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPC Server}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPCPrefix}" + } + } + }, + "tagType": "UdtInstance" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "1\u003dAn Alarm is Shelved, Disabled or Suppressed: display icon", + "tooltip": "1\u003dAn Alarm is Shelved, Disabled or Suppressed: display icon", + "name": "Val_NotifyAll", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "historyProvider": { + "bindType": "parameter", + "binding": "{HistoryProvider}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "historicalDeadband": 1.0, + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "historicalDeadbandStyle": "Discrete", + "documentation": "Device Confirmed Sts 0\u003dPV Good, 6\u003dPV Bad, 7\u003dSubstitute PV", + "tooltip": "Device Confirmed Sts 0\u003dPV Good, 6\u003dPV Bad, 7\u003dSubstitute PV", + "tagGroup": "Process Variable", + "enabled": true, + "tagType": "AtomicTag", + "readOnly": false, + "dataType": "Int4", + "name": "Val_Sts", + "historyEnabled": true, + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + } + }, + { + "valueSource": "expr", + "expression": "switch({[.]Val_Sts},\n0,6,7,\n\"PV Good\", //0\n\"PV Bad\", //6\n\"Substitute PV\", //7\nforceQuality(\"!BAD STATE!\",0)) //other\n\n//Device Confirmed Sts 0\u003dPV Good, 6\u003dPV Bad, 7\u003dSubstitute PV\n", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Device Confirmed Sts 0\u003dPV Good, 6\u003dPV Bad, 7\u003dSubstitute PV", + "tooltip": "Device Confirmed Sts 0\u003dPV Good, 6\u003dPV Bad, 7\u003dSubstitute PV", + "tagGroup": "Default", + "enabled": true, + "tagType": "AtomicTag", + "readOnly": false, + "dataType": "String", + "name": "Val_Sts Text", + "executionMode": "TagGroupRate", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + } + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "1\u003dAn Alarm is Shelved, Disabled or Suppressed: display icon", + "tooltip": "1\u003dAn Alarm is Shelved, Disabled or Suppressed: display icon", + "name": "Val_UnackAlmC", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "valueSource": "memory", + "dataType": "String", + "name": "Version", + "tagGroup": "OnlyWhenViewed", + "value": "4.10.05", + "tagType": "AtomicTag" + } + ] + }, + { + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "P_Motor", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{InstanceName}" + } + }, + "HistoryProvider": { + "dataType": "String", + "value": "Historian" + }, + "OPC Server": { + "dataType": "String", + "value": "FactoryTalkLinxGateway" + }, + "PLCName": { + "dataType": "String", + "value": "" + }, + "OPCPrefix": { + "dataType": "String", + "value": "nsu\u003dhttp://www.rockwellautomation.com/OpcUa;s\u003d" + } + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "UdtType", + "tags": [ + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Ack_FailToStart", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Ack_FailToStop", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Ack_IOFault", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Ack_IntlkTrip", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Alm_FailToStart", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Alm_FailToStop", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Alm_IOFault", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Alm_IntlkTrip", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "1\u003dAllow Local Start/Stop without alarm, 0\u003dStart/Stop from HMI/prog only\n", + "tooltip": "1\u003dAllow Local Start/Stop without alarm, 0\u003dStart/Stop from HMI/prog only ", + "name": "Cfg_AllowLocal", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "Cfg_Area", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "String", + "historyProvider": "SwiftWater", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Description for display on HMI", + "tooltip": "Description for display on HMI", + "name": "Cfg_Desc", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_ExtStopPrio", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_FailToStartAckReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_FailToStartResetReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_FailToStartSeverity", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Time after Start to get Run Feedback before Fault (sec)", + "tooltip": "Time after Start to get Run Feedback before Fault (sec) ", + "name": "Cfg_FailToStartT", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_FailToStopAckReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_FailToStopResetReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_FailToStopSeverity", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Time after Stop to get Run Feedback before Fault (sec)", + "tooltip": "Time after Stop to get Run Feedback before Fault (sec) ", + "name": "Cfg_FailToStopT", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasFailToStartAlm", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasFailToStopAlm", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasIOFaultAlm", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "1\u003dTells HMI a P_Intlk is connected to Inp_Intlk", + "tooltip": "1\u003dTells HMI a P_Intlk is connected to Inp_Intlk", + "name": "Cfg_HasIntlkObj", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasIntlkTripAlm", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasJog", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasMoreObj", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasOvldObj", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasPermObj", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasResInhObj", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "1\u003dDrive provides feedback signal on Inp_Running when running", + "tooltip": "1\u003dDrive provides feedback signal on Inp_Running when running ", + "name": "Cfg_HasRunFdbk", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasRunTimeObj", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_IOFaultAckReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_IOFaultResetReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_IOFaultSeverity", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_IntlkTripAckReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_IntlkTripResetReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_IntlkTripSeverity", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "String", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Label for graphic symbol displayed on HMI", + "tooltip": "Label for graphic symbol displayed on HMI ", + "name": "Cfg_Label", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_MaxJogT", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_OCmdResets", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Enabled\u003dOCmd_Stop has priority, accepted any time, Disabled\u003dOCmd_Stop only in Oper, Maint Mode.\n", + "tooltip": "1\u003dOCmd_Stop has priority, accepted any time, 0\u003dOCmd_Stop only in Oper, Maint Mode. ", + "name": "Cfg_OperStopPrio", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_OvrdPermIntlk", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_ShedOnFailToStart", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_ShedOnIOFault", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_SimFdbkT", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_StartHornT", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "String", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Tagname for display on HMI", + "tooltip": "Tagname for display on HMI ", + "name": "Cfg_Tag", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "1\u003dMotor run feedback should be used for failure checking", + "tooltip": "1\u003dMotor run feedback should be used for failure checking ", + "name": "Cfg_UseRunFdbk", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_XCmdResets", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "name": "CmdSrc", + "typeId": "Plant PAX/P_CmdSrc", + "parameters": { + "OPC Server": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPC Server}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPCPrefix}" + } + } + }, + "tagType": "UdtInstance" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "EnableIn", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "EnableOut", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Err_Alarm", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Err_Sim", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Err_Timer", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "FailToStart", + "typeId": "Plant PAX/P_Alarm", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{BlockName}" + } + }, + "OPC Server": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPC Server}" + } + }, + "PLCName": { + "dataType": "Integer", + "value": { + "bindType": "parameter", + "binding": "{PLCName}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPCPrefix}" + } + } + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "UdtInstance" + }, + { + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "FailToStop", + "typeId": "Plant PAX/P_Alarm", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{BlockName}" + } + }, + "OPC Server": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPC Server}" + } + }, + "PLCName": { + "dataType": "Integer", + "value": { + "bindType": "parameter", + "binding": "{PLCName}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPCPrefix}" + } + } + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "UdtInstance" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "HMI_Lib", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int1", + "name": "HMI_Tab", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "HMI_Type", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "IOFault", + "typeId": "Plant PAX/P_Alarm", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{BlockName}" + } + }, + "OPC Server": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPC Server}" + } + }, + "PLCName": { + "dataType": "Integer", + "value": { + "bindType": "parameter", + "binding": "{PLCName}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPCPrefix}" + } + } + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "UdtInstance" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_ExtInh", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_Hand", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_HornInh", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_IOFault", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_IntlkAvail", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_IntlkOK", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_NBIntlkOK", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_NBPermOK", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Inp_OvldNotify", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_Ovrd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Inp_OvrdCmd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_PermOK", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_Reset", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "", + "tooltip": "", + "name": "Inp_RunFdbk", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_Sim", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "IntlkTrip", + "typeId": "Plant PAX/P_Alarm", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{BlockName}" + } + }, + "OPC Server": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPC Server}" + } + }, + "PLCName": { + "dataType": "Integer", + "value": { + "bindType": "parameter", + "binding": "{PLCName}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPCPrefix}" + } + } + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "UdtInstance" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MCmd_Bypass", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MCmd_Check", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MCmd_Rel", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MRdy_Bypass", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MRdy_Check", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MRdy_Rel", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Nrdy_CfgErr", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Nrdy_Fail", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "1\u003dDevice Not Ready: I/O Fault (Shed Requires Reset)", + "tooltip": "1\u003dDevice Not Ready: I/O Fault (Shed Requires Reset) ", + "name": "Nrdy_IOFault", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Nrdy_Intlk", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Nrdy_OoS", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Nrdy_Perm", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Nrdy_PrioStop", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "OCmd_Jog", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Operator Command to Reset all Alarms requiring Reset", + "tooltip": "Operator Command to Reset all Alarms requiring Reset ", + "name": "OCmd_Reset", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Operator Command to Reset and Acknowledge all Alarms\n", + "tooltip": "Operator Command to Reset and Acknowledge all Alarms ", + "name": "OCmd_ResetAckAll", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Operator Command to Acquire (Prog to Oper) / Lock Ownership", + "tooltip": "Operator Command to Acquire (Prog to Oper) / Lock Ownership ", + "name": "OCmd_Start", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Operator Command to Acquire (Prog to Oper) / Lock Ownership", + "tooltip": "Operator Command to Acquire (Prog to Oper) / Lock Ownership ", + "name": "OCmd_Stop", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "OCmd_Unlock", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_Jog", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_Reset", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_ResetAckAll", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_Start", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_Stop", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_Unlock", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Out_Horn", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "", + "tooltip": "", + "name": "Out_Run", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Out_Start", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Out_Stop", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_FailToStartAck", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_FailToStartSuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_FailToStartUnshelve", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_FailToStartUnsuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_FailToStopAck", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_FailToStopSuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_FailToStopUnshelve", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_FailToStopUnsuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_IOFaultAck", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_IOFaultSuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_IOFaultUnshelve", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_IOFaultUnsuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_IntlkTripAck", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_IntlkTripSuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_IntlkTripUnshelve", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_IntlkTripUnsuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "historyProvider": "SwiftWater", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Program Command to Lock Mode in Prog\n", + "tooltip": "Program Command to Lock Mode in Prog ", + "name": "PCmd_Lock", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_Normal", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "historyProvider": "SwiftWater", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "", + "tooltip": "", + "name": "PCmd_Oper", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "historyProvider": "SwiftWater", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "", + "tooltip": "", + "name": "PCmd_Prog", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "historyProvider": "SwiftWater", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "", + "tooltip": "", + "name": "PCmd_Reset", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "historyProvider": "SwiftWater", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "", + "tooltip": "", + "name": "PCmd_Start", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "historyProvider": "SwiftWater", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "", + "tooltip": "", + "name": "PCmd_Stop", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "historyProvider": "SwiftWater", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Program Command to Unlock Mode\n", + "tooltip": "Program Command to Unlock Mode ", + "name": "PCmd_Unlock", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "PSet_Owner", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "valueSource": "memory", + "dataType": "String", + "name": "Prime Version", + "value": "1.0", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "SrcQ", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "SrcQ_IO", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "1\u003dAn Alarm is Shelved, Disabled or Suppressed: display icon", + "tooltip": "1\u003dAn Alarm is Shelved, Disabled or Suppressed: display icon", + "name": "Sts_AlmInh", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Available", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "1\u003dBypassing Active (Bypassed or Maintenance)", + "tooltip": "1\u003dBypassing Active (Bypassed or Maintenance) ", + "name": "Sts_BypActive", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "1\u003dBypassable Interlocks and Permissives are Bypassed", + "tooltip": "1\u003dBypassable Interlocks and Permissives are Bypassed ", + "name": "Sts_Bypass", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "valueSource": "expr", + "expression": "switch({[.]Val_Cmd},\n0,1,2,3,4,5, \n0, //0 Device Command 0\u003dNone, 1\u003dStop, 2\u003dStartFwd 3\u003dStartRev 4\u003dJogFwd 5\u003dJogRev\n0, //1\n1, //2\n1, //3\n1, //4\n1, //5\n0)\n", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "historicalDeadbandStyle": "Discrete", + "documentation": "Evaluates if any command to run is being given or not. ", + "tooltip": "Evaluates if any command to run is being given or not. ", + "tagGroup": "Default", + "enabled": true, + "tagType": "AtomicTag", + "readOnly": false, + "dataType": "Boolean", + "historyProvider": "SweetWater", + "name": "Sts_Cmd", + "executionMode": "TagGroupRate", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + } + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Err", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Ext", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_ExtReqInh", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_FailToStart", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_FailToStartDisabled", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_FailToStartShelved", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_FailToStartSuppressed", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_FailToStop", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_FailToStopDisabled", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_FailToStopShelved", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_FailToStopSuppressed", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Hand", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Horn", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_IOFault", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_IOFaultDisabled", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_IOFaultShelved", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_IOFaultSuppressed", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "valueSource": "expr", + "expression": "switch({[.]Val_Cmd},\n0,1,2,3,4,5, \n0, //0 Device Command 0\u003dNone, 1\u003dStop, 2\u003dStartFwd 3\u003dStartRev 4\u003dJogFwd 5\u003dJogRev\n0, //1\n1, //2\n1, //3\n1, //4\n1, //5\n0)\n", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "historicalDeadbandStyle": "Discrete", + "documentation": "", + "tooltip": "", + "tagGroup": "Default", + "enabled": true, + "tagType": "AtomicTag", + "readOnly": false, + "dataType": "Boolean", + "historyProvider": "SweetWater", + "name": "Sts_IntlkTrip", + "executionMode": "TagGroupRate", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + } + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_IntlkTripDisabled", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_IntlkTripShelved", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_IntlkTripSuppressed", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Jogging", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_MAcqRcvd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Maint", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_MaintByp", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Normal", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "1\u003dAn Alarm is Shelved, Disabled or Suppressed: display icon", + "tooltip": "1\u003dAn Alarm is Shelved, Disabled or Suppressed: display icon", + "name": "Sts_NotRdy", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_OoS", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Oper", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_OperLocked", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Ovrd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Prog", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_ProgLocked", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_ProgReqInh", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_RdyAck", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_RdyReset", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "historyProvider": { + "bindType": "parameter", + "binding": "{HistoryProvider}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "historicalDeadband": 0.1, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "historicalDeadbandStyle": "Discrete", + "name": "Sts_Running", + "historyEnabled": true, + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "Process Variable", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "historicalDeadbandStyle": "Discrete", + "documentation": "1\u003dMotor requested to run and awaiting run feedback", + "tooltip": "1\u003dMotor requested to run and awaiting run feedback ", + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag", + "readOnly": false, + "dataType": "Boolean", + "historyProvider": "Database", + "name": "Sts_Starting", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + } + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Stopped", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Stopping", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Device Command 0\u003dNone, 1\u003dStop, 2\u003dStart\n", + "tooltip": "Device Command 0\u003dNone, 1\u003dStop, 2\u003dStart ", + "name": "Val_Cmd", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "valueSource": "expr", + "expression": "switch({[.]Val_Cmd},\n0,1,2,\n\"No Cmd\", //0\n\"Stop\", //1\n\"Start\", //2\n\nforceQuality(\"!BAD STATE!\",0)) //other\n//Device Command 0\u003dNone, 1\u003dStop, 2\u003dStart\n", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Device Command 0\u003dNone, 1\u003dStop, 2\u003dStart\n", + "tooltip": "Device Command 0\u003dNone, 1\u003dStop, 2\u003dStart ", + "tagGroup": "Default", + "enabled": true, + "tagType": "AtomicTag", + "readOnly": false, + "dataType": "String", + "name": "Val_Cmd Text", + "executionMode": "TagGroupRate", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + } + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Device Fault Status 0\u003dNone, 16\u003dFail to Start, 17 \u003d Fail to Stop, 32\u003dI/O Fault, 34\u003dConfig Error\n", + "tooltip": "Device Fault Status 0\u003dNone, 16\u003dFail to Start, 17 \u003d Fail to Stop, 32\u003dI/O Fault, 34\u003dConfig Error ", + "name": "Val_Fault", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "valueSource": "expr", + "expression": "switch({[.]Val_Fault},\n0,16,17,32,34,\n\"None\", //0\n\"Fail to Start\", //16\n\"Fail to Stop\", //17\n\"IO Fault\", //32\n\"Config Error\", //34\n\nforceQuality(\"!BAD STATE!\",0)) //other\n//Device Fault Status 0\u003dNone, 16\u003dFail to Start, 17 \u003d Fail to Stop, 32\u003dI/O Fault, 34\u003dConfig Error\n", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Device Fault Status 0\u003dNone, 16\u003dFail to Start, 17 \u003d Fail to Stop, 32\u003dI/O Fault, 34\u003dConfig Error", + "tooltip": "Device Fault Status 0\u003dNone, 16\u003dFail to Start, 17 \u003d Fail to Stop, 32\u003dI/O Fault, 34\u003dConfig Error ", + "tagGroup": "Default", + "enabled": true, + "tagType": "AtomicTag", + "readOnly": false, + "dataType": "String", + "name": "Val_Fault Text", + "executionMode": "TagGroupRate", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + } + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Device Confirmed Sts 0\u003d? 1\u003dStopped, 2\u003dRunning, 7\u003dStopping, 8\u003dStarting, 33\u003dDisabled", + "tooltip": "Device Confirmed Sts 0\u003d? 1\u003dStopped, 2\u003dRunning, 7\u003dStopping, 8\u003dStarting, 33\u003dDisabled ", + "name": "Val_Fdbk", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Device Confirmed Sts 0\u003d? 1\u003dStopped, 2\u003dRunning, 7\u003dStopping, 8\u003dStarting, 33\u003dDisabled", + "tooltip": "Device Confirmed Sts 0\u003d? 1\u003dStopped, 2\u003dRunning, 7\u003dStopping, 8\u003dStarting, 33\u003dDisabled ", + "name": "Val_NotifyAll", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Device Confirmed Sts 0\u003d? 1\u003dStopped, 2\u003dRunning, 7\u003dStopping, 8\u003dStarting, 33\u003dDisabled", + "tooltip": "Device Confirmed Sts 0\u003d? 1\u003dStopped, 2\u003dRunning, 7\u003dStopping, 8\u003dStarting, 33\u003dDisabled ", + "name": "Val_Sts", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "valueSource": "expr", + "expression": "switch({[.]Val_Sts},\n0,1,2,7,8,33,\n\"Unknown\", //0\n\"Stop\", //1\n\"Running\", //2\n\"Stopping\",//7\n\"Starting\",//8\n\"Disabled\", //33\nforceQuality(\"!BAD STATE!\",0)) //other\n\n//Device Confirmed Sts 0\u003d? 1\u003dStopped, 2\u003dRunning, 7\u003dStopping, 8\u003dStarting, 33\u003dDisabled\n", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Device Confirmed Sts 0\u003d? 1\u003dStopped, 2\u003dRunning, 7\u003dStopping, 8\u003dStarting, 33\u003dDisabled\n", + "tooltip": "Device Confirmed Sts 0\u003d? 1\u003dStopped, 2\u003dRunning, 7\u003dStopping, 8\u003dStarting, 33\u003dDisabled ", + "tagGroup": "Default", + "enabled": true, + "tagType": "AtomicTag", + "readOnly": false, + "dataType": "String", + "name": "Val_Sts Text", + "executionMode": "TagGroupRate", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + } + }, + { + "valueSource": "memory", + "readOnly": false, + "dataType": "String", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "2019/3/7 - added P_motor udt, faceplate, templates", + "tooltip": "Ignition PlantPax objects version tracking", + "name": "Version", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "value": "4.10.05", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "historyProvider": "SwiftWater", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Maintenance command to acquire ownership (Operator/Program/Override to Maintenance).", + "tooltip": "Maintenance command to acquire ownership (Operator/Program/Override to Maintenance).", + "name": "XCmd_Acq", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "historyProvider": "SwiftWater", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Maintenance command to release ownership (Maint to Operator/Program/Override).", + "tooltip": "Maintenance command to release ownership (Maint to Operator/Program/Override).", + "name": "XCmd_Rel", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + } + ] + }, + { + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "P_AIn", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{InstanceName}" + } + }, + "HistoryProvider": { + "dataType": "String", + "value": "Historian" + }, + "OPC Server": { + "dataType": "String", + "value": "FactoryTalkLinxGateway" + }, + "PLCName": { + "dataType": "String", + "value": "" + }, + "OPCPrefix": { + "dataType": "String", + "value": "nsu\u003dhttp://www.rockwellautomation.com/OpcUa;s\u003d" + } + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "UdtType", + "tags": [ + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "Cfg_Area", + "tooltip": "Process Area for security", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "String", + "historyProvider": "SwiftWater", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Description for display on HMI", + "tooltip": "Description for display on HMI", + "name": "Cfg_Desc", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "String", + "historyProvider": "SwiftWater", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Engineering Units for display on HMI", + "tooltip": "Engineering Units for display on HMI", + "name": "Cfg_EU", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_FailAckReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Float4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Out-of-Range (fail) High/Low Deadband (EU)", + "tooltip": "Out-of-Range (fail) High/Low Deadband (EU)", + "name": "Cfg_FailDB", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_FailGateDly", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Float4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Out-of-Range (fail) High Limit (EU)", + "tooltip": "Out-of-Range (fail) High Limit (EU)", + "name": "Cfg_FailHiLim", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Float4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Out-of-Range (fail) Low Limit (EU)", + "tooltip": "Out-of-Range (fail) Low Limit (EU)", + "name": "Cfg_FailLoLim", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_FailOffDly", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_FailOnDly", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_FailResetReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "documentation": "Failure Alarm Severity: 1..250\u003dLow, 251..500\u003dMedium, 501..750\u003dHigh, 751..1000\u003dUrgent", + "name": "Cfg_FailSeverity", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_FiltTC", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasChanObj", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasFailAlm", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasHiAlm", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasHiHiAlm", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasLoAlm", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasLoLoAlm", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasMoreObj", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HiAckReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Float4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Cfg_HiDB", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_HiGateDly", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HiHiAckReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Float4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Cfg_HiHiDB", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_HiHiGateDly", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Float4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Out-of-Range (fail) High Limit (EU)", + "tooltip": "Out-of-Range (fail) High Limit (EU)", + "name": "Cfg_HiHiLim", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_HiHiOffDly", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_HiHiOnDly", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HiHiResetReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_HiHiSeverity", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Float4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Out-of-Range (fail) High Limit (EU)", + "tooltip": "Out-of-Range (fail) High Limit (EU)", + "name": "Cfg_HiLim", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_HiOffDly", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_HiOnDly", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HiResetReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_HiSeverity", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Float4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Input (unscaled) Maximum for Scaling", + "tooltip": "Input (unscaled) Maximum for Scaling ", + "name": "Cfg_InpRawMax", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Float4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Input (unscaled) Minimum for Scaling", + "tooltip": "Input (unscaled) Minimum for Scaling ", + "name": "Cfg_InpRawMin", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "String", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Label for graphic symbol displayed on HMI", + "tooltip": "Label for graphic symbol displayed on HMI ", + "name": "Cfg_Label", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_LoAckReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Float4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Cfg_LoDB", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_LoGateDly", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Float4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Out-of-Range (fail) High Limit (EU)", + "tooltip": "Out-of-Range (fail) High Limit (EU)", + "name": "Cfg_LoLim", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_LoLoAckReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Float4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Cfg_LoLoDB", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_LoLoGateDly", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Float4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Out-of-Range (fail) High Limit (EU)", + "tooltip": "Out-of-Range (fail) High Limit (EU)", + "name": "Cfg_LoLoLim", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_LoLoOffDly", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_LoLoOnDly", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_LoLoResetReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_LoLoSeverity", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_LoOffDly", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_LoOnDly", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_LoResetReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_LoSeverity", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_NoSubstPV", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_PVDecPlcs", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Float4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "PV (Output) Maximum for Scaling to EU", + "tooltip": "PV (Output) Maximum for Scaling to EU ", + "name": "Cfg_PVEUMax", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "SourceDataType": "Float4", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Float4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "PV (Output) Minimum for Scaling to EU", + "tooltip": "PV (Output) Minimum for Scaling to EU ", + "name": "Cfg_PVEUMin", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "SourceDataType": "Float4", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "String", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Tagname for display on HMI", + "tooltip": "Tagname for display on HMI ", + "name": "Cfg_Tag", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_UseChanSrcQ", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "EnableIn", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "EnableOut", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Err_Alarm", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Err_EU", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Err_Filt", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Err_Raw", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Err_Timer", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Fail", + "typeId": "Plant PAX/P_Alarm", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{BlockName}" + } + }, + "HistoryProvider": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{HistoryProvider}" + } + }, + "OPC Server": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPC Server}" + } + }, + "PLCName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{PLCName}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPCPrefix}" + } + } + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "UdtInstance" + }, + { + "name": "FailGate", + "typeId": "Plant PAX/P_Gate", + "parameters": { + "HistoryProvider": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{HistoryProvider}" + } + }, + "OPC Server": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPC Server}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPCPrefix}" + } + } + }, + "tagType": "UdtInstance" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "HMI_Lib", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int1", + "name": "HMI_Tab", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "HMI_Type", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Hi", + "typeId": "Plant PAX/P_Alarm", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{BlockName}" + } + }, + "HistoryProvider": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{HistoryProvider}" + } + }, + "OPC Server": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPC Server}" + } + }, + "PLCName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{PLCName}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPCPrefix}" + } + } + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "UdtInstance" + }, + { + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "HiGate", + "typeId": "Plant PAX/P_Gate", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{BlockName}" + } + }, + "HistoryProvider": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{HistoryProvider}" + } + }, + "OPC Server": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPC Server}" + } + }, + "PLCName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{PLCName}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPCPrefix}" + } + } + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "UdtInstance" + }, + { + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "HiHi", + "typeId": "Plant PAX/P_Alarm", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{BlockName}" + } + }, + "HistoryProvider": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{HistoryProvider}" + } + }, + "OPC Server": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPC Server}" + } + }, + "PLCName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{PLCName}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPCPrefix}" + } + } + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "UdtInstance" + }, + { + "name": "HiHiGate", + "typeId": "Plant PAX/P_Gate", + "parameters": { + "HistoryProvider": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{HistoryProvider}" + } + }, + "OPC Server": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPC Server}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPCPrefix}" + } + } + }, + "tagType": "UdtInstance" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_FailGate", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_HiGate", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_HiHiGate", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_LoGate", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_LoLoGate", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": true, + "dataType": "Float4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Input Signal (process variable) from Sensor", + "tooltip": "Input Signal (process variable) from Sensor ", + "name": "Inp_PV", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_PVBad", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Inp_PVNotify", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Inp_PVSrcQ", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_PVUncertain", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "1\u003dReset all Alarms requiring reset", + "tooltip": "1\u003dReset all Alarms requiring reset ", + "name": "Inp_Reset", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_Sim", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Lo", + "typeId": "Plant PAX/P_Alarm", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{BlockName}" + } + }, + "HistoryProvider": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{HistoryProvider}" + } + }, + "OPC Server": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPC Server}" + } + }, + "PLCName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{PLCName}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPCPrefix}" + } + } + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "UdtInstance" + }, + { + "name": "LoGate", + "typeId": "Plant PAX/P_Gate", + "parameters": { + "HistoryProvider": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{HistoryProvider}" + } + }, + "OPC Server": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPC Server}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPCPrefix}" + } + } + }, + "tagType": "UdtInstance" + }, + { + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "LoLo", + "typeId": "Plant PAX/P_Alarm", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{BlockName}" + } + }, + "HistoryProvider": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{HistoryProvider}" + } + }, + "OPC Server": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPC Server}" + } + }, + "PLCName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{PLCName}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPCPrefix}" + } + } + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "UdtInstance" + }, + { + "name": "LoLoGate", + "typeId": "Plant PAX/P_Gate", + "parameters": { + "OPC Server": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPC Server}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPCPrefix}" + } + } + }, + "tagType": "UdtInstance" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Maintenance Command to use Input PV (normal)", + "tooltip": "Maintenance Command to use Input PV (normal)", + "name": "MCmd_InpPV", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Maintenance Command to use Substitute PV (override input)", + "tooltip": "Maintenance Command to use Substitute PV (override input) ", + "name": "MCmd_SubstPV", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MRdy_InpPV", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MRdy_SubstPV", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Float4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Maintenance-Entered Substitute PV (EU)", + "tooltip": "Maintenance-Entered Substitute PV (EU) ", + "name": "MSet_SubstPV", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Mode", + "typeId": "Plant PAX/P_Mode", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{BlockName}" + } + }, + "OPC Server": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPC Server}" + } + }, + "PLCName": { + "dataType": "Integer", + "value": { + "bindType": "parameter", + "binding": "{PLCName}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPCPrefix}" + } + } + }, + "tagGroup": "Default", + "enabled": false, + "tagType": "UdtInstance" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "OCmd_ClearCapt", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "OCmd_Reset", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Operator Command to Reset and Acknowledge all Alarms\n", + "tooltip": "Operator Command to Reset and Acknowledge all Alarms ", + "name": "OCmd_ResetAckAll", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_Reset", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_ResetAckAll", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_ClearCapt", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_FailAck", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_FailSuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_FailUnshelve", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_FailUnsuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_HiAck", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_HiHiAck", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_HiHiSuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_HiHiUnshelve", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_HiHiUnsuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_HiSuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_HiUnshelve", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_HiUnsuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_LoAck", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_LoLoAck", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_LoLoSuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_LoLoUnshelve", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_LoLoUnsuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_LoSuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_LoUnshelve", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_LoUnsuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "documentation": "Program Command to Reset all Alarms requiring Reset", + "name": "PCmd_Reset", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "P_AIn", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "valueSource": "memory", + "readOnly": false, + "dataType": "String", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "", + "tooltip": "", + "name": "Prime Version", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "value": "1.0", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Float4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "1\u003dUse simulated PV (Set_SimPV); 0\u003dUse Input (Inp_PV)", + "tooltip": "1\u003dUse simulated PV (Set_SimPV); 0\u003dUse Input (Inp_PV) ", + "name": "Set_SimPV", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "SrcQ", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "SrcQ_IO", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "1\u003dAn Alarm is Shelved, Disabled or Suppressed: display icon", + "tooltip": "1\u003dAn Alarm is Shelved, Disabled or Suppressed: display icon", + "name": "Sts_AlmInh", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Err", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": true, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "1\u003dUsing Substitute PV (Input being overridden)", + "tooltip": "1\u003dUsing Substitute PV (Input being overridden)", + "name": "Sts_Fail", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_FailCmp", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_FailDisabled", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_FailGate", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_FailShelved", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_FailSuppressed", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Hi", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_HiCmp", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_HiDisabled", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_HiGate", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_HiHi", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_HiHiCmp", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_HiHiDisabled", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_HiHiGate", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_HiHiShelved", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_HiHiSuppressed", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_HiShelved", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_HiSuppressed", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Lo", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_LoCmp", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_LoDisabled", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_LoGate", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_LoLo", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_LoLoCmp", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_LoLoDisabled", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_LoLoGate", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_LoLoShelved", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_LoLoSuppressed", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_LoShelved", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_LoSuppressed", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_MaintByp", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": true, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "", + "tooltip": "", + "name": "Sts_PVBad", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_PVUncertain", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_RdyAck", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "1\u003dReset all Alarms requiring reset", + "tooltip": "1\u003dReset all Alarms requiring reset ", + "name": "Sts_RdyReset", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": true, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "1\u003dUsing Substitute PV (Input being overridden)", + "tooltip": "1\u003dUsing Substitute PV (Input being overridden)", + "name": "Sts_SubstPV", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "historyProvider": { + "bindType": "parameter", + "binding": "{HistoryProvider}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "historicalDeadband": 0.1, + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Analog Value (after Substitute PV, if used)\n", + "tooltip": "Analog Value (after Substitute PV, if used) ", + "tagGroup": "Process Variable", + "enabled": true, + "tagType": "AtomicTag", + "readOnly": false, + "dataType": "Float4", + "name": "Val", + "historyEnabled": true, + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + } + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "historyProvider": { + "bindType": "parameter", + "binding": "{HistoryProvider}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "historicalDeadband": 0.1, + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Device Fault Status 0\u003dnone, 20\u003dLo, 21\u003dHi, 24\u003dLoLo, 25\u003dHiHi, 32\u003dFail, 34\u003dCfgErr", + "tooltip": "", + "tagGroup": "Process Variable", + "enabled": true, + "tagType": "AtomicTag", + "readOnly": false, + "dataType": "Int4", + "name": "Val_Fault", + "historyEnabled": true, + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + } + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Val_InpPV", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Val_Notify", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Val_NotifyAll", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Val_PVEUMax", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Val_PVEUMin", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Val_PVMaxCapt", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Val_PVMinCapt", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Val_UnackAlmC", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "valueSource": "memory", + "readOnly": false, + "dataType": "String", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "", + "tooltip": "", + "name": "Version", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "value": "4.10.05", + "enabled": true, + "tagType": "AtomicTag" + } + ] + }, + { + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "P_Intlk", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{InstanceName}" + } + }, + "HistoryProvider": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{HistoryProvider}" + } + }, + "OPC Server": { + "dataType": "String", + "value": "FactoryTalkLinxGateway" + }, + "PLCName": { + "dataType": "String", + "value": "" + }, + "OPCPrefix": { + "dataType": "String", + "value": "nsu\u003dhttp://www.rockwellautomation.com/OpcUa;s\u003d" + } + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "UdtType", + "tags": [ + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "Cfg_Area", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Cfg_Bypassable", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "SourceDataType": "Int4", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "name": "Cfg_CondTxt", + "typeId": "Plant PAX/SupportDataTypes/Cfg_CondTxt", + "parameters": { + "OPC Server": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPC Server}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPCPrefix}" + } + } + }, + "tagType": "UdtInstance" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "String", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Cfg_Desc", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Cfg_HasNav", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "SourceDataType": "Int4", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "String", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Cfg_Label", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Cfg_Latched", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "SourceDataType": "Int4", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "name": "Cfg_NavTag", + "typeId": "Plant PAX/SupportDataTypes/Cfg_NavTag", + "parameters": { + "OPC Server": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPC Server}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPCPrefix}" + } + } + }, + "tagType": "UdtInstance" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Cfg_OKState", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "SourceDataType": "Int4", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "String", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Cfg_Tag", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "EnableIn", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "EnableOut", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Inp_BypActive", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Inp_Intlk00", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Inp_Intlk01", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Inp_Intlk02", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Inp_Intlk03", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Inp_Intlk04", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Inp_Intlk05", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Inp_Intlk06", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Inp_Intlk07", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Inp_Intlk08", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Inp_Intlk09", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Inp_Intlk10", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Inp_Intlk11", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Inp_Intlk12", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Inp_Intlk13", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Inp_Intlk14", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Inp_Intlk15", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Inp_LatchDefeat", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Inp_Reset", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "MSet_Bypass", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "OCmd_Reset", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_Reset", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "PCmd_Reset", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "valueSource": "memory", + "dataType": "String", + "name": "Prime Version", + "value": "1.0", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Sts_BypActive", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "BooleanArray", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Sts_FirstOut", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "SourceDataType": "BooleanArray", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Sts_Intlk", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "SourceDataType": "BooleanArray", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Sts_IntlkOK", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Sts_NBIntlkOK", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Sts_RdyReset", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "valueSource": "memory", + "dataType": "String", + "name": "Version", + "tagGroup": "OnlyWhenViewed", + "value": "4.10.05", + "tagType": "AtomicTag" + } + ] + }, + { + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "P_PIDE", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{InstanceName}" + } + }, + "HistoryProvider": { + "dataType": "String", + "value": "Historian" + }, + "OPC Server": { + "dataType": "String", + "value": "FactoryTalkLinxGateway" + }, + "PLCName": { + "dataType": "String", + "value": "" + }, + "OPCPrefix": { + "dataType": "String", + "value": "nsu\u003dhttp://www.rockwellautomation.com/OpcUa;s\u003d" + } + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "UdtType", + "tags": [ + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Ack_Fail", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Ack_HiDev", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Ack_HiHiDev", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Ack_IntlkTrip", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Ack_LoDev", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Ack_LoLoDev", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Alm_Fail", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Alm_HiDev", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Alm_HiHiDev", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Alm_IntlkTrip", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Alm_LoDev", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Alm_LoLoDev", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "Cfg_Area", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_CVDecPlcs", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "String", + "historyProvider": "SwiftWater", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "CV Engineering Units for display on HMI", + "tooltip": "CV Engineering Units for display on HMI", + "name": "Cfg_CVEU", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Float4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "CV Engineering Units Maximum Value (CVEU)\n", + "tooltip": "CV Engineering Units Maximum Value (CVEU) ", + "name": "Cfg_CVEUMax", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Float4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "CV Engineering Units Minimum Value (CVEU)\n", + "tooltip": "CV Engineering Units Minimum Value (CVEU) ", + "name": "Cfg_CVEUMin", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_CVFailCVAct", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_CVFailLMAct", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_CVFailLatch", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_CVFailSPAct", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "Cfg_CVNavTag", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_CVRawMax", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_CVRawMin", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_CVRoCLim", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "Cfg_CascSPNavTag", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_CtrlAction", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "historyProvider": { + "bindType": "parameter", + "binding": "{HistoryProvider}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Float4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Derivitave gain. When the independent form of the PID algorithm is selected, enter the derivative gain in units of minutes into this value. When the dependent PID algorithm is used, enter the derivative time constant in units of minutes into this value. Enter 0 to disable the derivative control If DGain \u003c 0, the instruction sets the appropriate bit in Status and uses a value of DGain \u003d 0.\nValid \u003d 0.0 to maximum positive float\nDefault \u003d 0.0", + "name": "Cfg_DGain", + "historyEnabled": true, + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "NonPV Historized", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_Depend", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_DerivSPAct", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_DerivSmooth", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "String", + "historyProvider": "SwiftWater", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Description for display on HMI", + "tooltip": "Description for display on HMI", + "name": "Cfg_Desc", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_ExecT", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int1", + "name": "Cfg_ExtKeep", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_FailAckReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_FailResetReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_FailSeverity", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasAuto", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasCVNav", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasCasc", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasCascSPNav", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasFailAlm", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasHiDevAlm", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasHiHiDevAlm", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasIntlkObj", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasIntlkTripAlm", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasLoDevAlm", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasLoLoDevAlm", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasMan", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasMoreObj", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasPVNav", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasRatio", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasSPRamp", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HiDevAckReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_HiDevDB", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_HiDevGateDly", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_HiDevLim", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_HiDevOffDly", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_HiDevOnDly", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HiDevResetReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_HiDevSeverity", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HiHiDevAckReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_HiHiDevDB", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_HiHiDevGateDly", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_HiHiDevLim", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_HiHiDevOffDly", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_HiHiDevOnDly", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HiHiDevResetReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_HiHiDevSeverity", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "historyProvider": { + "bindType": "parameter", + "binding": "{HistoryProvider}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Float4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Integral gain. When the independent form of the PID algorithm is selected, enter the integral gain in units of 1/minutes into this value. When the depenedent PID algorithm is selected, enter the integral time constant in units of minutes/repeat into this value. Enter 0 to disable the integral control If IGain \u003c 0, the instruction sets the appropriate bit in Status and uses a value of IGain \u003d 0.\nValid \u003d 0.0 to maximum positive float\nDefault \u003d 0.0", + "name": "Cfg_IGain", + "historyEnabled": true, + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "NonPV Historized", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_InitToMan", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_IntlkCV", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_IntlkSP", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_IntlkTripAckReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_IntlkTripCVAct", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_IntlkTripLMAct", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_IntlkTripLatch", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_IntlkTripResetReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_IntlkTripSPAct", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_IntlkTripSeverity", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "String", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Label for graphic symbol displayed on HMI", + "tooltip": "Label for graphic symbol displayed on HMI ", + "name": "Cfg_Label", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_LimitManCV", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_LoDevAckReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_LoDevDB", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_LoDevGateDly", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_LoDevLim", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_LoDevOffDly", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_LoDevOnDly", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_LoDevResetReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_LoDevSeverity", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_LoLoDevAckReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_LoLoDevDB", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_LoLoDevGateDly", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_LoLoDevLim", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_LoLoDevOffDly", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_LoLoDevOnDly", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_LoLoDevResetReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_LoLoDevSeverity", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_LockLM", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_MaxCV", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_MaxInactiveCV", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_MaxRatio", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Float4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Maximum allowed Setpoint (SP) value (PVEU)", + "tooltip": "Maximum allowed Setpoint (SP) value (PVEU)", + "name": "Cfg_MaxSP", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_MaxSPRoCDec", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_MaxSPRoCInc", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_MinCV", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_MinRatio", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Float4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Minimum allowed Setpoint (SP) value (PVEU)", + "tooltip": "Minimum allowed Setpoint (SP) value (PVEU)", + "name": "Cfg_MinSP", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_NormLM", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int1", + "name": "Cfg_OperKeep", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_OvrdIntlk", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "historyProvider": { + "bindType": "parameter", + "binding": "{HistoryProvider}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Float4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Proportional gain. When the independent form of the PID algorighm is selected, enter the unitless porportional gain into this value. When the dependent PID algorithm is selected, enter the unitless controller gain into this value. Enter 0 to disable the proportional contorl. If PGain \u003c 0, the instruction sets the appropriate bit in Status and uses a value of PGain \u003d 0.\nValid \u003d 0.0 to maximum positive float.\nDefault \u003d 0.0", + "name": "Cfg_PGain", + "historyEnabled": true, + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "NonPV Historized", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_PVDecPlcs", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "String", + "historyProvider": "SwiftWater", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "PV Engineering Units for display on HMI", + "tooltip": "PV Engineering Units for display on HMI", + "name": "Cfg_PVEU", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Float4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "PV Engineering Units Maximum Value (PVEU)\n", + "tooltip": "PV Engineering Units Maximum Value (PVEU) ", + "name": "Cfg_PVEUMax", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Float4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "PV Engineering Units Mimimum Value (PVEU)\n", + "tooltip": "PV Engineering Units Mimimum Value (PVEU) ", + "name": "Cfg_PVEUMin", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_PVFailCVAct", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_PVFailLMAct", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_PVFailLatch", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_PVFailSPAct", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "Cfg_PVNavTag", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_PVTrack", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int1", + "name": "Cfg_ProgKeep", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_PropSPAct", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_PwrupCV", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_PwrupLM", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_PwrupSP", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_SPFailCVAct", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_SPFailLMAct", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_SPFailLatch", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_SPFailSPAct", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_SPRampMaxDev", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_SetTrack", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_SetTrackOvrdHand", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_SkipSPRoCLim", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "String", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Tagname for display on HMI", + "tooltip": "Tagname for display on HMI ", + "name": "Cfg_Tag", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_ZCDB", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_ZCOff", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "name": "CmdSrc", + "typeId": "Plant PAX/P_CmdSrc", + "parameters": { + "OPC Server": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPC Server}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPCPrefix}" + } + } + }, + "tagType": "UdtInstance" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "EnableIn", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "EnableOut", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Err_Alarm", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Err_CVEU", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Err_CVLim", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Err_CVRaw", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Err_PVEU", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Err_RatioLim", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Err_SPLim", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Err_Timer", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Err_ZCDB", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "name": "Fail", + "typeId": "Plant PAX/P_Alarm", + "parameters": { + "OPC Server": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPC Server}" + } + }, + "PLCName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{PLCName}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPCPrefix}" + } + } + }, + "tagType": "UdtInstance" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "HMI_HasAutotune", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "HMI_Lib", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int1", + "name": "HMI_Tab", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "HMI_Type", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "name": "HiDev", + "typeId": "Plant PAX/P_Alarm", + "parameters": { + "OPC Server": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPC Server}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPCPrefix}" + } + } + }, + "tagType": "UdtInstance" + }, + { + "name": "HiDevGate", + "typeId": "Plant PAX/P_Gate", + "tagType": "UdtInstance" + }, + { + "name": "HiHiDev", + "typeId": "Plant PAX/P_Alarm", + "parameters": { + "OPC Server": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPC Server}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPCPrefix}" + } + } + }, + "tagType": "UdtInstance" + }, + { + "name": "HiHiDevGate", + "typeId": "Plant PAX/P_Gate", + "tagType": "UdtInstance" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_CVIOFault", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Inp_CVInitVal", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Inp_CVNotify", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Inp_CascSP", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Inp_CascSPNotify", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_ExtInh", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Inp_FF", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Inp_FFPrev", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_Hand", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Inp_HandFdbk", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_HandFdbkBad", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_HiDevGate", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_HiHiDevGate", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_IntlkAvail", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_IntlkOK", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_LoDevGate", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_LoLoDevGate", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_NBIntlkOK", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_Ovrd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Float4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "CV override value. CV equals this value when in override mode. This value should correspond to a safe state output of the PID loop. If CVOverride \u003c 0 or \u003e 100, the instructions sets the appropriate bit in Status and limits the CV value.\nValid \u003d 0.0 to 100.0\nDefault \u003d 0.0", + "name": "Inp_OvrdCV", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Inp_OvrdCmd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Inp_OvrdRatio", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Float4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Setpoint to use in Override Mode (PVEU)\n", + "tooltip": "Setpoint to use in Override Mode (PVEU) ", + "name": "Inp_OvrdSP", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Inp_OvrdSPRampT", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Inp_OvrdSPRoCLimDec", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Inp_OvrdSPRoCLimInc", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Inp_OvrdSPTarget", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Float4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Scaled process variable input. This value is typically read from an analog input module.\nValid \u003d any float\nDefault \u003d 0.0", + "name": "Inp_PV", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_PVBad", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Inp_PVNotify", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Inp_PVSrcQ", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_PVUncertain", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_Reset", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_UseCVInitVal", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_UseCVPrev", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_UseFFPrev", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_WindupHi", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_WindupLo", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "name": "IntlkTrip", + "typeId": "Plant PAX/P_Alarm", + "parameters": { + "OPC Server": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPC Server}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPCPrefix}" + } + } + }, + "tagType": "UdtInstance" + }, + { + "name": "LoDev", + "typeId": "Plant PAX/P_Alarm", + "parameters": { + "OPC Server": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPC Server}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPCPrefix}" + } + } + }, + "tagType": "UdtInstance" + }, + { + "name": "LoDevGate", + "typeId": "Plant PAX/P_Gate", + "tagType": "UdtInstance" + }, + { + "name": "LoLoDev", + "typeId": "Plant PAX/P_Alarm", + "parameters": { + "OPC Server": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPC Server}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPCPrefix}" + } + } + }, + "tagType": "UdtInstance" + }, + { + "name": "LoLoDevGate", + "typeId": "Plant PAX/P_Gate", + "tagType": "UdtInstance" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MCmd_Bypass", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MCmd_Check", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MCmd_Rel", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MRdy_Bypass", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MRdy_Check", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MRdy_Rel", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Mode", + "typeId": "Plant PAX/P_Mode", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{BlockName}" + } + } + }, + "tagGroup": "Default", + "enabled": false, + "tagType": "UdtInstance" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Nrdy_CfgErr", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Nrdy_IOFault", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Nrdy_Init", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Nrdy_Intlk", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Nrdy_OoS", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Auto mode indicator. Set when in the Auto mode.", + "tooltip": "Operator Command to select Automatic control ", + "name": "OCmd_Auto", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "OCmd_Casc", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Auto mode indicator. Set when in the Auto mode.", + "tooltip": "Operator Command to select Manual control ", + "name": "OCmd_Man", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "OCmd_NormLM", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "OCmd_Reset", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Operator Command to Reset and Acknowledge all Alarms\n", + "tooltip": "Operator Command to Reset and Acknowledge all Alarms ", + "name": "OCmd_ResetAckAll", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "OCmd_SPRampStart", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "OCmd_SPRampStop", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "OCmd_Unlock", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_Auto", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_CV", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_Casc", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_Man", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_NormLM", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_Ratio", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_Reset", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_ResetAckAll", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_SP", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_SPRampStart", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_SPRampStop", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_SPRampT", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_SPRoCLimDec", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_SPRoCLimInc", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_SPTarget", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_Unlock", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Float4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "CV program manual value. CV equals this value when in Program Manual mode. If CVProg \u003c 0 or \u003e 100, or \u003c CVLLimit or \u003e CVHLimit when CVManLimiting is set, the instruction sets the appropriate bit in Status and limits the CV value.\nValid \u003d 0.0 to 100.0\nDefault \u003d 0.0", + "name": "OSet_CV", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "OSet_Ratio", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Float4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Program Setting for Setpoint (loop Auto) (PVEU)\n", + "tooltip": "Program Setting for Setpoint (loop Auto) (PVEU) ", + "name": "OSet_SP", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "OSet_SPRampT", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "OSet_SPRoCLimDec", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "OSet_SPRoCLimInc", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "OSet_SPTarget", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Float4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Control variable output. This value is expressed as 0 to 100 percent. CV is limited by CVHLimit and CVLLimit when in auto or cascade/ratio mode or manual mode if CVManLimiting is set. Otherwise this value is limited by 0 and 100 percent. Arithmetic flags are set for this output.", + "name": "Out_CV", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_Auto", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_Casc", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_FailAck", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_FailSuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_FailUnshelve", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_FailUnsuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_HiDevAck", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_HiDevSuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_HiDevUnshelve", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_HiDevUnsuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_HiHiDevAck", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_HiHiDevSuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_HiHiDevUnshelve", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_HiHiDevUnsuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_IntlkTripAck", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_IntlkTripSuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_IntlkTripUnshelve", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_IntlkTripUnsuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_LoDevAck", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_LoDevSuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_LoDevUnshelve", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_LoDevUnsuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_LoLoDevAck", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_LoLoDevSuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_LoLoDevUnshelve", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_LoLoDevUnsuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_Lock", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_Man", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_NormLM", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_Normal", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_Oper", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_Prog", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_Reset", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_SPRampStart", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_SPRampStop", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_Unlock", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "PSet_CV", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "PSet_Owner", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "PSet_Ratio", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Float4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Program Setting for Setpoint (loop Auto) (PVEU)\n\n", + "tooltip": "Program Setting for Setpoint (loop Auto) (PVEU) ", + "name": "PSet_SP", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "PSet_SPRampT", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "PSet_SPRoCLimDec", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "PSet_SPRoCLimInc", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "PSet_SPTarget", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "valueSource": "memory", + "dataType": "String", + "name": "Prime Version", + "tagGroup": "OnlyWhenViewed", + "value": "1.0", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "SrcQ", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "SrcQ_IO", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Active", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_AlmInh", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "historyProvider": { + "bindType": "parameter", + "binding": "{HistoryProvider}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "historicalDeadbandStyle": "Discrete", + "documentation": "Manual mode indicator. Set when in the Manual mode.", + "name": "Sts_Auto", + "historyEnabled": true, + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "NonPV Historized", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Available", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_BypActive", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Bypass", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_CVBad", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_CVClamped", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_CVHeld", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_CVPrevBad", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_CVRamping", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_CVShed", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Casc", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Err", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Ext", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_ExtReqInh", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_FFBad", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_FFPrevBad", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Fail", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_FailDisabled", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_FailShelved", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_FailSuppressed", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Hand", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_HandFdbkBad", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_HiDev", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_HiDevCmp", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_HiDevDisabled", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_HiDevGate", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_HiDevShelved", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_HiDevSuppressed", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_HiHiDev", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_HiHiDevCmp", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_HiHiDevDisabled", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_HiHiDevGate", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_HiHiDevShelved", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_HiHiDevSuppressed", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_InitReq", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Initializing", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Sts_InstrFaults1", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Sts_InstrFaults2", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_IntlkCV", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_IntlkSP", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_IntlkTrip", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_IntlkTripDisabled", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_IntlkTripShelved", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_IntlkTripSuppressed", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_LoDev", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_LoDevCmp", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_LoDevDisabled", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_LoDevGate", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_LoDevShelved", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_LoDevSuppressed", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_LoLoDev", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_LoLoDevCmp", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_LoLoDevDisabled", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_LoLoDevGate", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_LoLoDevShelved", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_LoLoDevSuppressed", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_MAcqRcvd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Maint", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_MaintByp", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "historyProvider": { + "bindType": "parameter", + "binding": "{HistoryProvider}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "historicalDeadbandStyle": "Discrete", + "documentation": "Manual mode indicator. Set when in the Manual mode.", + "name": "Sts_Man", + "historyEnabled": true, + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "NonPV Historized", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_NormLM", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Normal", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_NotRdy", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_OoS", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Oper", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_OperLocked", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Override mode indicator. Set when in the Override mode.", + "name": "Sts_Ovrd", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_PVBad", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_PVUncertain", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Prog", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_ProgLocked", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_ProgReqInh", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_RatioClamped", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_RdyAck", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_RdyReset", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_SPBad", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_SPClamped", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_SPHeld", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_SPRamping", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_SPShed", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_SPShedPV", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_SPTrackPV", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_SkipSPRoCLim", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_WindupHi", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_WindupLo", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_ZCDBOn", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Val_ActExecT", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Val_CVEUMax", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Val_CVEUMin", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "historyProvider": { + "bindType": "parameter", + "binding": "{HistoryProvider}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Float4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Value of CV Output (after ramping and clamping (CV%)\n", + "tooltip": "Value of CV Output (after ramping and clamping (CV%) ", + "name": "Val_CVOut", + "historyEnabled": true, + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "Process Variable", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "historyProvider": { + "bindType": "parameter", + "binding": "{HistoryProvider}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Val_CVPercent", + "historyEnabled": true, + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "historyProvider": { + "bindType": "parameter", + "binding": "{HistoryProvider}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Val_CVSet", + "historyEnabled": true, + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Float4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Process error. Difference between SP and PV, scaled in PV units.", + "name": "Val_E", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Val_EPercent", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Val_Fault", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Val_Init", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Val_Notify", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Val_NotifyAll", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Val_Owner", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "historyProvider": { + "bindType": "parameter", + "binding": "{HistoryProvider}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Float4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Loop PV (PVEU)\n", + "tooltip": "Loop PV (PVEU) ", + "name": "Val_PV", + "historyEnabled": true, + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "Process Variable", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Val_PVEUMax", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Val_PVEUMin", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "historyProvider": { + "bindType": "parameter", + "binding": "{HistoryProvider}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Val_PVPercent", + "historyEnabled": true, + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Val_Ratio", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "historyProvider": { + "bindType": "parameter", + "binding": "{HistoryProvider}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Float4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Value of SP being used (after clamping) (PVEU)\n", + "tooltip": "Value of SP being used (after clamping) (PVEU) ", + "name": "Val_SP", + "historyEnabled": true, + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "historyProvider": { + "bindType": "parameter", + "binding": "{HistoryProvider}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Val_SPPercent", + "historyEnabled": true, + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Val_SPRampRoC", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Val_SPRampT", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Val_SPRoCDec", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Val_SPRoCInc", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Val_SPSet", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Val_SPTarget", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Val_State", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Val_Sts", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Val_UnackAlmC", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "valueSource": "memory", + "dataType": "String", + "name": "Version", + "value": "4.10.05", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "XCmd_Acq", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "XCmd_Auto", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "XCmd_Casc", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "XCmd_Man", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "XCmd_NormLM", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "XCmd_Rel", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "XCmd_Reset", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "XCmd_SPRampStart", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "XCmd_SPRampStop", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "XSet_CV", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "XSet_Ratio", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "XSet_SP", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "XSet_SPRampT", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "XSet_SPRoCLimDec", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "XSet_SPRoCLimInc", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "XSet_SPTarget", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + } + ] + }, + { + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Totalizer", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{InstanceName}" + } + }, + "HistoryProvider": { + "dataType": "String", + "value": "Historian" + }, + "OPC Server": { + "dataType": "String", + "value": "FactoryTalkLinxGateway" + }, + "PLCName": { + "dataType": "String", + "value": "" + }, + "OPCPrefix": { + "dataType": "String", + "value": "nsu\u003dhttp://www.rockwellautomation.com/OpcUa;s\u003d[Slot2_BE]P_Ain.Val" + } + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "UdtType", + "tags": [ + { + "valueSource": "memory", + "readOnly": false, + "dataType": "String", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Cfg_Desc", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "value": "Description", + "tagGroup": "Default", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "valueSource": "memory", + "readOnly": false, + "dataType": "String", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Cfg_Label", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "value": "Label", + "tagGroup": "Default", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "valueSource": "memory", + "readOnly": false, + "dataType": "String", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Cfg_RateEU", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "value": "", + "tagGroup": "Default", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "valueSource": "memory", + "readOnly": false, + "dataType": "String", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Cfg_TotalEU", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "value": "", + "tagGroup": "Default", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[{PLCName}]{BlockName}.{TagName}" + }, + "valueSource": "opc", + "historicalDeadband": 1.0, + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tooltip": "Current Rate", + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag", + "readOnly": false, + "dataType": "Float4", + "historyProvider": "SwiftWater", + "name": "In", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "opcServer": "Ignition OPC-UA Server" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[{PLCName}]{BlockName}.{TagName}" + }, + "historyProvider": { + "bindType": "parameter", + "binding": "{HistoryProvider}" + }, + "valueSource": "opc", + "historicalDeadband": 1.0, + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tooltip": "Previous Total", + "tagGroup": "Process Variable", + "enabled": true, + "tagType": "AtomicTag", + "readOnly": false, + "dataType": "Float4", + "name": "OldTotal", + "historyEnabled": true, + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "opcServer": "Ignition OPC-UA Server" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[{PLCName}]{BlockName}.{TagName}" + }, + "valueSource": "opc", + "historicalDeadband": 1.0, + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tooltip": "Operator reset totalizer request.", + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag", + "readOnly": false, + "dataType": "Boolean", + "historyProvider": "SwiftWater", + "name": "OperResetReq", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "opcServer": "Ignition OPC-UA Server" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[{PLCName}]{BlockName}.{TagName}" + }, + "valueSource": "opc", + "historicalDeadband": 1.0, + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tooltip": "Operator start totalizer request.", + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag", + "readOnly": false, + "dataType": "Boolean", + "historyProvider": "SwiftWater", + "name": "OperStartReq", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "opcServer": "Ignition OPC-UA Server" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[{PLCName}]{BlockName}.{TagName}" + }, + "valueSource": "opc", + "historicalDeadband": 1.0, + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tooltip": "Operator stop totalizer request.", + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag", + "readOnly": false, + "dataType": "Boolean", + "historyProvider": "SwiftWater", + "name": "OperStopReq", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "opcServer": "Ignition OPC-UA Server" + }, + { + "valueSource": "memory", + "dataType": "String", + "name": "Prime Version", + "tagGroup": "OnlyWhenViewed", + "value": "1.0", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[{PLCName}]{BlockName}.{TagName}" + }, + "valueSource": "opc", + "historicalDeadband": 1.0, + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tooltip": "Totalizer run/stop status", + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag", + "readOnly": false, + "dataType": "Float4", + "historyProvider": "SwiftWater", + "name": "RunStop", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "opcServer": "Ignition OPC-UA Server" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[{PLCName}]{BlockName}.{TagName}" + }, + "historyProvider": { + "bindType": "parameter", + "binding": "{HistoryProvider}" + }, + "valueSource": "opc", + "historicalDeadband": 1.0, + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tooltip": "Current total", + "tagGroup": "Process Variable", + "enabled": true, + "tagType": "AtomicTag", + "readOnly": false, + "dataType": "Float4", + "name": "Total", + "historyEnabled": true, + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "opcServer": "Ignition OPC-UA Server" + }, + { + "valueSource": "memory", + "dataType": "String", + "name": "Version", + "tagGroup": "OnlyWhenViewed", + "value": "4.10.05", + "tagType": "AtomicTag" + } + ] + }, + { + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "P_DOut", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{InstanceName}" + } + }, + "HistoryProvider": { + "dataType": "String", + "value": "Historian" + }, + "OPC Server": { + "dataType": "String", + "value": "FactoryTalkLinxGateway" + }, + "PLCName": { + "dataType": "String", + "value": "" + }, + "OPCPrefix": { + "dataType": "String", + "value": "nsu\u003dhttp://www.rockwellautomation.com/OpcUa;s\u003d" + } + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "UdtType", + "tags": [ + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Ack_IOFault", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Ack_IntlkTrip", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Ack_OffFail", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Ack_OnFail", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Alm_IOFault", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Alm_IntlkTrip", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Alm_OffFail", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Alm_OnFail", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "Cfg_0StText", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "Cfg_1StText", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "Cfg_Area", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_CompletePulse", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "Cfg_Desc", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_ExtOffPrio", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_FdbkFail", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasIOFaultAlm", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasIntlkObj", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasIntlkTripAlm", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasMoreObj", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasOffFailAlm", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasOffFdbk", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasOnFailAlm", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasOnFdbk", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasPermObj", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasPulse", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HornOnChange", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_IOFaultAckReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_IOFaultResetReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_IOFaultSeverity", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_IntlkTripAckReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_IntlkTripResetReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_IntlkTripSeverity", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "Cfg_Label", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_OCmdResets", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_OffDelayT", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_OffFailAckReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_OffFailResetReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_OffFailSeverity", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_OffFailT", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_OffPulseT", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_OnDelayT", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_OnFailAckReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_OnFailResetReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_OnFailSeverity", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_OnFailT", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_OnPulseT", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_OperOffPrio", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_OvrdPermIntlk", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_ShedOnFail", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_ShedOnIOFault", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_SimFdbkT", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_StartHornT", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "Cfg_Tag", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_UseOffFdbk", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_UseOnFdbk", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_XCmdResets", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "name": "CmdSrc", + "typeId": "Plant PAX/P_CmdSrc", + "parameters": { + "OPC Server": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPC Server}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPCPrefix}" + } + } + }, + "tagType": "UdtInstance" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "EnableIn", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "EnableOut", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Err_Alarm", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Err_Sim", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Err_Timer", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "HMI_Lib", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int1", + "name": "HMI_Tab", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "HMI_Type", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "name": "IOFault", + "typeId": "Plant PAX/P_Alarm", + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{BlockName}" + } + }, + "OPC Server": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPC Server}" + } + }, + "PLCName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{PLCName}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPCPrefix}" + } + } + }, + "tagType": "UdtInstance" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_ExtInh", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_Hand", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_HornInh", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_IOFault", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_IntlkAvail", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_IntlkOK", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_NBIntlkOK", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_NBPermOK", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_OffFdbk", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_OnFdbk", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_Ovrd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Inp_OvrdCmd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_PermOK", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_Reset", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_Sim", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "name": "IntlkTrip", + "typeId": "Plant PAX/P_Alarm", + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{BlockName}" + } + }, + "OPC Server": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPC Server}" + } + }, + "PLCName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{PLCName}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPCPrefix}" + } + } + }, + "tagType": "UdtInstance" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MCmd_Bypass", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MCmd_Check", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MCmd_Rel", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MRdy_Bypass", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MRdy_Check", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MRdy_Rel", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Nrdy_CfgErr", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Nrdy_Fail", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Nrdy_IOFault", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Nrdy_Intlk", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Nrdy_OoS", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Nrdy_Perm", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Nrdy_PrioOff", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "OCmd_ContPulse", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "OCmd_Off", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "OCmd_OffPulse", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "OCmd_On", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "OCmd_OnPulse", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "OCmd_Reset", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "OCmd_ResetAckAll", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "OCmd_Unlock", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_ContPulse", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_Off", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_OffPulse", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_On", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_OnPulse", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_Reset", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_ResetAckAll", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_Unlock", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "name": "OffFail", + "typeId": "Plant PAX/P_Alarm", + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{BlockName}" + } + }, + "OPC Server": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPC Server}" + } + }, + "PLCName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{PLCName}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPCPrefix}" + } + } + }, + "tagType": "UdtInstance" + }, + { + "name": "OnFail", + "typeId": "Plant PAX/P_Alarm", + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{BlockName}" + } + }, + "OPC Server": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPC Server}" + } + }, + "PLCName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{PLCName}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPCPrefix}" + } + } + }, + "tagType": "UdtInstance" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Out", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Out_Horn", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_ContPulse", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_IOFaultAck", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_IOFaultSuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_IOFaultUnshelve", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_IOFaultUnsuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_IntlkTripAck", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_IntlkTripSuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_IntlkTripUnshelve", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_IntlkTripUnsuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_Lock", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_Normal", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_Off", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_OffFailAck", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_OffFailSuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_OffFailUnshelve", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_OffFailUnsuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_OffPulse", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_On", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_OnFailAck", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_OnFailSuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_OnFailUnshelve", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_OnFailUnsuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_OnPulse", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_Oper", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_Prog", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_Reset", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_Unlock", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "PSet_Owner", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "P_DOut", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "valueSource": "memory", + "dataType": "String", + "name": "Prime Version", + "tagGroup": "OnlyWhenViewed", + "value": "1.0", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "SrcQ", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "SrcQ_IO", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_AlmInh", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Available", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_BypActive", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Bypass", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Err", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Ext", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_ExtReqInh", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_FdbkFail", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_FdbkOff", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_FdbkOn", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Hand", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Horn", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_IOFault", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_IOFaultDisabled", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_IOFaultShelved", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_IOFaultSuppressed", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_IntlkTrip", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_IntlkTripDisabled", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_IntlkTripShelved", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_IntlkTripSuppressed", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_MAcqRcvd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Maint", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_MaintByp", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Normal", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_NotRdy", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_OffFail", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_OffFailDisabled", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_OffFailShelved", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_OffFailSuppressed", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_OnFail", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_OnFailDisabled", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_OnFailShelved", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_OnFailSuppressed", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_OoS", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Oper", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_OperLocked", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Out", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Ovrd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Prog", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_ProgLocked", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_ProgReqInh", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Pulsing", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_RdyAck", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_RdyReset", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Val_Cmd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Val_Fault", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Val_Fdbk", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Val_Notify", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Val_NotifyAll", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Val_Owner", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Val_State", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Val_Sts", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Val_UnackAlmC", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "valueSource": "memory", + "dataType": "String", + "name": "Version", + "tagGroup": "OnlyWhenViewed", + "value": "4.10.05", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "XCmd_Acq", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "XCmd_ContPulse", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "XCmd_Off", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "XCmd_OffPulse", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "XCmd_On", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "XCmd_OnPulse", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "XCmd_Rel", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "XCmd_Reset", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + } + ] + }, + { + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "P_ValveC", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{InstanceName}" + } + }, + "HistoryProvider": { + "dataType": "String", + "value": "Historian" + }, + "OPC Server": { + "dataType": "String", + "value": "FactoryTalkLinxGateway" + }, + "PLCName": { + "dataType": "String", + "value": "" + }, + "OPCPrefix": { + "dataType": "String", + "value": "nsu\u003dhttp://www.rockwellautomation.com/OpcUa;s\u003d" + } + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "UdtType", + "tags": [ + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Ack_ActuatorFault", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Ack_IOFault", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Ack_IntlkTrip", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "ActuatorFault", + "typeId": "Plant PAX/P_Alarm", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{BlockName}" + } + }, + "OPC Server": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPC Server}" + } + }, + "PLCName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{PLCName}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPCPrefix}" + } + } + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "UdtInstance" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Alm_ActuatorFault", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Alm_IOFault", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Alm_IntlkTrip", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_ActuatorFaultAckReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_ActuatorFaultResetReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_ActuatorFaultSeverity", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "Cfg_Area", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_BumpT", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Float4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Cfg_CVEUMax", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Float4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Cfg_CVEUMin", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "Cfg_CVNavTag", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Float4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Position Feedback Maximum in raw input units (for scaling)\n", + "tooltip": "Position Feedback Maximum in raw input units (for scaling) ", + "name": "Cfg_CVRawMax", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Float4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "CV Minimum in I/O (raw) Units (for scaling)", + "tooltip": "CV Minimum in I/O (raw) Units (for scaling) ", + "name": "Cfg_CVRawMin", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_CVRoCLimDec", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_CVRoCLimInc", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_ClampPosToLS", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_CloseRate", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_CycleT", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_Deadtime", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_DecPlcs", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "String", + "historyProvider": "SwiftWater", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Description for display on HMI", + "tooltip": "Description for display on HMI", + "name": "Cfg_Desc", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "String", + "historyProvider": "SwiftWater", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Engineering Units for display on HMI", + "tooltip": "Engineering Units for display on HMI", + "name": "Cfg_EU", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Float4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Position Feedback Maximum in raw input units (for scaling)\n", + "tooltip": "Position Feedback Maximum in raw input units (for scaling) ", + "name": "Cfg_FdbkRawMax", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Float4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Position Feedback Minimum in raw input units (for scaling)", + "tooltip": "Position Feedback Minimum in raw input units (for scaling) ", + "name": "Cfg_FdbkRawMin", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasActuatorFaultAlm", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasCVNav", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Cfg_HasClosedLS", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasIOFaultAlm", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasIntlkObj", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasIntlkTripAlm", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasMoreObj", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Cfg_HasOpenLS", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasPosFdbk", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_IOFaultAckReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_IOFaultResetReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_IOFaultSeverity", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_IntlkCV", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_IntlkTripAckReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_IntlkTripResetReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_IntlkTripSeverity", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_LSFail", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "String", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Label for graphic symbol displayed on HMI", + "tooltip": "Label for graphic symbol displayed on HMI ", + "name": "Cfg_Label", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Float4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Cfg_MaxCV", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_MaxClosedPos", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_MaxOnT", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Float4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Cfg_MinCV", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_MinOnT", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_OpenRate", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_OvrdIntlk", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_SetTrack", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_SetTrackOvrdHand", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_ShedHold", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_ShedOnIOFault", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_SkipRoCLim", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "String", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Tagname for display on HMI", + "tooltip": "Tagname for display on HMI ", + "name": "Cfg_Tag", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "1\u003dValve Closed LS should be used for failure checking\n", + "tooltip": "1\u003dValve Closed LS should be used for failure checking ", + "name": "Cfg_UseClosedLS", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "1\u003dValve Open LS should be used for failure checking\n", + "tooltip": "1\u003dValve Open LS should be used for failure checking ", + "name": "Cfg_UseOpenLS", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "name": "CmdSrc", + "typeId": "Plant PAX/P_CmdSrc", + "parameters": { + "OPC Server": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPC Server}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPCPrefix}" + } + } + }, + "tagType": "UdtInstance" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "EnableIn", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "EnableOut", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Err_Alarm", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Err_EU", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Err_Fdbk", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Err_Limit", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Err_Raw", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Err_Timer", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "HMI_Lib", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int1", + "name": "HMI_Tab", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "HMI_Type", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "valueSource": "expr", + "expression": "max({[.]ActuatorFault/Alarm.AlertCurrentSeverity},\n\t{[.]IntlkTrip/Alarm.AlertCurrentSeverity},\n\t{[.]IOFault/Alarm.AlertCurrentSeverity})\n", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Calculated highest priority alarm, all alarms need to be added to \"max()\"expression", + "tooltip": "Calculated highest priority alarm", + "tagGroup": "Default", + "enabled": true, + "tagType": "AtomicTag", + "readOnly": false, + "dataType": "Int4", + "name": "HighestPriority", + "executionMode": "TagGroupRate", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + } + }, + { + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "IOFault", + "typeId": "Plant PAX/P_Alarm", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{BlockName}" + } + }, + "OPC Server": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPC Server}" + } + }, + "PLCName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{PLCName}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPCPrefix}" + } + } + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "UdtInstance" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_ActuatorFault", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_ClosedLS", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_ExtInh", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_Hand", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_IOFault", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_IntlkAvail", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_IntlkOK", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_NBIntlkOK", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_OpenLS", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_Ovrd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Inp_OvrdCV", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": true, + "dataType": "Float4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Position Feedback from Valve (in Raw Input units)\n", + "tooltip": "Position Feedback from Valve (in Raw Input units) ", + "name": "Inp_PosFdbk", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "1\u003dReset all Alarms requiring reset", + "tooltip": "1\u003dReset all Alarms requiring reset ", + "name": "Inp_Reset", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_Sim", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "IntlkTrip", + "typeId": "Plant PAX/P_Alarm", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{BlockName}" + } + }, + "OPC Server": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPC Server}" + } + }, + "PLCName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{PLCName}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPCPrefix}" + } + } + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "UdtInstance" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MCmd_Bypass", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MCmd_Check", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MCmd_Rel", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MRdy_Bypass", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MRdy_Check", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MRdy_Rel", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Mode", + "typeId": "Plant PAX/P_Mode", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{BlockName}" + } + }, + "PLCName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{PLCName}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPCPrefix}" + } + } + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "UdtInstance" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Nrdy_CfgErr", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Nrdy_IOFault", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Nrdy_Intlk", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Nrdy_OoS", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "OCmd_BumpClose", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "OCmd_BumpOpen", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "OCmd_Reset", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Operator Command to Reset and Acknowledge all Alarms\n", + "tooltip": "Operator Command to Reset and Acknowledge all Alarms ", + "name": "OCmd_ResetAckAll", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "OCmd_Unlock", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_BumpClose", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_BumpOpen", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_CV", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_Reset", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_ResetAckAll", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_Unlock", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "historicalDeadband": 0.1, + "dataType": "Float4", + "historyProvider": "SwiftWater", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "OSet_CV", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Out_CV", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Out_Close", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Out_Open", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_ActuatorFaultAck", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_ActuatorFaultSuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_ActuatorFaultUnshelve", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_ActuatorFaultUnsuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_IOFaultAck", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_IOFaultSuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_IOFaultUnshelve", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_IOFaultUnsuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_IntlkTripAck", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_IntlkTripSuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_IntlkTripUnshelve", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_IntlkTripUnsuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_Lock", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_Normal", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_Oper", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_Prog", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_Reset", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_Unlock", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "historicalDeadband": 0.1, + "dataType": "Float4", + "historyProvider": "SwiftWater", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "PSet_CV", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "PSet_Owner", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "valueSource": "memory", + "dataType": "String", + "name": "Prime Version", + "tagGroup": "OnlyWhenViewed", + "value": "1.0", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "SrcQ", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "SrcQ_IO", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Active", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_ActuatorFault", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_ActuatorFaultDisabled", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_ActuatorFaultShelved", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_ActuatorFaultSuppressed", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "1\u003dAn Alarm is Shelved, Disabled or Suppressed: display icon", + "tooltip": "1\u003dAn Alarm is Shelved, Disabled or Suppressed: display icon", + "name": "Sts_AlmInh", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Available", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_BumpClose", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_BumpOpen", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_BypActive", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Sts_Bypass", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_CVInfNaN", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Clamped", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Err", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Ext", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_ExtReqInh", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Sts_Hand", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_IOFault", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_IOFaultDisabled", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_IOFaultShelved", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_IOFaultSuppressed", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_IntlkTrip", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_IntlkTripDisabled", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_IntlkTripShelved", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_IntlkTripSuppressed", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_LSFail", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_MAcqRcvd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Maint", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_MaintByp", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Normal", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_NotRdy", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_OoS", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Oper", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_OperLocked", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Ovrd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_PosInfNaN", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Prog", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_ProgLocked", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_ProgReqInh", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Ramping", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_RdyAck", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_RdyReset", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_SkipRoCLim", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Val_CVEUMax", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Val_CVEUMin", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "historyProvider": { + "bindType": "parameter", + "binding": "{HistoryProvider}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "historicalDeadband": 0.1, + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Value of CV output (after clamping and ramping) (CV EU)", + "tooltip": "Value of CV output (after clamping and ramping) (CV EU) ", + "tagGroup": "Process Variable", + "enabled": true, + "tagType": "AtomicTag", + "readOnly": false, + "dataType": "Float4", + "name": "Val_CVOut", + "historyEnabled": true, + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + } + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Val_CVSet", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "historyProvider": { + "bindType": "parameter", + "binding": "{HistoryProvider}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Val_Fault", + "historyEnabled": true, + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "historyProvider": { + "bindType": "parameter", + "binding": "{HistoryProvider}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Val_Fdbk", + "historyEnabled": true, + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "Process Variable", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "valueSource": "expr", + "expression": "switch({[.]Val_Fdbk},\n0,1,2,3,\n\"Moving\", //0\n\"Closed\", //1\n\"Opened\", //2\n\"Lim Switch Fail\", //3\nforceQuality(\"!BAD STATE!\",0)) //other", + "readOnly": false, + "dataType": "String", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Val_Fdbk Text", + "executionMode": "TagGroupRate", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Val_Notify", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Val_NotifyAll", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Val_Owner", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "historyProvider": { + "bindType": "parameter", + "binding": "{HistoryProvider}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "historicalDeadband": 0.1, + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Valve actual position from feedback (CV EU)\n", + "tooltip": "Valve actual position from feedback (CV EU) ", + "tagGroup": "Process Variable", + "enabled": true, + "tagType": "AtomicTag", + "readOnly": false, + "dataType": "Float4", + "name": "Val_Pos", + "historyEnabled": true, + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + } + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "historyProvider": { + "bindType": "parameter", + "binding": "{HistoryProvider}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "historicalDeadband": 1.0, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Val_Sts", + "historyEnabled": true, + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "Process Variable", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "valueSource": "expr", + "expression": "switch({[.]Val_Sts},\n0,1,2,3,4,5,6,33,\n\"At Target\", //0\n\"Ramp Close\", //1\n\"Run Open\", //2\n\"Clamp @ Min\", //3\n\"Clamp @ Max\",//4\n\"Bump Close\",//5\n\"Bump Open\", //6\n\"Disabled\", //33\nforceQuality(\"!BAD STATE!\",0)) //other", + "readOnly": false, + "dataType": "String", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Val_Sts Text", + "executionMode": "TagGroupRate", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Val_UnackAlmC", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "valueSource": "memory", + "dataType": "String", + "name": "Version", + "value": "4.10.05", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "XCmd_Acq", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "XCmd_Rel", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "XCmd_Reset", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "XSet_CV", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + } + ] + }, + { + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "P_AOut", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{InstanceName}" + } + }, + "HistoryProvider": { + "dataType": "String", + "value": "Historian" + }, + "OPC Server": { + "dataType": "String", + "value": "FactoryTalkLinxGateway" + }, + "PLCName": { + "dataType": "String", + "value": "" + }, + "OPCPrefix": { + "dataType": "String", + "value": "nsu\u003dhttp://www.rockwellautomation.com/OpcUa;s\u003d" + } + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "UdtType", + "tags": [ + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Ack_IOFault", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Ack_IntlkTrip", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Alm_IOFault", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Alm_IntlkTrip", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "Cfg_Area", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_CVEUMax", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_CVEUMin", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "Cfg_CVNavTag", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_CVRawMax", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_CVRawMin", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_CVRoCLimDec", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_CVRoCLimInc", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_DecPlcs", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "Cfg_Desc", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "Cfg_EU", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasCVNav", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasIOFaultAlm", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasIntlkObj", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasIntlkTripAlm", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasMoreObj", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_IOFaultAckReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_IOFaultResetReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_IOFaultSeverity", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_IntlkCV", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_IntlkTripAckReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_IntlkTripResetReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_IntlkTripSeverity", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "Cfg_Label", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_MaxCV", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_MaxInactiveCV", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_MinCV", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_OvrdIntlk", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_SetTrack", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_SetTrackOvrdHand", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_ShedHold", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_ShedOnIOFault", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_SkipRoCLim", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "Cfg_Tag", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "name": "CmdSrc", + "typeId": "Plant PAX/P_CmdSrc", + "parameters": { + "OPC Server": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPC Server}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPCPrefix}" + } + } + }, + "tagType": "UdtInstance" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "EnableIn", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "EnableOut", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Err_Alarm", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Err_EU", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Err_Limit", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Err_Raw", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "HMI_Lib", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int1", + "name": "HMI_Tab", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "HMI_Type", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "IOFault", + "typeId": "Plant PAX/P_Alarm", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{BlockName}" + } + }, + "OPC Server": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPC Server}" + } + }, + "PLCName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{PLCName}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPCPrefix}" + } + } + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "UdtInstance" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_ExtInh", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_Hand", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_IOFault", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_IntlkAvail", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_IntlkOK", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_NBIntlkOK", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_Ovrd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Inp_OvrdCV", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_Reset", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_Sim", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Inp_Tieback", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "IntlkTrip", + "typeId": "Plant PAX/P_Alarm", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{BlockName}" + } + }, + "OPC Server": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPC Server}" + } + }, + "PLCName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{PLCName}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPCPrefix}" + } + } + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "UdtInstance" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MCmd_Bypass", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MCmd_Check", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MCmd_Rel", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MRdy_Bypass", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MRdy_Check", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MRdy_Rel", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Nrdy_CfgErr", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Nrdy_IOFault", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Nrdy_Intlk", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Nrdy_OoS", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "OCmd_Reset", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "OCmd_ResetAckAll", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "OCmd_Unlock", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_CV", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_Reset", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_ResetAckAll", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_Unlock", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "OSet_CV", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "historyProvider": "Historian", + "historicalDeadband": 0.1, + "name": "Out_CV", + "historyEnabled": true, + "tagGroup": "Process Variable", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_IOFaultAck", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_IOFaultSuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_IOFaultUnshelve", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_IOFaultUnsuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_IntlkTripAck", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_IntlkTripSuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_IntlkTripUnshelve", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_IntlkTripUnsuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_Lock", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_Normal", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_Oper", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_Prog", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_Reset", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_Unlock", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "PSet_CV", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "PSet_Owner", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "P_AOut", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "valueSource": "memory", + "readOnly": false, + "dataType": "String", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "", + "tooltip": "", + "name": "Prime Version", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "value": "1.0", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "SrcQ", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "SrcQ_IO", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Active", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_AlmInh", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Available", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_BypActive", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Bypass", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Clamped", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Err", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Ext", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_ExtReqInh", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Hand", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_IOFault", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_IOFaultDisabled", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_IOFaultShelved", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_IOFaultSuppressed", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_IntlkTrip", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_IntlkTripDisabled", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_IntlkTripShelved", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_IntlkTripSuppressed", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_MAcqRcvd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Maint", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_MaintByp", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Normal", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_NotRdy", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_OoS", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Oper", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_OperLocked", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Ovrd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Prog", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_ProgLocked", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_ProgReqInh", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Ramping", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_RdyAck", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_RdyReset", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_SkipRoCLim", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Val_CVEUMax", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Val_CVEUMin", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "historyProvider": { + "bindType": "parameter", + "binding": "{HistoryProvider}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "historicalDeadbandStyle": "Analog_Compressed", + "name": "Val_CVOut", + "historyEnabled": true, + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Val_CVSet", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Val_Fault", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int1", + "name": "Val_Notify", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Val_NotifyAll", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Val_Owner", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Val_Sts", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Val_UnackAlmC", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "valueSource": "memory", + "readOnly": false, + "dataType": "String", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "", + "tooltip": "", + "name": "Version", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "value": "4.10.05", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "XSet_CV", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + } + ] + }, + { + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "P_ValveSO", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{InstanceName}" + } + }, + "HistoryProvider": { + "dataType": "String", + "value": "Historian" + }, + "OPC Server": { + "dataType": "String", + "value": "FactoryTalkLinxGateway" + }, + "PLCName": { + "dataType": "String", + "value": "" + }, + "OPCPrefix": { + "dataType": "String", + "value": "nsu\u003dhttp://www.rockwellautomation.com/OpcUa;s\u003d" + } + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "UdtType", + "tags": [ + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Ack_FullStall", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Ack_IOFault", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Ack_IntlkTrip", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Ack_TransitStall", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Alm_FullStall", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Alm_IOFault", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Alm_IntlkTrip", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Alm_TransitStall", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "Cfg_Area", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "String", + "historyProvider": "SwiftWater", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Description for display on HMI", + "tooltip": "Description for display on HMI", + "name": "Cfg_Desc", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "1\u003dFail Open (energize to close), 0\u003dFail Closed (energize to open)\n", + "tooltip": "1\u003dFail Open (energize to close), 0\u003dFail Closed (energize to open) ", + "name": "Cfg_FailOpen", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_FullStallAckReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_FullStallResetReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_FullStallSeverity", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_FullStallT", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Cfg_HasClosedLS", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasFullStallAlm", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasIOFaultAlm", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasIntlkObj", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasIntlkTripAlm", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasMoreObj", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Cfg_HasOpenLS", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasPermObj", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasStatsObj", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasTransitStallAlm", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_IOFaultAckReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_IOFaultResetReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_IOFaultSeverity", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_IntlkTripAckReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_IntlkTripResetReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_IntlkTripSeverity", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "1\u003dboth switches ON\u003dfail, 0\u003dboth switches OFF\u003dfail\n", + "tooltip": "1\u003dboth switches ON\u003dfail, 0\u003dboth switches OFF\u003dfail ", + "name": "Cfg_LSFail", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "String", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Label for graphic symbol displayed on HMI", + "tooltip": "Label for graphic symbol displayed on HMI ", + "name": "Cfg_Label", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_OCmdResets", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_OvrdPermIntlk", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_ShedOnFullStall", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_ShedOnIOFault", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_ShedOnTransitStall", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_SimFdbkT", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_StartHornT", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "String", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Tagname for display on HMI", + "tooltip": "Tagname for display on HMI ", + "name": "Cfg_Tag", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_TransitStallAckReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_TransitStallResetReqd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Cfg_TransitStallSeverity", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Float4", + "name": "Cfg_TransitStallT", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "1\u003dValve Closed LS should be used for failure checking\n", + "tooltip": "1\u003dValve Closed LS should be used for failure checking ", + "name": "Cfg_UseClosedLS", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "1\u003dValve Open LS should be used for failure checking\n", + "tooltip": "1\u003dValve Open LS should be used for failure checking ", + "name": "Cfg_UseOpenLS", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_XCmdResets", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "name": "CmdSrc", + "typeId": "Plant PAX/P_CmdSrc", + "parameters": { + "OPC Server": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPC Server}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPCPrefix}" + } + } + }, + "tagType": "UdtInstance" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "EnableIn", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "EnableOut", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Err_Alarm", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Err_Sim", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Err_Timer", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "FullStall", + "typeId": "Plant PAX/P_Alarm", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{BlockName}" + } + }, + "OPC Server": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPC Server}" + } + }, + "PLCName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{PLCName}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPCPrefix}" + } + } + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "UdtInstance" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "HMI_Lib", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int1", + "name": "HMI_Tab", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "String", + "name": "HMI_Type", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "IOFault", + "typeId": "Plant PAX/P_Alarm", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{BlockName}" + } + }, + "OPC Server": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPC Server}" + } + }, + "PLCName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{PLCName}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPCPrefix}" + } + } + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "UdtInstance" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "1\u003dReset all Alarms requiring reset", + "tooltip": "1\u003dReset all Alarms requiring reset ", + "name": "Inp_ClosedLS", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_ExtInh", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_Hand", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_HornInh", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_IOFault", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_IntlkAvail", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_IntlkOK", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_NBIntlkOK", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_NBPermOK", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "1\u003dReset all Alarms requiring reset", + "tooltip": "1\u003dReset all Alarms requiring reset ", + "name": "Inp_OpenLS", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_Ovrd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Inp_OvrdCmd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_PermOK", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "1\u003dReset all Alarms requiring reset", + "tooltip": "1\u003dReset all Alarms requiring reset ", + "name": "Inp_Reset", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_Sim", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "IntlkTrip", + "typeId": "Plant PAX/P_Alarm", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{BlockName}" + } + }, + "OPC Server": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPC Server}" + } + }, + "PLCName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{PLCName}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPCPrefix}" + } + } + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "UdtInstance" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MCmd_Bypass", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MCmd_Check", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MCmd_Rel", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MRdy_Bypass", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MRdy_Check", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MRdy_Rel", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Nrdy_CfgErr", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Nrdy_Fail", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Nrdy_IOFault", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Nrdy_Intlk", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Nrdy_OoS", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Nrdy_Perm", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Operator Command to Close Valve\n", + "tooltip": "Operator Command to Close Valve ", + "name": "OCmd_Close", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Operator Command to Open Valve", + "tooltip": "Operator Command to Open Valve ", + "name": "OCmd_Open", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "OCmd_Reset", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Operator Command to Reset and Acknowledge all Alarms\n", + "tooltip": "Operator Command to Reset and Acknowledge all Alarms ", + "name": "OCmd_ResetAckAll", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "OCmd_Unlock", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_Close", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_Open", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_Reset", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_ResetAckAll", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_Unlock", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Out", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Out_Horn", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_Close", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_FullStallAck", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_FullStallSuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_FullStallUnshelve", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_FullStallUnsuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_IOFaultAck", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_IOFaultSuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_IOFaultUnshelve", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_IOFaultUnsuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_IntlkTripAck", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_IntlkTripSuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_IntlkTripUnshelve", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_IntlkTripUnsuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "historyProvider": "SwiftWater", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Program Command to Lock Mode in Prog\n", + "tooltip": "Program Command to Lock Mode in Prog ", + "name": "PCmd_Lock", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_Normal", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_Open", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "historyProvider": "SwiftWater", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Program Command to Unlock Mode\n", + "tooltip": "Program Command to Unlock Mode ", + "name": "PCmd_Oper", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "historyProvider": "SwiftWater", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Program Command to Unlock Mode\n", + "tooltip": "Program Command to Unlock Mode ", + "name": "PCmd_Prog", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "historyProvider": "SwiftWater", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Program Command to Unlock Mode\n", + "tooltip": "Program Command to Unlock Mode ", + "name": "PCmd_Reset", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_TransitStallAck", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_TransitStallSuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_TransitStallUnshelve", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_TransitStallUnsuppress", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "historyProvider": "SwiftWater", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Program Command to Unlock Mode\n", + "tooltip": "Program Command to Unlock Mode ", + "name": "PCmd_Unlock", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "PSet_Owner", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "valueSource": "memory", + "dataType": "String", + "name": "Prime Version", + "tagGroup": "OnlyWhenViewed", + "value": "1.0", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "SrcQ", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "SrcQ_IO", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "1\u003dAn Alarm is Shelved, Disabled or Suppressed: display icon", + "tooltip": "1\u003dAn Alarm is Shelved, Disabled or Suppressed: display icon", + "name": "Sts_AlmInh", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Available", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_BypActive", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Sts_Bypass", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Closed", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Closing", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Err", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Ext", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_ExtReqInh", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_FullStall", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_FullStallDisabled", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_FullStallShelved", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_FullStallSuppressed", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Sts_Hand", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Horn", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_IOFault", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_IOFaultDisabled", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_IOFaultShelved", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_IOFaultSuppressed", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_IntlkTrip", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_IntlkTripDisabled", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_IntlkTripShelved", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_IntlkTripSuppressed", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_LSFail", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_MAcqRcvd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Maint", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_MaintByp", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Normal", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_NotRdy", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_OoS", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Opened", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Opening", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Sts_Oper", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_OperLocked", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Ovrd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Sts_Prog", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_ProgLocked", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_ProgReqInh", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_RdyAck", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_RdyReset", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_TransitStall", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_TransitStallDisabled", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_TransitStallShelved", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_TransitStallSuppressed", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "TransitStall", + "typeId": "Plant PAX/P_Alarm", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{BlockName}" + } + }, + "OPC Server": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPC Server}" + } + }, + "PLCName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{PLCName}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{OPCPrefix}" + } + } + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "UdtInstance" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "historyProvider": { + "bindType": "parameter", + "binding": "{HistoryProvider}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "historicalDeadband": 0.1, + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Device Command 0\u003dNone, 1\u003dClose, 2\u003dOpen\n", + "tooltip": "Device Command 0\u003dNone, 1\u003dClose, 2\u003dOpen ", + "tagGroup": "Process Variable", + "enabled": true, + "tagType": "AtomicTag", + "readOnly": false, + "dataType": "Int4", + "name": "Val_Cmd", + "historyEnabled": true, + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + } + }, + { + "valueSource": "expr", + "expression": "switch({[.]Val_Cmd},\n0,1,2,\n\"None\", //0\n\"Close\", //1\n\"Open\", //2\n\nforceQuality(\"!BAD STATE!\",0)) //other", + "readOnly": false, + "dataType": "String", + "historyProvider": "SwiftWater", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Val_Cmd Text", + "executionMode": "TagGroupRate", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "historyProvider": { + "bindType": "parameter", + "binding": "{HistoryProvider}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "historicalDeadband": 1.0, + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "", + "tooltip": "", + "tagGroup": "Process Variable", + "enabled": true, + "tagType": "AtomicTag", + "readOnly": false, + "dataType": "Int4", + "name": "Val_Fault", + "historyEnabled": true, + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + } + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "historyProvider": { + "bindType": "parameter", + "binding": "{HistoryProvider}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Device Feedback 0\u003dMoving, 1\u003dClosed, 2\u003dOpened, 3\u003dLimit Switch Failure\n", + "tooltip": "Device Feedback 0\u003dMoving, 1\u003dClosed, 2\u003dOpened, 3\u003dLimit Switch Failure ", + "name": "Val_Fdbk", + "historyEnabled": true, + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "Process Variable", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "valueSource": "expr", + "expression": "switch({[.]Val_Fdbk},\n0,1,2,3,\n\"Moving\", //0\n\"Closed\", //1\n\"Opened\", //2\n\"Lim Switch Fail\", //3\nforceQuality(\"!BAD STATE!\",0)) //other", + "readOnly": false, + "dataType": "String", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "Val_Fdbk Text", + "executionMode": "TagGroupRate", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Val_Notify", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Val_NotifyAll", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Val_Owner", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "historyProvider": { + "bindType": "parameter", + "binding": "{HistoryProvider}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "historicalDeadband": 1.0, + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Device Confirmed Sts 0\u003d? 1\u003dClosed 2\u003dOpen 5\u003dClosing, 6\u003dOpening, 33\u003dDisabled\n", + "tooltip": "Device Confirmed Sts 0\u003d? 1\u003dClosed 2\u003dOpen 5\u003dClosing, 6\u003dOpening, 33\u003dDisabled ", + "tagGroup": "Process Variable", + "enabled": true, + "tagType": "AtomicTag", + "readOnly": false, + "dataType": "Int4", + "name": "Val_Sts", + "historyEnabled": true, + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + } + }, + { + "valueSource": "expr", + "expression": "switch({[.]Val_Sts},\n0,1,2,5,6,33,\n\"?\", //0\n\"Closed\", //1\n\"Open\", //2\n\"Closing\",//5\n\"Opening\", //6\n\"Disabled\", //33\nforceQuality(\"!BAD STATE!\",0)) //other\n\n//Device Confirmed Sts 0\u003d? 1\u003dClosed 2\u003dOpen 5\u003dClosing, 6\u003dOpening, 33\u003dDisabled\n", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Device Confirmed Sts 0\u003d? 1\u003dClosed 2\u003dOpen 5\u003dClosing, 6\u003dOpening, 33\u003dDisabled\n", + "tooltip": "Device Confirmed Sts 0\u003d? 1\u003dClosed 2\u003dOpen 5\u003dClosing, 6\u003dOpening, 33\u003dDisabled ", + "tagGroup": "Default", + "enabled": true, + "tagType": "AtomicTag", + "readOnly": false, + "dataType": "String", + "name": "Val_Sts Text", + "executionMode": "TagGroupRate", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + } + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Val_UnackAlmC", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "valueSource": "memory", + "dataType": "String", + "name": "Version", + "value": "4.10.05", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "historyProvider": "SwiftWater", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Maintenance command to acquire ownership (Operator/Program/Override to Maintenance).", + "tooltip": "Maintenance command to acquire ownership (Operator/Program/Override to Maintenance).", + "name": "XCmd_Acq", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "XCmd_Close", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "XCmd_Open", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "readOnly": false, + "dataType": "Boolean", + "historyProvider": "SwiftWater", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "documentation": "Maintenance command to release ownership (Maint to Operator/Program/Override).", + "tooltip": "Maintenance command to release ownership (Maint to Operator/Program/Override).", + "name": "XCmd_Rel", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "enabled": true, + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "XCmd_Reset", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + } + ] + }, + { + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "name": "P_CmdSrc", + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "parameters": { + "BlockName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{BlockName}" + } + }, + "HistoryProvider": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{HistoryProvider}" + } + }, + "OPC Server": { + "dataType": "String", + "value": "FactoryTalkLinxGateway" + }, + "PLCName": { + "dataType": "String", + "value": { + "bindType": "parameter", + "binding": "{PLCName}" + } + }, + "OPCPrefix": { + "dataType": "String", + "value": "nsu\u003dhttp://www.rockwellautomation.com/OpcUa;s\u003d" + } + }, + "tagGroup": "Default", + "enabled": true, + "tagType": "UdtType", + "tags": [ + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_ExtAcqAsLevel", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_ExtOverLock", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasExt", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasMOoS", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasMaint", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasOper", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasOperLocked", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasProg", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_HasProgLocked", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_OvrdOverLock", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_PCmdLockAsLevel", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_PCmdPriority", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_PCmdProgAsLevel", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_ProgNormal", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Cfg_ProgPwrUp", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "EnableIn", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "EnableOut", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_ExtInh", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_Hand", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Inp_Ovrd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MCmd_Acq", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MCmd_IS", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MCmd_OoS", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MCmd_Rel", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MRdy_Acq", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MRdy_IS", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MRdy_OoS", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "MRdy_Rel", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "OCmd_Lock", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "OCmd_Normal", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "OCmd_Oper", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "OCmd_Prog", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "OCmd_Unlock", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_Lock", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_Normal", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_Oper", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_Prog", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "ORdy_Unlock", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_Lock", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_Normal", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_Oper", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_Prog", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "PCmd_Unlock", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "P_CmdSrc", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "valueSource": "memory", + "dataType": "String", + "name": "Prime Version", + "tagGroup": "OnlyWhenViewed", + "value": "1.0", + "tagType": "AtomicTag" + }, + { + "rawHigh": 4.0, + "valueSource": "memory", + "scaledLow": 1.0, + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "OnlyWhenViewed", + "clampMode": "Clamp_Both", + "enabled": true, + "tagType": "AtomicTag", + "scaledHigh": 4.0, + "scaleMode": "Linear", + "readOnly": false, + "dataType": "Int4", + "name": "Severity", + "rawLow": 1.0, + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "value": 1 + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Ext", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_ExtReqInh", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Hand", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_MAcqRcvd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Maint", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Normal", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_OoS", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Oper", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_OperLocked", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Ovrd", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_Prog", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_ProgLocked", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_ProgOperLock", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_ProgOperSel", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "Sts_ProgReqInh", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Sts_bSrc", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Int4", + "name": "Sts_eSrc", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "valueSource": "memory", + "dataType": "String", + "name": "Version", + "tagGroup": "OnlyWhenViewed", + "value": "4.10.05", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "XCmd_Acq", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "XCmd_Rel", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "XRdy_Acq", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "{OPCPrefix}[{PLCName}]{BlockName}.{InstanceName}.{TagName}" + }, + "opcServer": { + "bindType": "parameter", + "binding": "{OPC Server}" + }, + "valueSource": "opc", + "dataType": "Boolean", + "name": "XRdy_Rel", + "tagGroup": "OnlyWhenViewed", + "tagType": "AtomicTag" + } + ] + } +] \ No newline at end of file diff --git a/config/dcframe1-hmi1/resources/core/ignition/tag-type-definition/default/Plant PAX/unary-resource.json b/config/dcframe1-hmi1/resources/core/ignition/tag-type-definition/default/Plant PAX/unary-resource.json new file mode 100644 index 0000000..df351a6 --- /dev/null +++ b/config/dcframe1-hmi1/resources/core/ignition/tag-type-definition/default/Plant PAX/unary-resource.json @@ -0,0 +1,25 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "udts.json" + ], + "attributes": { + "config": { + "readOnly": false, + "dataType": "Int4", + "writePermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "readPermissions": { + "type": "AllOf", + "securityLevels": [] + }, + "tagGroup": "Default", + "enabled": true + } + } +} \ No newline at end of file diff --git a/config/dcframe1-hmi1/resources/core/ignition/tag-type-definition/default/udts.json b/config/dcframe1-hmi1/resources/core/ignition/tag-type-definition/default/udts.json new file mode 100644 index 0000000..7c94603 --- /dev/null +++ b/config/dcframe1-hmi1/resources/core/ignition/tag-type-definition/default/udts.json @@ -0,0 +1,50 @@ +[ + { + "name": "AB_Diagnostics", + "parameters": { + "DeviceName": { + "dataType": "String", + "value": "" + } + }, + "tagType": "UdtType", + "tags": [ + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[{DeviceName}][Diagnostics]/Hostname" + }, + "valueSource": "opc", + "dataType": "String", + "name": "Hostname", + "tagType": "AtomicTag", + "opcServer": "Ignition OPC-UA Server" + }, + { + "opcItemPath": { + "bindType": "parameter", + "binding": "ns\u003d1;s\u003d[{DeviceName}][Diagnostics]/Is Connected" + }, + "valueSource": "opc", + "dataType": "Boolean", + "historyProvider": "Tag_History_Splitter", + "alarms": [ + { + "setpointA": 0.0, + "activePipeline": "Jetta/CDP Alarms", + "timeOnDelaySeconds": 600.0, + "name": "Connection Lost", + "label": "{PerspectivePage}{DeviceName}", + "displayPath": "{InstanceName} Connection Lost", + "priority": "High", + "enabled": true + } + ], + "name": "Is Connected", + "historyEnabled": true, + "tagType": "AtomicTag", + "opcServer": "Ignition OPC-UA Server" + } + ] + } +] \ No newline at end of file diff --git a/config/dcframe1-hmi1/resources/core/ignition/tag-type-definition/default/unary-resource.json b/config/dcframe1-hmi1/resources/core/ignition/tag-type-definition/default/unary-resource.json index 77ed304..8fb3cc0 100644 --- a/config/dcframe1-hmi1/resources/core/ignition/tag-type-definition/default/unary-resource.json +++ b/config/dcframe1-hmi1/resources/core/ignition/tag-type-definition/default/unary-resource.json @@ -3,7 +3,9 @@ "version": 1, "restricted": false, "overridable": true, - "files": [], + "files": [ + "udts.json" + ], "attributes": { "config": {} } diff --git a/config/dcframe1-hmi1/resources/core/ignition/user-source/temp_0/config.json b/config/dcframe1-hmi1/resources/core/ignition/user-source/temp_0/config.json new file mode 100644 index 0000000..a8cc136 --- /dev/null +++ b/config/dcframe1-hmi1/resources/core/ignition/user-source/temp_0/config.json @@ -0,0 +1,20 @@ +{ + "profile": { + "cacheValidationTimeout": 15, + "failoverMode": "HARD", + "lockoutAttempts": 5, + "lockoutEnabled": true, + "lockoutWindow": 15, + "scheduleRestricted": false, + "type": "INTERNAL" + }, + "settings": { + "passwordComplexity": 3, + "passwordContainsPassword": true, + "passwordContainsUserName": true, + "passwordHistory": 0, + "passwordMaxAge": 0, + "passwordMaxRepeatedChars": 3, + "passwordMinLength": 8 + } +} \ No newline at end of file diff --git a/config/dcframe1-hmi1/resources/core/ignition/user-source/temp_0/resource.json b/config/dcframe1-hmi1/resources/core/ignition/user-source/temp_0/resource.json new file mode 100644 index 0000000..c6ac9a0 --- /dev/null +++ b/config/dcframe1-hmi1/resources/core/ignition/user-source/temp_0/resource.json @@ -0,0 +1,19 @@ +{ + "scope": "A", + "description": "Temporary user source profile created during password reset", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "config.json", + "users.json" + ], + "attributes": { + "lastModification": { + "actor": "system-init", + "timestamp": "2025-11-05T21:48:19Z" + }, + "uuid": "b9df768a-f430-4544-aa08-b1d43a4a2634", + "lastModificationSignature": "f73e451bc51835143980ec5ba837793edcf3e3f68ed79cf9e8688f859fa1fc98" + } +} \ No newline at end of file diff --git a/config/dcframe1-hmi1/resources/core/ignition/user-source/temp_0/users.json b/config/dcframe1-hmi1/resources/core/ignition/user-source/temp_0/users.json new file mode 100644 index 0000000..efd8a7e --- /dev/null +++ b/config/dcframe1-hmi1/resources/core/ignition/user-source/temp_0/users.json @@ -0,0 +1,28 @@ +{ + "users": [ + { + "uuid": "16e52ab8-9aa1-4a24-a6ee-1d01287f7d26", + "username": "admin", + "schedule": "Always", + "password": "[BBB74369]d5d089ef3e4b4a0664211dcc3497b621a1b2bccb207292043ed2b58b717eb7e5", + "passwordDate": "20251105.154819584-0600", + "passwordHistory": [], + "createdDate": "20251105.154819583-0600", + "lastModifiedDate": "20251105.154819583-0600", + "roles": [ + "8b758ede-ac6e-443f-9e52-c8b6d2801cea" + ], + "extraProps": [], + "scheduleAdjustments": [], + "contactInfos": [] + } + ], + "roles": [ + { + "uuid": "8b758ede-ac6e-443f-9e52-c8b6d2801cea", + "rolename": "Administrator", + "createdDate": "20251105.154819583-0600", + "lastModifiedDate": "20251105.154819583-0600" + } + ] +} \ No newline at end of file diff --git a/config/dcframe1-hmi1/resources/local/ignition/local-system-properties/config.json b/config/dcframe1-hmi1/resources/local/ignition/local-system-properties/config.json index 32d1e2b..6826b58 100644 --- a/config/dcframe1-hmi1/resources/local/ignition/local-system-properties/config.json +++ b/config/dcframe1-hmi1/resources/local/ignition/local-system-properties/config.json @@ -1,3 +1,3 @@ { - "demoTimeRemaining": 7198 + "demoTimeRemaining": 7195 } \ No newline at end of file diff --git a/config/dcframe1-hmi1/resources/local/ignition/local-system-properties/resource.json b/config/dcframe1-hmi1/resources/local/ignition/local-system-properties/resource.json index 3c28e83..be328ff 100644 --- a/config/dcframe1-hmi1/resources/local/ignition/local-system-properties/resource.json +++ b/config/dcframe1-hmi1/resources/local/ignition/local-system-properties/resource.json @@ -9,8 +9,8 @@ "attributes": { "lastModification": { "actor": "unknown", - "timestamp": "2025-11-04T23:29:19Z" + "timestamp": "2025-11-05T22:37:27Z" }, - "lastModificationSignature": "c6147f4b24e159c3d08b59e2c0319be84ce434d1de5aa32ee049e22ab643e905" + "lastModificationSignature": "53ad7e9e84054f81c944163d8c9f37733adc4abd750a3c1894f5d3e85c02c618" } } \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.alarm-notification/alarm-pipelines/Critical/data.bin b/project/dcframe1-hmi1/Core/com.inductiveautomation.alarm-notification/alarm-pipelines/Critical/data.bin new file mode 100644 index 0000000..e7d1575 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.alarm-notification/alarm-pipelines/Critical/data.bin differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.alarm-notification/alarm-pipelines/Critical/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.alarm-notification/alarm-pipelines/Critical/resource.json new file mode 100644 index 0000000..307f5df --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.alarm-notification/alarm-pipelines/Critical/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "data.bin" + ], + "attributes": { + "lastModificationSignature": "2f450bb64391441e5c794e84145f44bc4ee7f3abe3beca08148a033a11496625", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.alarm-notification/alarm-pipelines/Default/data.bin b/project/dcframe1-hmi1/Core/com.inductiveautomation.alarm-notification/alarm-pipelines/Default/data.bin new file mode 100644 index 0000000..12947d9 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.alarm-notification/alarm-pipelines/Default/data.bin differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.alarm-notification/alarm-pipelines/Default/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.alarm-notification/alarm-pipelines/Default/resource.json new file mode 100644 index 0000000..b388ae3 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.alarm-notification/alarm-pipelines/Default/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "data.bin" + ], + "attributes": { + "lastModificationSignature": "8619e80a23a707a1974fd44786836d80c236032aa03ff00037d8f1a204195abe", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.alarm-notification/alarm-pipelines/Diagnostic/data.bin b/project/dcframe1-hmi1/Core/com.inductiveautomation.alarm-notification/alarm-pipelines/Diagnostic/data.bin new file mode 100644 index 0000000..d203049 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.alarm-notification/alarm-pipelines/Diagnostic/data.bin differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.alarm-notification/alarm-pipelines/Diagnostic/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.alarm-notification/alarm-pipelines/Diagnostic/resource.json new file mode 100644 index 0000000..b8b8f64 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.alarm-notification/alarm-pipelines/Diagnostic/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "data.bin" + ], + "attributes": { + "lastModificationSignature": "15fa818255942967ce6acfe5e2b692cc79b133a69d8303bb03406ba358a44d0b", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.alarm-notification/alarm-pipelines/Notify/data.bin b/project/dcframe1-hmi1/Core/com.inductiveautomation.alarm-notification/alarm-pipelines/Notify/data.bin new file mode 100644 index 0000000..9cad90e Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.alarm-notification/alarm-pipelines/Notify/data.bin differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.alarm-notification/alarm-pipelines/Notify/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.alarm-notification/alarm-pipelines/Notify/resource.json new file mode 100644 index 0000000..8224a93 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.alarm-notification/alarm-pipelines/Notify/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "data.bin" + ], + "attributes": { + "lastModificationSignature": "7c9600d70a4a56427b89b01e588dd4fdd2523754667445ceaf0c459c611d8617", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/general-properties/data.bin b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/general-properties/data.bin new file mode 100644 index 0000000..929483e --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/general-properties/data.bin @@ -0,0 +1,15 @@ +{ + "updateMode": "Notify", + "updateMessage": "This project has been changed. Please save your work, this session will automatically update in {timeLeft} seconds.", + "updateTimeout": 60, + "locale": "Browser", + "idp": null, + "timezone": "Gateway Timezone", + "desktopPageTimeoutSeconds": 60, + "mobilePageTimeoutSeconds": 600, + "hideFromLaunchListings": false, + "thumbnailPath": "", + "sessionClosedMessage": "This Perspective session has been closed.", + "pageClosedMessage": "This Perspective page has been closed.", + "loggedOutMessage": "You are now logged out of your Perspective session. If you are on a shared device, it is recommended to log out of all other sessions before walking away." +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/general-properties/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/general-properties/resource.json new file mode 100644 index 0000000..a63a155 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/general-properties/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "data.bin" + ], + "attributes": { + "lastModificationSignature": "101589ca5233f424b5377ca3d9bb64cbf1c467d33f56936c5e255fd168ba9986", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/page-config/config.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/page-config/config.json new file mode 100644 index 0000000..3423bed --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/page-config/config.json @@ -0,0 +1,81 @@ +{ + "pages": { + "/": { + "title": "", + "viewPath": "Main Windows/Map" + }, + "/alarm_analysis": { + "viewPath": "Alarm Analysis/Alarm Analysis" + }, + "/alarm_journal": { + "viewPath": "Alarm Journal/Alarm Journal" + }, + "/alarm_windows": { + "viewPath": "Docks/Alarm Windows" + }, + "/alarms": { + "title": "", + "viewPath": "Alarm Journal/Alarms" + }, + "/audit_log": { + "viewPath": "Audit Log/Audit Log" + }, + "/diagnostics": { + "viewPath": "Diagnostics/Diagnostics" + }, + "/hmi_demo": { + "title": "", + "viewPath": "Main Windows/hmidemo" + }, + "/plantpax": { + "title": "", + "viewPath": "Main Windows/PlantPAX_Instances" + }, + "/report": { + "title": "", + "viewPath": "Main Windows/Alarm Summary Report" + }, + "/site_menu": { + "title": "", + "viewPath": "Docks/Site Menu" + }, + "/trends": { + "viewPath": "AdHocTrends/AdHocTrends" + } + }, + "sharedDocks": { + "cornerPriority": "top-bottom", + "left": [ + { + "anchor": "fixed", + "autoBreakpoint": 1024, + "content": "push", + "handle": "hide", + "iconUrl": "", + "id": "menu", + "modal": false, + "resizable": false, + "show": "auto", + "size": 160, + "viewParams": {}, + "viewPath": "Docks/Menu" + } + ], + "top": [ + { + "anchor": "fixed", + "autoBreakpoint": 480, + "content": "push", + "handle": "hide", + "iconUrl": "", + "id": "", + "modal": false, + "resizable": false, + "show": "visible", + "size": 60, + "viewParams": {}, + "viewPath": "Header/Header BP Large" + } + ] + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/page-config/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/page-config/resource.json new file mode 100644 index 0000000..569ee80 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/page-config/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "config.json" + ], + "attributes": { + "lastModificationSignature": "67f75678b2e0ca347a2b3e71e6220d5b6b54af6069de1f979ba9ef41cd8e7596", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:11Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/session-permissions/data.bin b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/session-permissions/data.bin new file mode 100644 index 0000000..923c43f --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/session-permissions/data.bin @@ -0,0 +1,9 @@ +{ + "type": "AllOf", + "securityLevels": [ + { + "name": "Authenticated", + "children": [] + } + ] +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/session-permissions/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/session-permissions/resource.json new file mode 100644 index 0000000..d673d61 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/session-permissions/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "data.bin" + ], + "attributes": { + "lastModificationSignature": "55ea632c05c4416e7f624b68b47ae3306afd44380c8beccded114b22ff6e2f23", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/session-props/props.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/session-props/props.json new file mode 100644 index 0000000..0aa9b6f --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/session-props/props.json @@ -0,0 +1,92 @@ +{ + "custom": { + "breakpoint": 500, + "clickToGraph": { + "filters": { + "endDate": "value", + "mode": "realtime", + "mostRecent": { + "units": "min", + "value": 5 + } + }, + "pollRate": { + "units": "min", + "value": 1 + }, + "showOverlay": false, + "startDate": null, + "tags": [] + } + }, + "propConfig": { + "props.auth": { + "access": "PRIVATE", + "persistent": false + }, + "props.device.accelerometer": { + "access": "SYSTEM", + "persistent": false + }, + "props.device.identifier": { + "access": "SYSTEM", + "persistent": false + }, + "props.device.timezone": { + "access": "SYSTEM", + "persistent": false + }, + "props.device.type": { + "access": "SYSTEM", + "persistent": false + }, + "props.device.userAgent": { + "access": "SYSTEM", + "persistent": false + }, + "props.gateway": { + "access": "SYSTEM", + "persistent": false + }, + "props.geolocation.data": { + "access": "SYSTEM", + "persistent": false + }, + "props.geolocation.permissionGranted": { + "access": "SYSTEM", + "persistent": false + }, + "props.host": { + "access": "SYSTEM", + "persistent": false + }, + "props.id": { + "access": "SYSTEM", + "persistent": false + }, + "props.lastActivity": { + "access": "SYSTEM", + "persistent": false + }, + "props.offline.capable": { + "access": "SYSTEM", + "persistent": false + }, + "props.offline.enabled": { + "access": "SYSTEM", + "persistent": false + }, + "props.offline.lastSynced": { + "access": "SYSTEM", + "persistent": false + } + }, + "props": { + "address": "192.168.51.67", + "device": {}, + "geolocation": {}, + "locale": "en-US", + "offline": {}, + "timeZoneId": "America/Chicago" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/session-props/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/session-props/resource.json new file mode 100644 index 0000000..afcb716 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/session-props/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "props.json" + ], + "attributes": { + "lastModificationSignature": "2e211095f5ad5482b2da991f47f6532051b34ca0fc655e4dd1f7066098bed0b5", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:49:04Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/CancelButton/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/CancelButton/resource.json new file mode 100644 index 0000000..ee16717 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/CancelButton/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "4c91509f3a55a5d87901959568797031fcb8d4b3756df2c0cf8b5c8fb23c48bb", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:09Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/CancelButton/style.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/CancelButton/style.json new file mode 100644 index 0000000..4d77235 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/CancelButton/style.json @@ -0,0 +1,10 @@ +{ + "base": { + "style": { + "borderTopLeftRadius": "4px", + "borderTopRightRadius": "0px", + "borderBottomLeftRadius": "4px", + "borderBottomRightRadius": "0px" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/CancelButtonMobile/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/CancelButtonMobile/resource.json new file mode 100644 index 0000000..3fb5cda --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/CancelButtonMobile/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "8d4ba3a23d263cd0a887a86a08f354cd980aa7d4f45f9ab10ac8106a13844efb", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/CancelButtonMobile/style.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/CancelButtonMobile/style.json new file mode 100644 index 0000000..e1f1f25 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/CancelButtonMobile/style.json @@ -0,0 +1,10 @@ +{ + "base": { + "style": { + "borderTopLeftRadius": "8px", + "borderTopRightRadius": "0px", + "borderBottomLeftRadius": "8px", + "borderBottomRightRadius": "0px" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/Control/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/Control/resource.json new file mode 100644 index 0000000..62ccc8d --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/Control/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "deb573f4c6b14d4357892ce7335eb6f83685d82e4bb3ed16ea2aa3b81ca24691", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/Control/style.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/Control/style.json new file mode 100644 index 0000000..8e50623 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/Control/style.json @@ -0,0 +1,7 @@ +{ + "base": { + "style": { + "padding": "1px" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/ControlBar/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/ControlBar/resource.json new file mode 100644 index 0000000..bc27ff2 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/ControlBar/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "1e91c7b03e6a791230bc0732b95fc538aeef89574be8b6232a7738884f378059", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:09Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/ControlBar/style.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/ControlBar/style.json new file mode 100644 index 0000000..5a80e5c --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/ControlBar/style.json @@ -0,0 +1,10 @@ +{ + "base": { + "style": { + "paddingBottom": "8px", + "paddingLeft": "14px", + "paddingRight": "16px", + "paddingTop": "16px" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/DropDown/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/DropDown/resource.json new file mode 100644 index 0000000..9f79ee5 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/DropDown/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "f2a0d9e00a2a689be08917d849c9400bf975c7f200ab75caf7fbf62d7bc2f087", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:09Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/DropDown/style.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/DropDown/style.json new file mode 100644 index 0000000..1ea8821 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/DropDown/style.json @@ -0,0 +1,8 @@ +{ + "base": { + "style": { + "backgroundColor": "var(--neutral-10)", + "color": "var(--neutral-90)" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/FullRadius/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/FullRadius/resource.json new file mode 100644 index 0000000..df7fd2d --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/FullRadius/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "6987fb3142e81fef2c3af5ef29a44cadce596026ad7ce60826a7a6387d822a68", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/FullRadius/style.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/FullRadius/style.json new file mode 100644 index 0000000..b7b9f77 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/FullRadius/style.json @@ -0,0 +1,10 @@ +{ + "base": { + "style": { + "borderTopLeftRadius": "4px", + "borderTopRightRadius": "4px", + "borderBottomLeftRadius": "4px", + "borderBottomRightRadius": "4px" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/FullRadiusMobile/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/FullRadiusMobile/resource.json new file mode 100644 index 0000000..fb1858e --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/FullRadiusMobile/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "7bdf132807d06eca780d8dc975e94036622ff295d9d3449a201ff0957dc2bc0f", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:09Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/FullRadiusMobile/style.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/FullRadiusMobile/style.json new file mode 100644 index 0000000..0d239df --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/FullRadiusMobile/style.json @@ -0,0 +1,10 @@ +{ + "base": { + "style": { + "borderTopLeftRadius": "8px", + "borderTopRightRadius": "8px", + "borderBottomLeftRadius": "8px", + "borderBottomRightRadius": "8px" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/FunctionBar/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/FunctionBar/resource.json new file mode 100644 index 0000000..a209125 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/FunctionBar/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "47861466b3f4061a661ea2598a757ecfd9d06568f21ab5dda40e6916321e92f8", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/FunctionBar/style.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/FunctionBar/style.json new file mode 100644 index 0000000..b127cf5 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/FunctionBar/style.json @@ -0,0 +1,11 @@ +{ + "base": { + "style": { + "backgroundColor": "var(--neutral-20)", + "paddingBottom": "2px", + "paddingLeft": "8px", + "paddingRight": "16px", + "paddingTop": "2px" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/FunctionTitle/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/FunctionTitle/resource.json new file mode 100644 index 0000000..d6b13f9 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/FunctionTitle/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "1ec1e056011addaaadb639fb9c72d159d9318beb8392f2f7c669e01b79f0e321", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:09Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/FunctionTitle/style.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/FunctionTitle/style.json new file mode 100644 index 0000000..d7095a2 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/FunctionTitle/style.json @@ -0,0 +1,9 @@ +{ + "base": { + "style": { + "fontSize": "12px", + "fontWeight": "bold", + "textAlign": "right" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/Header/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/Header/resource.json new file mode 100644 index 0000000..0558807 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/Header/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "c09fc3377b18fa11ba08784e7376e802e455f3d0ce6836f3cdfaf5a8535e840c", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:11Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/Header/style.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/Header/style.json new file mode 100644 index 0000000..ec29520 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/Header/style.json @@ -0,0 +1,10 @@ +{ + "base": { + "style": { + "backgroundColor": "var(--neutral-30)", + "borderColor": "var(--neutral-50)", + "borderStyle": "solid", + "borderWidth": "1px" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/HeaderTitle/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/HeaderTitle/resource.json new file mode 100644 index 0000000..a23c766 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/HeaderTitle/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "76ad49bdbd464da08c4ee3330658b0759546590d95540fe0ebeee799e03b5437", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:11Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/HeaderTitle/style.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/HeaderTitle/style.json new file mode 100644 index 0000000..b21b980 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/HeaderTitle/style.json @@ -0,0 +1,7 @@ +{ + "base": { + "style": { + "fontWeight": "bold" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/LeftRadius/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/LeftRadius/resource.json new file mode 100644 index 0000000..cab75b7 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/LeftRadius/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "992b33a74ed0bf386f864013428105205375df98b89240091cca7d5d475cd272", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/LeftRadius/style.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/LeftRadius/style.json new file mode 100644 index 0000000..4d77235 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/LeftRadius/style.json @@ -0,0 +1,10 @@ +{ + "base": { + "style": { + "borderTopLeftRadius": "4px", + "borderTopRightRadius": "0px", + "borderBottomLeftRadius": "4px", + "borderBottomRightRadius": "0px" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/LeftRadiusMobile/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/LeftRadiusMobile/resource.json new file mode 100644 index 0000000..eb97083 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/LeftRadiusMobile/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "0cd44ef6bc8bade7cfd09e1dcf1af55d0ac18cb19b9818ebf733fedb2ef51a11", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:11Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/LeftRadiusMobile/style.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/LeftRadiusMobile/style.json new file mode 100644 index 0000000..e1f1f25 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/LeftRadiusMobile/style.json @@ -0,0 +1,10 @@ +{ + "base": { + "style": { + "borderTopLeftRadius": "8px", + "borderTopRightRadius": "0px", + "borderBottomLeftRadius": "8px", + "borderBottomRightRadius": "0px" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/MobileControl/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/MobileControl/resource.json new file mode 100644 index 0000000..62ccc8d --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/MobileControl/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "deb573f4c6b14d4357892ce7335eb6f83685d82e4bb3ed16ea2aa3b81ca24691", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/MobileControl/style.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/MobileControl/style.json new file mode 100644 index 0000000..8e50623 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/MobileControl/style.json @@ -0,0 +1,7 @@ +{ + "base": { + "style": { + "padding": "1px" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/MobileControlBar/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/MobileControlBar/resource.json new file mode 100644 index 0000000..d7f916f --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/MobileControlBar/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "0865c2eb2913843e654266c39d1b92b4330496c411db357b186b0d0161c89eb1", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:11Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/MobileControlBar/style.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/MobileControlBar/style.json new file mode 100644 index 0000000..bded29c --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/MobileControlBar/style.json @@ -0,0 +1,10 @@ +{ + "base": { + "style": { + "paddingBottom": "6px", + "paddingLeft": "12px", + "paddingRight": "12px", + "paddingTop": "8px" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/MobileFunctionBar/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/MobileFunctionBar/resource.json new file mode 100644 index 0000000..e31bc8e --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/MobileFunctionBar/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "d68beeabff84fcc697be4be0956b175716d321d54811011c846819911aaa9a94", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/MobileFunctionBar/style.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/MobileFunctionBar/style.json new file mode 100644 index 0000000..98cc0ee --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/MobileFunctionBar/style.json @@ -0,0 +1,11 @@ +{ + "base": { + "style": { + "backgroundColor": "var(--neutral-20)", + "paddingBottom": "8px", + "paddingLeft": "8px", + "paddingRight": "8px", + "paddingTop": "8px" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/RightRadius/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/RightRadius/resource.json new file mode 100644 index 0000000..cacddd8 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/RightRadius/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "865b772cd60bf3619dad0bfe1d021faea35ffd7be4fae97e865135d243eaf029", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:09Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/RightRadius/style.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/RightRadius/style.json new file mode 100644 index 0000000..080b7e5 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/RightRadius/style.json @@ -0,0 +1,10 @@ +{ + "base": { + "style": { + "borderTopLeftRadius": "0px", + "borderTopRightRadius": "4px", + "borderBottomLeftRadius": "0px", + "borderBottomRightRadius": "4px" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/RightRadiusMobile/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/RightRadiusMobile/resource.json new file mode 100644 index 0000000..331eb4d --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/RightRadiusMobile/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "29a9476fa02cc64a3daa0f7894913b6237330e0479fe0bda6ab5e092c41cb3e4", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/RightRadiusMobile/style.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/RightRadiusMobile/style.json new file mode 100644 index 0000000..7eeaad8 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/RightRadiusMobile/style.json @@ -0,0 +1,10 @@ +{ + "base": { + "style": { + "borderTopLeftRadius": "0px", + "borderTopRightRadius": "8px", + "borderBottomLeftRadius": "0px", + "borderBottomRightRadius": "8px" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/SaveLoadButton/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/SaveLoadButton/resource.json new file mode 100644 index 0000000..93b5848 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/SaveLoadButton/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "7726525029f3db8a77882ef14082517e531bb52f7c03a176248a18a3d9eec129", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/SaveLoadButton/style.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/SaveLoadButton/style.json new file mode 100644 index 0000000..080b7e5 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/SaveLoadButton/style.json @@ -0,0 +1,10 @@ +{ + "base": { + "style": { + "borderTopLeftRadius": "0px", + "borderTopRightRadius": "4px", + "borderBottomLeftRadius": "0px", + "borderBottomRightRadius": "4px" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/SaveLoadButtonMobile/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/SaveLoadButtonMobile/resource.json new file mode 100644 index 0000000..09a8efd --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/SaveLoadButtonMobile/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "a1c844f832b2703e9781d132add5a538fd9ffd13df63afa23f17c3bf2fc2fe4c", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:11Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/SaveLoadButtonMobile/style.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/SaveLoadButtonMobile/style.json new file mode 100644 index 0000000..7eeaad8 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AdHocTrends/SaveLoadButtonMobile/style.json @@ -0,0 +1,10 @@ +{ + "base": { + "style": { + "borderTopLeftRadius": "0px", + "borderTopRightRadius": "8px", + "borderBottomLeftRadius": "0px", + "borderBottomRightRadius": "8px" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AlarmAnalysis/Label/data.bin b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AlarmAnalysis/Label/data.bin new file mode 100644 index 0000000..ea5bf55 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AlarmAnalysis/Label/data.bin @@ -0,0 +1 @@ +{"base":{"style":{"color":"#2B2B2B","fontSize":"14px","fontWeight":"300","lineHeight":"16px"}}} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AlarmAnalysis/Label/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AlarmAnalysis/Label/resource.json new file mode 100644 index 0000000..788ba25 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AlarmAnalysis/Label/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "data.bin" + ], + "attributes": { + "lastModificationSignature": "4685188d8cf3b5c8b3261dc52fa9c25914fc989a118bcb7befcfacdb4e244ffc", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AlarmJournal/Ack/data.bin b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AlarmJournal/Ack/data.bin new file mode 100644 index 0000000..71f55c3 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AlarmJournal/Ack/data.bin @@ -0,0 +1 @@ +{"base":{"style":{"backgroundColor":"#FFFF8A","borderColor":"#CCCCCC","borderStyle":"solid","borderWidth":"1px","borderRadius":"4px","color":"#2E2E2E","fontSize":"14px","fontWeight":"normal","textAlign":"center"}}} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AlarmJournal/Ack/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AlarmJournal/Ack/resource.json new file mode 100644 index 0000000..7eba39a --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AlarmJournal/Ack/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "data.bin" + ], + "attributes": { + "lastModificationSignature": "a48978e09f69f8642bf6cabcff27485e6e3b048326cb448ee19dd5c052181640", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AlarmJournal/Active_Ack/data.bin b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AlarmJournal/Active_Ack/data.bin new file mode 100644 index 0000000..74dfca1 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AlarmJournal/Active_Ack/data.bin @@ -0,0 +1 @@ +{"base":{"style":{"backgroundColor":"#FF4747","borderColor":"#CCCCCC","borderStyle":"solid","borderWidth":"1px","borderRadius":"4px","color":"#FFFFFF","fontSize":"14px","fontWeight":"normal","textAlign":"center"}}} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AlarmJournal/Active_Ack/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AlarmJournal/Active_Ack/resource.json new file mode 100644 index 0000000..67def8f --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AlarmJournal/Active_Ack/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "data.bin" + ], + "attributes": { + "lastModificationSignature": "58a44e4d2747f516a88ad256164bc986f0bbe5023cfee0e16952f43efd549f02", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:09Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AlarmJournal/Active_Unack/data.bin b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AlarmJournal/Active_Unack/data.bin new file mode 100644 index 0000000..f49c257 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AlarmJournal/Active_Unack/data.bin @@ -0,0 +1 @@ +{"base":{"animation":{"duration":"1s","keyframes":{"0%":{"backgroundColor":"#FF4747","borderColor":"#CCCCCC","borderStyle":"solid","borderWidth":"1px","borderRadius":"4px","color":"#FFFFFF","fontSize":"14px","fontWeight":"bold","textAlign":"center"},"100%":{"backgroundColor":"#FF4747","borderColor":"#CCCCCC","borderStyle":"solid","borderWidth":"1px","borderRadius":"4px","color":"#D5D5D5","fontSize":"14px","fontWeight":"bold","textAlign":"center"}}}}} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AlarmJournal/Active_Unack/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AlarmJournal/Active_Unack/resource.json new file mode 100644 index 0000000..731e92b --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AlarmJournal/Active_Unack/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "data.bin" + ], + "attributes": { + "lastModificationSignature": "0c99f45638fec949e2e57dc89f766441506abd48ac6314bfaf3df3837d2ab312", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AlarmJournal/Clear_Ack/data.bin b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AlarmJournal/Clear_Ack/data.bin new file mode 100644 index 0000000..a54f0ac --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AlarmJournal/Clear_Ack/data.bin @@ -0,0 +1 @@ +{"base":{"style":{"backgroundColor":"#CCFFCC","borderColor":"#CCCCCC","borderStyle":"solid","borderWidth":"1px","borderRadius":"4px","color":"#2E2E2E","fontSize":"14px","fontWeight":"normal","textAlign":"center"}}} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AlarmJournal/Clear_Ack/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AlarmJournal/Clear_Ack/resource.json new file mode 100644 index 0000000..1b91fc4 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AlarmJournal/Clear_Ack/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "data.bin" + ], + "attributes": { + "lastModificationSignature": "4a1474b1eb1a58cce4d140928858fc8f64f5c06babe1605baafd7c22432fbc11", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AlarmJournal/Clear_Unack/data.bin b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AlarmJournal/Clear_Unack/data.bin new file mode 100644 index 0000000..f1b3530 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AlarmJournal/Clear_Unack/data.bin @@ -0,0 +1 @@ +{"base":{"animation":{"duration":"1s","keyframes":{"0%":{"backgroundColor":"#CCFFCC","borderColor":"#CCCCCC","borderStyle":"solid","borderWidth":"1px","borderRadius":"4px","color":"#2E2E2E","fontSize":"14px","fontWeight":"bold","textAlign":"center"},"100%":{"backgroundColor":"#CCFFCC","borderColor":"#CCCCCC","borderStyle":"solid","borderWidth":"1px","borderRadius":"4px","color":"#808080","fontSize":"14px","fontWeight":"bold","textAlign":"center"}}}}} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AlarmJournal/Clear_Unack/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AlarmJournal/Clear_Unack/resource.json new file mode 100644 index 0000000..9713002 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AlarmJournal/Clear_Unack/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "data.bin" + ], + "attributes": { + "lastModificationSignature": "1da2831b1e82a830f6c5bfdd252a4fc3eb7da726545deb63a81dc3e5d00ca528", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:09Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AlarmJournal/None/data.bin b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AlarmJournal/None/data.bin new file mode 100644 index 0000000..0316a81 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AlarmJournal/None/data.bin @@ -0,0 +1 @@ +{"base":{"style":{"backgroundColor":"#FFFFFF","borderColor":"#CCCCCC","borderStyle":"solid","borderWidth":"1px","borderRadius":"4px","color":"#2E2E2E","fontSize":"14px","fontWeight":"normal","textAlign":"center"}}} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AlarmJournal/None/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AlarmJournal/None/resource.json new file mode 100644 index 0000000..51494ae --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/AlarmJournal/None/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "data.bin" + ], + "attributes": { + "lastModificationSignature": "60dee6a11559596ef6840fd4f3aa45372ed85b893c3c63e4e1090d4724dd7f40", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/Card/Bold_Text/data.bin b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/Card/Bold_Text/data.bin new file mode 100644 index 0000000..23b71b2 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/Card/Bold_Text/data.bin @@ -0,0 +1 @@ +{"base":{"style":{"fontWeight":"bold"}}} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/Card/Bold_Text/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/Card/Bold_Text/resource.json new file mode 100644 index 0000000..58cb8da --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/Card/Bold_Text/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "data.bin" + ], + "attributes": { + "lastModificationSignature": "1967b3cb893003c7190884844b10c584e2fefdad5600f83184e5d37e7254ca99", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:09Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/Card/Card/data.bin b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/Card/Card/data.bin new file mode 100644 index 0000000..ed3cf79 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/Card/Card/data.bin @@ -0,0 +1 @@ +{"base":{"style":{"backgroundColor":"#FAFAFA","borderColor":"#D5D5D5","borderStyle":"solid","borderWidth":"1px","borderRadius":"4px","boxShadow":"0px 2px 4px rgba(0, 0, 40, 0.15)","margin":"5px"}}} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/Card/Card/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/Card/Card/resource.json new file mode 100644 index 0000000..f0a8313 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/Card/Card/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "data.bin" + ], + "attributes": { + "lastModificationSignature": "01f4130bca275f303407f089cc0ce94807e21ab8078eedb614c715b839323776", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/Card/Embedded/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/Card/Embedded/resource.json new file mode 100644 index 0000000..02d061a --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/Card/Embedded/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "5c679a904c6263e35e2afdd28505b7173673279523e4ee90af35aed4ed0cfcf9", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/Card/Embedded/style.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/Card/Embedded/style.json new file mode 100644 index 0000000..e40b9fa --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/Card/Embedded/style.json @@ -0,0 +1,7 @@ +{ + "base": { + "style": { + "margin": "5px" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/Card/Item/data.bin b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/Card/Item/data.bin new file mode 100644 index 0000000..b3d0ed8 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/Card/Item/data.bin @@ -0,0 +1 @@ +{"base":{"style":{"paddingBottom":"4px","paddingLeft":"18px","paddingRight":"18px","paddingTop":"4px"}}} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/Card/Item/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/Card/Item/resource.json new file mode 100644 index 0000000..067b00b --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/Card/Item/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "data.bin" + ], + "attributes": { + "lastModificationSignature": "b0543aad6bfc59bb8c5f8f376a5a989eabcc8189800ec6c2c470bc93c86379e5", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/Card/Item_Border/data.bin b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/Card/Item_Border/data.bin new file mode 100644 index 0000000..f7eedd7 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/Card/Item_Border/data.bin @@ -0,0 +1 @@ +{"base":{"style":{"borderBottomColor":"#D5D5D5","borderBottomStyle":"solid","borderBottomWidth":"1px"}}} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/Card/Item_Border/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/Card/Item_Border/resource.json new file mode 100644 index 0000000..306e005 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/Card/Item_Border/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "data.bin" + ], + "attributes": { + "lastModificationSignature": "1b395e3c3d4c11ea20ffa0e16aad11dc7c07ed00d882fad41fe63dba68c74204", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/Card/Label/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/Card/Label/resource.json new file mode 100644 index 0000000..8cfe32b --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/Card/Label/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "c8e1afa84cf203b12164509fdca3f6ce756414602a7a7bb7bb65e2ebe7fb45be", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/Card/Label/style.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/Card/Label/style.json new file mode 100644 index 0000000..12be6e1 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/Card/Label/style.json @@ -0,0 +1,12 @@ +{ + "base": { + "style": { + "color": "#8E8E8E", + "fontSize": "12px", + "fontWeight": "300", + "lineHeight": "16px", + "marginRight": "10px", + "textTransform": "uppercase" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/Card/Row/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/Card/Row/resource.json new file mode 100644 index 0000000..add2c8e --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/Card/Row/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "cfa1ffabfb622cd9cefb3a9a871446602333618f081223fce902bf54689d1f02", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/Card/Row/style.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/Card/Row/style.json new file mode 100644 index 0000000..fc7c06a --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/Card/Row/style.json @@ -0,0 +1,7 @@ +{ + "base": { + "style": { + "marginBottom": "2px" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/Card/Title/data.bin b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/Card/Title/data.bin new file mode 100644 index 0000000..0e16719 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/Card/Title/data.bin @@ -0,0 +1 @@ +{"base":{"style":{"backgroundColor":"#E6EAEEAD","borderBottomColor":"#D5D5D5","borderBottomStyle":"solid","borderBottomWidth":"1px","color":"#2E2E2E","fontSize":"12px","fontWeight":"bold","paddingLeft":"6px","paddingRight":"6px","textTransform":"uppercase","fill":"#2E2E2E"}}} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/Card/Title/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/Card/Title/resource.json new file mode 100644 index 0000000..efc11b9 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/Card/Title/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "data.bin" + ], + "attributes": { + "lastModificationSignature": "ce0828b448cc75c1f98d5fe4768e03c3094d56934c836a370c0eab4be8b017ec", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:11Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/Card/Value/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/Card/Value/resource.json new file mode 100644 index 0000000..e24d067 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/Card/Value/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "3fc92c87e2d302011e837896c57d274e05fd903e894434ff18c3c23ef6bc4a7a", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:11Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/Card/Value/style.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/Card/Value/style.json new file mode 100644 index 0000000..0b20d63 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/Card/Value/style.json @@ -0,0 +1,10 @@ +{ + "base": { + "style": { + "color": "#000080", + "fontSize": "12px", + "fontWeight": "bold", + "lineHeight": "16px" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/TableCardLayout/Label/data.bin b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/TableCardLayout/Label/data.bin new file mode 100644 index 0000000..ea5bf55 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/TableCardLayout/Label/data.bin @@ -0,0 +1 @@ +{"base":{"style":{"color":"#2B2B2B","fontSize":"14px","fontWeight":"300","lineHeight":"16px"}}} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/TableCardLayout/Label/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/TableCardLayout/Label/resource.json new file mode 100644 index 0000000..788ba25 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Framework/TableCardLayout/Label/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "data.bin" + ], + "attributes": { + "lastModificationSignature": "4685188d8cf3b5c8b3261dc52fa9c25914fc989a118bcb7befcfacdb4e244ffc", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/HMI_Clickable/data.bin b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/HMI_Clickable/data.bin new file mode 100644 index 0000000..a33ba3a --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/HMI_Clickable/data.bin @@ -0,0 +1 @@ +{"base":{"style":{"borderColor":"#FFFFFF00","borderStyle":"solid","borderWidth":"2px","borderRadius":"4px","cursor":"pointer"}},"variants":[{"pseudo":"hover","style":{"borderColor":"#2E2E2E","borderStyle":"solid","borderWidth":"2px","borderRadius":"4px"}}]} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/HMI_Clickable/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/HMI_Clickable/resource.json new file mode 100644 index 0000000..42c31a4 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/HMI_Clickable/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "data.bin" + ], + "attributes": { + "lastModificationSignature": "01e7449b5a3e51fcd5dc2256903cfcdfd62450357af157b6bd32671e24b2075c", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:11Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/HMI_Fault/data.bin b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/HMI_Fault/data.bin new file mode 100644 index 0000000..9f58335 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/HMI_Fault/data.bin @@ -0,0 +1 @@ +{"base":{"animation":{"keyframes":{"0%":{"backgroundColor":"#FFFF00","fill":"#ACAC004D"},"100%":{"backgroundColor":"#FFFF00","fill":"#8046004D"}}}}} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/HMI_Fault/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/HMI_Fault/resource.json new file mode 100644 index 0000000..5a3cac5 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/HMI_Fault/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "data.bin" + ], + "attributes": { + "lastModificationSignature": "6a470acd38c3c0b6d05cc10d1e78c7816d88569bbf75e3bbd645fd1938d4abe0", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Header/data.bin b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Header/data.bin new file mode 100644 index 0000000..875665c --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Header/data.bin @@ -0,0 +1 @@ +{"base":{"style":{"backgroundColor":"#003E69","color":"#E7F5FF","fontFamily":"Roboto","fontSize":"14px","lineHeight":"17px","fill":"#FFFFFF"}}} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Header/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Header/resource.json new file mode 100644 index 0000000..6fe61ed --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Header/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "data.bin" + ], + "attributes": { + "lastModificationSignature": "da4f6ee5b21a2abe33a5d33d58a165f99d4b5578546eeb9f8d7710d4fa77d6c9", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:11Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/High_Performance_HMI_On/data.bin b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/High_Performance_HMI_On/data.bin new file mode 100644 index 0000000..7d37f3d --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/High_Performance_HMI_On/data.bin @@ -0,0 +1 @@ +{"base":{"style":{"backgroundColor":"#FFFFFF","color":"#FFFFFF","stroke":"#2E2E2E","strokeWidth":"10px","fill":"#FFFFFF"}}} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/High_Performance_HMI_On/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/High_Performance_HMI_On/resource.json new file mode 100644 index 0000000..91e3c6a --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/High_Performance_HMI_On/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "data.bin" + ], + "attributes": { + "lastModificationSignature": "8f7d8e44fb0652476adb49753b49ec661049f7fdee382398cfa913182c304878", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:11Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Menu/data.bin b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Menu/data.bin new file mode 100644 index 0000000..c8684d4 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Menu/data.bin @@ -0,0 +1 @@ +{"base":{"style":{"backgroundColor":"#DADDE0","fontFamily":"Roboto"}}} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Menu/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Menu/resource.json new file mode 100644 index 0000000..4a50437 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Menu/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "data.bin" + ], + "attributes": { + "lastModificationSignature": "5a26bbfa3b15a03bd60f993e4b41f41a1f49692ddf2a64d063cd8a7b5d1f441e", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:09Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Menu_Action/data.bin b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Menu_Action/data.bin new file mode 100644 index 0000000..738530b --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Menu_Action/data.bin @@ -0,0 +1 @@ +{"base":{"style":{"color":"#70757A","cursor":"pointer","fontFamily":"Roboto","fontSize":"11px","fontWeight":"bold","lineHeight":"14px","marginLeft":"6px","textTransform":"uppercase"}}} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Menu_Action/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Menu_Action/resource.json new file mode 100644 index 0000000..d2d211e --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Menu_Action/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "data.bin" + ], + "attributes": { + "lastModificationSignature": "02d5a525b81c837bbb4945d1913abba940bb29cbd9118d3bd6b910b32ee4f50a", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Menu_All_Header/data.bin b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Menu_All_Header/data.bin new file mode 100644 index 0000000..3a823d2 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Menu_All_Header/data.bin @@ -0,0 +1 @@ +{"base":{"style":{"backgroundColor":"#5C7080","color":"#FFFFFF","fontFamily":"Roboto","fontSize":"14px","fontWeight":"bold","lineHeight":"17px","textTransform":"none"}}} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Menu_All_Header/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Menu_All_Header/resource.json new file mode 100644 index 0000000..b282622 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Menu_All_Header/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "data.bin" + ], + "attributes": { + "lastModificationSignature": "505ed6f7eef6c1911d329a6f22aa46141d215eace07f3d52f13b8f5b941ef8af", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Menu_Item/data.bin b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Menu_Item/data.bin new file mode 100644 index 0000000..d14b8d8 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Menu_Item/data.bin @@ -0,0 +1 @@ +{"base":{"style":{"backgroundColor":"#E6EAEE","borderColor":"#9B9B9B","borderWidth":"1px","borderLeftColor":"#BEBEBE","borderLeftStyle":"solid","borderLeftWidth":"1px","borderRightColor":"#BEBEBE","borderRightStyle":"solid","borderRightWidth":"1px","color":"#2E2E2E","fontFamily":"Roboto","fontSize":"14px","lineHeight":"16px","textTransform":"uppercase"}}} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Menu_Item/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Menu_Item/resource.json new file mode 100644 index 0000000..72ca8ba --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Menu_Item/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "data.bin" + ], + "attributes": { + "lastModificationSignature": "2e2720fae97d2904ea5471b8ed4ed8fd807e5b1ba571274046b701ac2f4900af", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:09Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Menu_Item_Selected/data.bin b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Menu_Item_Selected/data.bin new file mode 100644 index 0000000..c97fa11 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Menu_Item_Selected/data.bin @@ -0,0 +1 @@ +{"base":{"style":{"backgroundColor":"#E6EAEE","borderColor":"#9B9B9B","borderWidth":"1px","color":"#2E2E2E","fontFamily":"Roboto","fontSize":"14px","lineHeight":"16px","textTransform":"uppercase"}}} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Menu_Item_Selected/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Menu_Item_Selected/resource.json new file mode 100644 index 0000000..f18c6e6 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Menu_Item_Selected/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "data.bin" + ], + "attributes": { + "lastModificationSignature": "bf598a94ba3e840b2808087217168c2d6f346fa3734582a2f28f0e3d58234a6d", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Menu_Tab/data.bin b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Menu_Tab/data.bin new file mode 100644 index 0000000..c470c5d --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Menu_Tab/data.bin @@ -0,0 +1 @@ +{"base":{"style":{"backgroundColor":"#DADDE0","color":"#2E2E2EB3","fontFamily":"Roboto","fontSize":"12px","fontWeight":"bold","lineHeight":"14px","textTransform":"uppercase"}}} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Menu_Tab/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Menu_Tab/resource.json new file mode 100644 index 0000000..ba48877 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Menu_Tab/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "data.bin" + ], + "attributes": { + "lastModificationSignature": "580b9fbcc54610202a88b84fe36a5009d559e16bf21d2e7f869e512f46452d9d", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:09Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Menu_Tab_Selected/data.bin b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Menu_Tab_Selected/data.bin new file mode 100644 index 0000000..ed79d9d --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Menu_Tab_Selected/data.bin @@ -0,0 +1 @@ +{"base":{"style":{"backgroundColor":"#DADDE0","color":"#2E2E2E","fontFamily":"Roboto","fontSize":"12px","fontWeight":"bold","lineHeight":"14px","textTransform":"uppercase"}}} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Menu_Tab_Selected/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Menu_Tab_Selected/resource.json new file mode 100644 index 0000000..410fe37 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Menu_Tab_Selected/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "data.bin" + ], + "attributes": { + "lastModificationSignature": "c29fd983bca5b36d1827e4894e8303583dcefc939fdc1e11faabe6be8adf41bb", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/General/InOutStateOff/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/General/InOutStateOff/resource.json new file mode 100644 index 0000000..afcac1d --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/General/InOutStateOff/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "c9ac949a8a1223568fb396db62da8c9f9074ff5ac72e71ab57e8b5b35e0e77e2", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:11Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/General/InOutStateOff/style.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/General/InOutStateOff/style.json new file mode 100644 index 0000000..7ccc745 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/General/InOutStateOff/style.json @@ -0,0 +1,7 @@ +{ + "base": { + "style": { + "fill": "#C4C4C4" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/General/InOutStateOn/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/General/InOutStateOn/resource.json new file mode 100644 index 0000000..99753c0 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/General/InOutStateOn/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "5553e7a02c885c32051fb2af629d30af23b458f876f6655105870581007e98e8", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:11Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/General/InOutStateOn/style.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/General/InOutStateOn/style.json new file mode 100644 index 0000000..96234f6 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/General/InOutStateOn/style.json @@ -0,0 +1,7 @@ +{ + "base": { + "style": { + "fill": "#00AC00" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/General/background/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/General/background/resource.json new file mode 100644 index 0000000..e588c39 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/General/background/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "3b73543ad8957fc8a7fefc13fe2d0cc539af3ed5cc2167dee1df223bcc541f68", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/General/background/style.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/General/background/style.json new file mode 100644 index 0000000..9b972f6 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/General/background/style.json @@ -0,0 +1,7 @@ +{ + "base": { + "style": { + "backgroundColor": "#D1D3D4" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/General/core/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/General/core/resource.json new file mode 100644 index 0000000..47b64a9 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/General/core/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "3bdb60050a37a2266642487cd4dd58e99ac5206a24041fba27c604ccd1266ab2", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/General/core/style.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/General/core/style.json new file mode 100644 index 0000000..c406f5b --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/General/core/style.json @@ -0,0 +1,7 @@ +{ + "base": { + "style": { + "backgroundColor": "#E0E0E0" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/General/description/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/General/description/resource.json new file mode 100644 index 0000000..ce5941c --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/General/description/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "9a661cfbb7cfff3ebc918cd8f45b10a2c0f4dc4ee23a06e2bc8694048b481599", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/General/description/style.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/General/description/style.json new file mode 100644 index 0000000..9171d47 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/General/description/style.json @@ -0,0 +1,8 @@ +{ + "base": { + "style": { + "color": "#000000", + "textAlign": "right" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/General/label/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/General/label/resource.json new file mode 100644 index 0000000..aaac0ba --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/General/label/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "9e81ed77b656476cd744e868af02d2918c0488d338d37a6ae09a3a3bae8cb70e", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:09Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/General/label/style.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/General/label/style.json new file mode 100644 index 0000000..bf831af --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/General/label/style.json @@ -0,0 +1,10 @@ +{ + "base": { + "style": { + "color": "#000000", + "fontWeight": "bold", + "textAlign": "center", + "textDecoration": "underline" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/Icons/faulted/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/Icons/faulted/resource.json new file mode 100644 index 0000000..66c4d5e --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/Icons/faulted/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "b7974251c40ddd78ec5b65a8b5b2b20589895c7430792d5c9abbd644ad287d22", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/Icons/faulted/style.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/Icons/faulted/style.json new file mode 100644 index 0000000..95121fa --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/Icons/faulted/style.json @@ -0,0 +1,17 @@ +{ + "base": { + "animation": { + "duration": "700ms", + "direction": "alternate-reverse", + "fillMode": "none", + "keyframes": { + "0%": { + "color": "#808080" + }, + "100%": { + "color": "#FF0000" + } + } + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/Icons/normal/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/Icons/normal/resource.json new file mode 100644 index 0000000..cebab49 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/Icons/normal/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "00cd9c58c9b949db998ef7426ed3160a8a0754e9c77cfea88d84d22d95f3c67c", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:11Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/Icons/normal/style.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/Icons/normal/style.json new file mode 100644 index 0000000..fb1801e --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/Icons/normal/style.json @@ -0,0 +1,7 @@ +{ + "base": { + "style": { + "color": "#808080" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/Navigation/Selected/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/Navigation/Selected/resource.json new file mode 100644 index 0000000..86debdb --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/Navigation/Selected/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "e9587738290fa78adfc826958502658b78b9f7f3af8efab4de147cb9f7dd7a99", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:09Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/Navigation/Selected/style.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/Navigation/Selected/style.json new file mode 100644 index 0000000..45e43db --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/Navigation/Selected/style.json @@ -0,0 +1,7 @@ +{ + "base": { + "style": { + "backgroundColor": "#e0e0e0" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/Navigation/Unselected/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/Navigation/Unselected/resource.json new file mode 100644 index 0000000..dff6f42 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/Navigation/Unselected/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "666bf3c855b5c6fac42554d18f732e461e9539d8dcbdedaa4a5d34290a2145ee", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:09Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/Navigation/Unselected/style.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/Navigation/Unselected/style.json new file mode 100644 index 0000000..9b972f6 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/Navigation/Unselected/style.json @@ -0,0 +1,7 @@ +{ + "base": { + "style": { + "backgroundColor": "#D1D3D4" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/background/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/background/resource.json new file mode 100644 index 0000000..e588c39 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/background/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "3b73543ad8957fc8a7fefc13fe2d0cc539af3ed5cc2167dee1df223bcc541f68", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/background/style.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/background/style.json new file mode 100644 index 0000000..9b972f6 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/background/style.json @@ -0,0 +1,7 @@ +{ + "base": { + "style": { + "backgroundColor": "#D1D3D4" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/core/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/core/resource.json new file mode 100644 index 0000000..a09841f --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/core/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModificationSignature": "f14e039cf0ecb31c5d9f7c3532dc21d0f59c5453dc6e75ae206617f1866d4bba", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:09Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/core/style.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/core/style.json new file mode 100644 index 0000000..c406f5b --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/style-classes/Popups/core/style.json @@ -0,0 +1,7 @@ +{ + "base": { + "style": { + "backgroundColor": "#E0E0E0" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/AdHocTrends/AdHocTrends/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/AdHocTrends/AdHocTrends/resource.json new file mode 100644 index 0000000..d0b4129 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/AdHocTrends/AdHocTrends/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "ee6bc80a3f9cef729d13a3f49049bc9eeefe236018c1ec0836803fbe06f1316d", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/AdHocTrends/AdHocTrends/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/AdHocTrends/AdHocTrends/thumbnail.png new file mode 100644 index 0000000..a8336c1 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/AdHocTrends/AdHocTrends/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/AdHocTrends/AdHocTrends/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/AdHocTrends/AdHocTrends/view.json new file mode 100644 index 0000000..049a79b --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/AdHocTrends/AdHocTrends/view.json @@ -0,0 +1,4520 @@ +{ + "custom": { + "activeControl": null, + "configureDatabases": {}, + "databases": [], + "functionTitle": "", + "refreshRate": 1000 + }, + "params": {}, + "propConfig": { + "custom.activeControl": { + "persistent": true + }, + "custom.configureDatabases": { + "binding": { + "config": { + "expression": "true" + }, + "transforms": [ + { + "code": "\t# resets this property when the view is opened\n\treturn {}", + "type": "script" + } + ], + "type": "expr" + }, + "persistent": true + }, + "custom.databases": { + "binding": { + "config": { + "expression": "runScript(\u0027system.db.getConnections\u0027, 0)" + }, + "transforms": [ + { + "code": "\t# collect the database connection info, check for which ones are enabled for storing ad hoc trend configs\n\tdatabases \u003d []\n\tfor row in range(value.getRowCount()):\n\t\tdatabase \u003d {}\n\t\tfor column in value.getColumnNames():\n\t\t\tdatabase[column] \u003d value.getValueAt(row, column)\n\t\ttry:\n\t\t\tdatabase[\u0027Enabled\u0027] \u003d database[\u0027Status\u0027] \u003d\u003d \u0027Valid\u0027 and self.rootContainer.databaseEnabled(database[\u0027Name\u0027])\n\t\texcept:\n\t\t\tdatabase[\u0027Enabled\u0027] \u003d False\n\t\tdatabases.append(database)\n\treturn databases", + "type": "script" + } + ], + "type": "expr" + }, + "persistent": true + }, + "custom.functionTitle": { + "persistent": true + }, + "custom.refreshRate": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 883 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Icon" + }, + "position": { + "basis": "30px", + "shrink": 0 + }, + "props": { + "path": "material/trending_up" + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "TitleSpacer" + }, + "position": { + "basis": "15px" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AdHocTrends" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "classes": "AdHocTrends/HeaderTitle" + }, + "text": "Ad Hoc Trends" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FunctionTitle" + }, + "position": { + "basis": "15px", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.functionTitle" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "AdHocTrends/FunctionTitle", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FunctionTitleSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "custom": { + "title": "Configure Databases" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.toggleFunction(self.meta.name, None, self.custom.title)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ConfigureDatabases" + }, + "position": { + "basis": "26px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "isAuthorized(true, \u0027Authenticated/Roles/Administrator\u0027)" + }, + "type": "expr" + } + }, + "props.enabled": { + "binding": { + "config": { + "expression": "isAuthorized(true, \u0027Authenticated/Roles/Administrator\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "image": { + "icon": { + "color": "var(--neutral-70)", + "path": "material/storage" + } + }, + "primary": false, + "style": { + "classes": "AdHocTrends/Control AdHocTrends/FullRadius" + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "DbSpacer" + }, + "position": { + "basis": "8px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "isAuthorized(true, \u0027Authenticated/Roles/Administrator\u0027)" + }, + "type": "expr" + } + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "title": "Load from Database" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.toggleFunction(self.meta.name, None, self.custom.title)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "LoadFromDb" + }, + "position": { + "basis": "25px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "struct": { + "admin": "isAuthorized(true, \u0027Authenticated/Roles/Administrator\u0027)", + "databases": "{view.custom.databases}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn value.admin or bool(filter(lambda x: x[\u0027Enabled\u0027], value.databases))", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.enabled": { + "binding": { + "config": { + "struct": { + "admin": "isAuthorized(true, \u0027Authenticated/Roles/Administrator\u0027)", + "databases": "{view.custom.databases}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn value.admin or bool(filter(lambda x: x[\u0027Enabled\u0027], value.databases))", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "image": { + "icon": { + "color": "var(--neutral-70)", + "path": "material/playlist_play" + } + }, + "primary": false, + "style": { + "classes": "AdHocTrends/Control AdHocTrends/LeftRadius" + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "custom": { + "title": "Save to Database" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.toggleFunction(self.meta.name, None, self.custom.title)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SaveToDb" + }, + "position": { + "basis": "25px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "struct": { + "admin": "isAuthorized(true, \u0027Authenticated/Roles/Administrator\u0027)", + "databases": "{view.custom.databases}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn value.admin or bool(filter(lambda x: x[\u0027Enabled\u0027], value.databases))", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.enabled": { + "binding": { + "config": { + "struct": { + "admin": "isAuthorized(true, \u0027Authenticated/Roles/Administrator\u0027)", + "databases": "{view.custom.databases}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn value.admin or bool(filter(lambda x: x[\u0027Enabled\u0027], value.databases))", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "image": { + "icon": { + "color": "var(--neutral-70)", + "path": "material/playlist_add" + }, + "width": 23 + }, + "primary": false, + "style": { + "borderLeftWidth": "0px", + "classes": "AdHocTrends/Control AdHocTrends/RightRadius" + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "SaveFileSpacer" + }, + "position": { + "basis": "8px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "struct": { + "admin": "isAuthorized(true, \u0027Authenticated/Roles/Administrator\u0027)", + "databases": "{view.custom.databases}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn value.admin or bool(filter(lambda x: x[\u0027Enabled\u0027], value.databases))", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "title": "Load File" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.toggleFunction(self.meta.name, None, self.custom.title)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "LoadFromFile" + }, + "position": { + "basis": "25px" + }, + "props": { + "image": { + "icon": { + "color": "var(--neutral-70)", + "path": "material/folder_open" + } + }, + "primary": false, + "style": { + "classes": "AdHocTrends/Control AdHocTrends/LeftRadius" + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "custom": { + "title": "Save File" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.toggleFunction(self.meta.name, None, self.custom.title)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SaveToFile" + }, + "position": { + "basis": "25px" + }, + "props": { + "image": { + "icon": { + "color": "var(--neutral-70)", + "path": "material/save" + }, + "width": 23 + }, + "primary": false, + "style": { + "borderLeftWidth": "0px", + "classes": "AdHocTrends/Control AdHocTrends/RightRadius" + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "SetRefreshRateSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "custom": { + "title": "Set Real-Time Refresh Rate" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.toggleFunction(self.meta.name, \u0027root/MainTopControls/HeaderLarge/SetRefreshRate/Rate\u0027, self.custom.title)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SetRefreshRate" + }, + "position": { + "basis": "25px" + }, + "props": { + "image": { + "icon": { + "color": "var(--neutral-70)", + "path": "material/access_time" + } + }, + "primary": false, + "style": { + "classes": "AdHocTrends/Control AdHocTrends/LeftRadius" + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.togglePause()" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Pause" + }, + "position": { + "basis": "25px" + }, + "propConfig": { + "props.image.icon.color": { + "binding": { + "config": { + "expression": "if({this.props.primary}, \u0027var(--neutral-20)\u0027, \u0027var(--neutral-70)\u0027)" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "expression": "{...../PowerChart.props.config.refreshRate} \u003d 0" + }, + "type": "expr" + } + } + }, + "props": { + "image": { + "icon": { + "path": "material/pause_circle_outline" + }, + "width": 23 + }, + "style": { + "borderLeftWidth": "0px", + "classes": "AdHocTrends/Control AdHocTrends/RightRadius" + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "SetTitleSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "custom": { + "title": "Set Title" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.toggleFunction(self.meta.name, \u0027root/MainTopControls/HeaderLarge/SetTitle/Title\u0027, self.custom.title)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SetTitle" + }, + "position": { + "basis": "26px", + "shrink": 0 + }, + "props": { + "image": { + "icon": { + "color": "var(--neutral-70)", + "path": "material/text_fields" + } + }, + "primary": false, + "style": { + "classes": "AdHocTrends/Control AdHocTrends/FullRadius" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Controls" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "props": { + "style": { + "classes": "AdHocTrends/ControlBar", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onKeyPress": { + "config": { + "script": "\tself.view.rootContainer.setTitle(self.props.text)\n\tif event.key \u003d\u003d \u0027Enter\u0027:\n\t\tself.view.rootContainer.closeFunction()\n\t\t# clearing own text during key press will not work\n\t\t# must be cleared it after this event\n\t\timport threading\n\t\tdef resetText():\n\t\t\tself.props.text \u003d \u0027\u0027\n\t\tthreading.Timer(0.3, resetText).start()\n\t\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Title" + }, + "position": { + "basis": "350px" + }, + "props": { + "deferUpdates": false, + "placeholder": "Enter a new title or leave blank to clear...", + "rejectUpdatesWhileFocused": false + }, + "type": "ia.input.text-field" + }, + { + "meta": { + "name": "InputSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.closeFunction()\n\tself.getSibling(\u0027Title\u0027).props.text \u003d \u0027\u0027" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Cancel" + }, + "position": { + "basis": "80px", + "shrink": 0 + }, + "props": { + "primary": false, + "style": { + "classes": "AdHocTrends/CancelButton" + }, + "text": "Cancel" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tnewTitle \u003d self.getSibling(\u0027Title\u0027).props.text\n\tself.getSibling(\u0027Title\u0027).props.text \u003d \u0027\u0027\n\t\n\tself.view.rootContainer.closeFunction()\n\tself.view.rootContainer.setTitle(newTitle)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Save" + }, + "position": { + "basis": "80px", + "shrink": 0 + }, + "props": { + "style": { + "classes": "AdHocTrends/SaveLoadButton" + }, + "text": "Save" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "SetTitle" + }, + "position": { + "basis": "40px", + "display": false, + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{view.custom.activeControl} \u003d {this.meta.name}" + }, + "type": "expr" + }, + "persistent": true + } + }, + "props": { + "justify": "flex-end", + "style": { + "classes": "AdHocTrends/FunctionBar", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onKeyDown": { + "config": { + "script": "\tif event.key \u003d\u003d \u0027Enter\u0027:\n\t\tself.view.rootContainer.closeFunction()\n\t\t# the value entered will not yet be availble\n\t\t# must trigger the new rate after this event is done\n\t\timport threading\n\t\tdef setNewRate():\n\t\t\tself.view.rootContainer.setRate(self.props.value)\n\t\tthreading.Timer(0.3, setNewRate).start()\n\t\t\n\t\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Rate" + }, + "position": { + "basis": "150px" + }, + "props": { + "align": "left", + "format": "0,0", + "inputBounds": { + "minimum": 0 + }, + "placeholder": "Enter a new rate for real-time mode...", + "value": 5000 + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Units" + }, + "position": { + "shrink": 0 + }, + "props": { + "text": "(ms)" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "InputSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.closeFunction()" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Cancel" + }, + "position": { + "basis": "80px", + "shrink": 0 + }, + "props": { + "primary": false, + "style": { + "classes": "AdHocTrends/CancelButton" + }, + "text": "Cancel" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tnewRate \u003d self.getSibling(\u0027Rate\u0027).props.value\n\t\n\tself.view.rootContainer.closeFunction()\n\tself.view.rootContainer.setRate(newRate)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Save" + }, + "position": { + "basis": "80px", + "shrink": 0 + }, + "props": { + "style": { + "classes": "AdHocTrends/SaveLoadButton" + }, + "text": "Save" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "SetRefreshRate" + }, + "position": { + "basis": "40px", + "display": false, + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{view.custom.activeControl} \u003d {this.meta.name}" + }, + "type": "expr" + }, + "persistent": true + } + }, + "props": { + "justify": "flex-end", + "style": { + "classes": "AdHocTrends/FunctionBar", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Plots" + }, + "position": { + "shrink": 0 + }, + "props": { + "checkedIcon": { + "style": { + "width": "16px" + } + }, + "selected": true, + "text": "Plots", + "uncheckedIcon": { + "style": { + "width": "16px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "OptionsSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Display" + }, + "position": { + "shrink": 0 + }, + "props": { + "checkedIcon": { + "style": { + "width": "16px" + } + }, + "selected": true, + "text": "Display Settings", + "uncheckedIcon": { + "style": { + "width": "16px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "InputSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.closeFunction()\n" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Cancel" + }, + "position": { + "basis": "80px", + "shrink": 0 + }, + "props": { + "primary": false, + "style": { + "classes": "AdHocTrends/CancelButton" + }, + "text": "Cancel" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tincludePlots \u003d self.getSibling(\u0027Plots\u0027).props.selected\n\tincludeDisplay \u003d self.getSibling(\u0027Display\u0027).props.selected\n\t\n\tself.view.rootContainer.closeFunction()\n\tself.view.rootContainer.saveToFile(includePlots, includeDisplay)\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Save" + }, + "position": { + "basis": "80px", + "shrink": 0 + }, + "props": { + "style": { + "classes": "AdHocTrends/SaveLoadButton" + }, + "text": "Save" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "SaveToFile" + }, + "position": { + "basis": "40px", + "display": false, + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{view.custom.activeControl} \u003d {this.meta.name}" + }, + "type": "expr" + }, + "persistent": true + } + }, + "props": { + "justify": "flex-end", + "style": { + "classes": "AdHocTrends/FunctionBar", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Plots" + }, + "position": { + "shrink": 0 + }, + "props": { + "checkedIcon": { + "style": { + "width": "16px" + } + }, + "selected": true, + "text": "Plots", + "uncheckedIcon": { + "style": { + "width": "16px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "OptionsSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Display" + }, + "position": { + "shrink": 0 + }, + "props": { + "checkedIcon": { + "style": { + "width": "16px" + } + }, + "selected": true, + "text": "Display Settings", + "uncheckedIcon": { + "style": { + "width": "16px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "BrowseSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "custom": { + "configJson": "" + }, + "events": { + "component": { + "onFileReceived": { + "config": { + "script": "\tself.custom.configJson \u003d event.file.getString()\n" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "FileUpload" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "props": { + "fileUploadIcon": { + "path": "material/folder_open", + "style": { + "cursor": "pointer" + } + }, + "maxUploads": 1, + "supportedFileTypes": [ + "JSON" + ] + }, + "type": "ia.input.fileupload" + }, + { + "meta": { + "name": "BrowseLabel" + }, + "position": { + "shrink": 0 + }, + "props": { + "text": "Browse (10 MB max)" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "InputSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.closeFunction()\n\tself.getSibling(\u0027FileUpload\u0027).custom.configJson \u003d \u0027\u0027" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Cancel" + }, + "position": { + "basis": "80px", + "shrink": 0 + }, + "props": { + "primary": false, + "style": { + "classes": "AdHocTrends/CancelButton" + }, + "text": "Cancel" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tincludePlots \u003d self.getSibling(\u0027Plots\u0027).props.selected\n\tincludeDisplay \u003d self.getSibling(\u0027Display\u0027).props.selected\n\t\n\tself.view.rootContainer.closeFunction()\n\t\n\tself.view.rootContainer.loadFromFile(self.getSibling(\u0027FileUpload\u0027).custom.configJson, includePlots, includeDisplay)\n\tself.getSibling(\u0027FileUpload\u0027).custom.configJson \u003d \u0027\u0027" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Load" + }, + "position": { + "basis": "80px", + "shrink": 0 + }, + "props": { + "style": { + "classes": "AdHocTrends/SaveLoadButton" + }, + "text": "Load" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "LoadFromFile" + }, + "position": { + "basis": "40px", + "display": false, + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{view.custom.activeControl} \u003d {this.meta.name}" + }, + "type": "expr" + }, + "persistent": true + } + }, + "props": { + "justify": "flex-end", + "style": { + "classes": "AdHocTrends/FunctionBar", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "FullSpacer" + }, + "position": { + "basis": "0px", + "grow": 1, + "shrink": 0 + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Databases" + }, + "position": { + "basis": "256px" + }, + "propConfig": { + "props.options": { + "binding": { + "config": { + "path": "view.custom.databases" + }, + "transforms": [ + { + "code": "\treturn [{\u0027label\u0027: \u0027%s (%s)%s\u0027 %(db.Name, db.DBType, \u0027\u0027 if db.Status \u003d\u003d \u0027Valid\u0027 else \u0027[OFFLINE]\u0027), \u0027value\u0027: db.Name} for db in value]", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "placeholder": { + "text": "Select a database..." + }, + "search": { + "noResultsText": "No databases found..." + }, + "showClearIcon": true, + "style": { + "classes": "AdHocTrends/DropDown" + }, + "value": null + }, + "type": "ia.input.dropdown" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.refreshBinding(\u0027custom.databases\u0027)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Refresh" + }, + "position": { + "basis": "26px", + "shrink": 0 + }, + "props": { + "image": { + "icon": { + "color": "var(--neutral-70)", + "path": "material/refresh" + } + }, + "primary": false, + "style": { + "classes": "AdHocTrends/Control" + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "140px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "!isNull({../Databases.props.value})" + }, + "type": "expr" + } + }, + "props.label.text": { + "binding": { + "config": { + "expression": "if({this.props.selected}, \u0027Enabled\u0027, \u0027Disabled\u0027)" + }, + "type": "expr" + } + }, + "props.selected": { + "binding": { + "config": { + "struct": { + "databases": "{view.custom.databases}", + "selectedDatabase": "{../Databases.props.value}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn next((x.Enabled for x in self.view.custom.databases if x.Name \u003d\u003d value.selectedDatabase), False)", + "type": "script" + } + ], + "type": "expr-struct" + }, + "onChange": { + "enabled": null, + "script": "\tselectedDatabase \u003d self.getSibling(\u0027Databases\u0027).props.value\n\tif selectedDatabase:\n\t\tif currentValue:\n\t\t\tif currentValue.value:\n\t\t\t\tself.view.custom.configureDatabases[selectedDatabase] \u003d True\n\t\t\telse:\n\t\t\t\tself.view.custom.configureDatabases[selectedDatabase] \u003d False" + } + } + }, + "props": { + "color": { + "selected": "var(--success)", + "unselected": "var(--neutral-60)" + }, + "label": {} + }, + "type": "ia.input.toggle-switch" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.closeFunction()\n\tself.view.custom.configureDatabases \u003d {}\n\tself.getSibling(\u0027Databases\u0027).props.value \u003d None" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Cancel" + }, + "position": { + "basis": "80px", + "shrink": 0 + }, + "props": { + "primary": false, + "style": { + "classes": "AdHocTrends/CancelButton" + }, + "text": "Cancel" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.closeFunction()\n\tself.view.rootContainer.configureDatabases()\n\tself.getSibling(\u0027Databases\u0027).props.value \u003d None\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Save" + }, + "position": { + "basis": "80px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "isAuthorized(true, \u0027Authenticated/Roles/Administrator\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "classes": "AdHocTrends/CancelButton" + }, + "text": "Save" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "ConfigureDatabases" + }, + "position": { + "basis": "40px", + "display": false, + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{view.custom.activeControl} \u003d {this.meta.name}" + }, + "type": "expr" + }, + "persistent": true + } + }, + "props": { + "justify": "flex-end", + "style": { + "classes": "AdHocTrends/FunctionBar", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Plots" + }, + "position": { + "shrink": 0 + }, + "props": { + "checkedIcon": { + "style": { + "width": "16px" + } + }, + "selected": true, + "text": "Plots", + "uncheckedIcon": { + "style": { + "width": "16px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "OptionsSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Display" + }, + "position": { + "shrink": 0 + }, + "props": { + "checkedIcon": { + "style": { + "width": "16px" + } + }, + "selected": true, + "text": "Display Settings", + "uncheckedIcon": { + "style": { + "width": "16px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "DatabaseSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Databases" + }, + "position": { + "basis": "256px" + }, + "propConfig": { + "props.options": { + "binding": { + "config": { + "path": "view.custom.databases" + }, + "transforms": [ + { + "code": "\treturn [{\u0027label\u0027: \u0027%s (%s)%s\u0027 %(db.Name, db.DBType, \u0027\u0027 if db.Status \u003d\u003d \u0027Valid\u0027 else \u0027[OFFLINE]\u0027), \u0027value\u0027: db.Name} for db in filter(lambda x: x[\u0027Enabled\u0027], value)]", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "placeholder": { + "text": "Select a database..." + }, + "search": { + "noResultsText": "No databases found..." + }, + "showClearIcon": true, + "style": { + "classes": "AdHocTrends/DropDown" + }, + "value": null + }, + "type": "ia.input.dropdown" + }, + { + "meta": { + "name": "ChartSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "custom": { + "key": "value" + }, + "meta": { + "name": "Charts" + }, + "position": { + "basis": "256px" + }, + "propConfig": { + "props.options": { + "binding": { + "config": { + "path": "../Databases.props.value" + }, + "transforms": [ + { + "code": "\treturn [{\u0027value\u0027: chart[\u0027id\u0027], \u0027label\u0027: chart[\u0027config_name\u0027]} for chart in self.view.rootContainer.getCharts(value)]", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "placeholder": { + "text": "Select a chart..." + }, + "search": { + "noResultsText": "No charts found..." + }, + "showClearIcon": true, + "style": { + "classes": "AdHocTrends/DropDown" + }, + "value": null + }, + "type": "ia.input.dropdown" + }, + { + "meta": { + "name": "InputSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.closeFunction()\n\tself.getSibling(\u0027Databases\u0027).props.value \u003d None\n\tself.getSibling(\u0027Charts\u0027).props.value \u003d None" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Cancel" + }, + "position": { + "basis": "80px", + "shrink": 0 + }, + "props": { + "primary": false, + "style": { + "classes": "AdHocTrends/CancelButton" + }, + "text": "Cancel" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tincludePlots \u003d self.getSibling(\u0027Plots\u0027).props.selected\n\tincludeDisplay \u003d self.getSibling(\u0027Display\u0027).props.selected\n\tdbName \u003d self.getSibling(\u0027Databases\u0027).props.value\n\tconfigId \u003d self.getSibling(\u0027Charts\u0027).props.value\n\t\n\tself.view.rootContainer.closeFunction()\n\t\n\tself.view.rootContainer.loadFromDb(dbName, configId, includePlots, includeDisplay)\n\tself.getSibling(\u0027Databases\u0027).props.value \u003d None\n\tself.getSibling(\u0027Charts\u0027).props.value \u003d None" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Load" + }, + "position": { + "basis": "80px", + "shrink": 0 + }, + "props": { + "style": { + "classes": "AdHocTrends/SaveLoadButton" + }, + "text": "Load" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "LoadFromDb" + }, + "position": { + "basis": "40px", + "display": false, + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{view.custom.activeControl} \u003d {this.meta.name}" + }, + "type": "expr" + }, + "persistent": true + } + }, + "props": { + "justify": "flex-end", + "style": { + "classes": "AdHocTrends/FunctionBar", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Plots" + }, + "position": { + "shrink": 0 + }, + "props": { + "checkedIcon": { + "style": { + "width": "16px" + } + }, + "selected": true, + "text": "Plots", + "uncheckedIcon": { + "style": { + "width": "16px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "OptionsSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Display" + }, + "position": { + "shrink": 0 + }, + "props": { + "checkedIcon": { + "style": { + "width": "16px" + } + }, + "selected": true, + "text": "Display Settings", + "uncheckedIcon": { + "style": { + "width": "16px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "PrivateSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Private" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{session.props.auth.authenticated}" + }, + "type": "expr" + } + } + }, + "props": { + "checkedIcon": { + "style": { + "width": "16px" + } + }, + "text": "Store Privately", + "uncheckedIcon": { + "style": { + "width": "16px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "DatabaseSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Databases" + }, + "position": { + "basis": "256px" + }, + "propConfig": { + "props.options": { + "binding": { + "config": { + "path": "view.custom.databases" + }, + "transforms": [ + { + "code": "\treturn [{\u0027label\u0027: \u0027%s (%s)%s\u0027 %(db.Name, db.DBType, \u0027\u0027 if db.Status \u003d\u003d \u0027Valid\u0027 else \u0027[OFFLINE]\u0027), \u0027value\u0027: db.Name} for db in filter(lambda x: x[\u0027Enabled\u0027], value)]", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "placeholder": { + "text": "Select a database..." + }, + "search": { + "noResultsText": "No databases found..." + }, + "showClearIcon": true, + "style": { + "classes": "AdHocTrends/DropDown" + }, + "value": null + }, + "type": "ia.input.dropdown" + }, + { + "meta": { + "name": "ChartSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "custom": { + "key": "value" + }, + "meta": { + "name": "Charts" + }, + "position": { + "basis": "256px" + }, + "propConfig": { + "props.options": { + "binding": { + "config": { + "path": "../Databases.props.value" + }, + "transforms": [ + { + "code": "\treturn [{\u0027value\u0027: chart[\u0027id\u0027], \u0027label\u0027: chart[\u0027config_name\u0027]} for chart in self.view.rootContainer.getOwnCharts(value)]", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "allowCustomOptions": true, + "placeholder": { + "text": "Select or create a chart..." + }, + "search": { + "noResultsText": "No charts found..." + }, + "showClearIcon": true, + "style": { + "classes": "AdHocTrends/DropDown" + }, + "value": null + }, + "type": "ia.input.dropdown" + }, + { + "meta": { + "name": "InputSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.closeFunction()\n\tself.getSibling(\u0027Databases\u0027).props.value \u003d None\n\tself.getSibling(\u0027Charts\u0027).props.value \u003d None" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Cancel" + }, + "position": { + "basis": "80px", + "shrink": 0 + }, + "props": { + "primary": false, + "style": { + "classes": "AdHocTrends/CancelButton" + }, + "text": "Cancel" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tincludePlots \u003d self.getSibling(\u0027Plots\u0027).props.selected\n\tincludeDisplay \u003d self.getSibling(\u0027Display\u0027).props.selected\n\tprivate \u003d self.session.props.auth.authenticated and self.getSibling(\u0027Private\u0027).props.selected\n\tdbName \u003d self.getSibling(\u0027Databases\u0027).props.value\n\tconfigId \u003d self.getSibling(\u0027Charts\u0027).props.value\n\t\n\tself.view.rootContainer.closeFunction()\n\t\n\tself.view.rootContainer.saveToDb(dbName, configId, includePlots, includeDisplay, private)\n\tself.getSibling(\u0027Databases\u0027).props.value \u003d None\n\tself.getSibling(\u0027Charts\u0027).props.value \u003d None\n" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Save" + }, + "position": { + "basis": "80px", + "shrink": 0 + }, + "props": { + "style": { + "classes": "AdHocTrends/SaveLoadButton" + }, + "text": "Save" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "SaveToDb" + }, + "position": { + "basis": "40px", + "display": false, + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{view.custom.activeControl} \u003d {this.meta.name}" + }, + "type": "expr" + }, + "persistent": true + } + }, + "props": { + "justify": "flex-end", + "style": { + "classes": "AdHocTrends/FunctionBar", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "HeaderLarge" + }, + "position": { + "size": "large" + }, + "props": { + "direction": "column", + "style": { + "classes": "AdHocTrends/Header", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Icon" + }, + "position": { + "basis": "30px", + "shrink": 0 + }, + "props": { + "path": "material/trending_up" + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "TitleSpacer" + }, + "position": { + "basis": "15px" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AdHocTrends" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "classes": "AdHocTrends/HeaderTitle" + }, + "text": "Ad Hoc Trends" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FunctionTitle" + }, + "position": { + "basis": "15px", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.custom.functionTitle" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "AdHocTrends/FunctionTitle" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Controls" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "props": { + "style": { + "classes": "AdHocTrends/ControlBar", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "HeaderSmall" + }, + "props": { + "direction": "column", + "style": { + "classes": "AdHocTrends/Header", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "MainTopControls" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "props.breakpoint": { + "binding": { + "config": { + "expression": "{../PowerChart.props.config.responsiveDesignWidth}+2" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "maxHeight": "50px", + "zIndex": 1 + } + }, + "type": "ia.container.breakpt" + }, + { + "meta": { + "name": "PowerChart" + }, + "position": { + "basis": "500px", + "grow": 1 + }, + "props": { + "axes": [ + { + "color": "#757A7F", + "dataFormat": "0,0.##", + "label": { + "font": { + "color": "#757A7F", + "size": 10 + }, + "offset": 0, + "style": { + "classes": "" + }, + "text": "" + }, + "name": "Default", + "position": "left", + "range": { + "auto": true, + "max": "", + "min": "" + }, + "style": { + "classes": "" + }, + "tick": { + "color": "#757A7F", + "label": { + "font": { + "color": "#757A7F", + "size": 10 + }, + "style": { + "classes": "" + } + }, + "style": { + "classes": "" + } + }, + "width": 60 + } + ], + "config": { + "measureOfTime": "minutes", + "unitOfTime": 5 + }, + "plots": [ + { + "color": "var(--neutral-10)", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ], + "timeAxis": { + "color": "#737676" + }, + "title": { + "font": { + "color": "" + } + } + }, + "type": "ia.chart.powerchart" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onKeyPress": { + "config": { + "script": "\tself.view.rootContainer.setTitle(self.props.text)\n\tif event.key \u003d\u003d \u0027Enter\u0027:\n\t\tself.view.rootContainer.closeFunction()\n\t\t# clearing own text during key press will not work\n\t\t# must be cleared it after this event\n\t\timport threading\n\t\tdef resetText():\n\t\t\tself.props.text \u003d \u0027\u0027\n\t\tthreading.Timer(0.3, resetText).start()\n\t\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Title" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "props": { + "deferUpdates": false, + "placeholder": "Enter a new title or leave blank to clear...", + "rejectUpdatesWhileFocused": false + }, + "type": "ia.input.text-field" + }, + { + "meta": { + "name": "SaveSpacer" + }, + "position": { + "basis": "8px", + "shrink": 0 + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.closeFunction()\n\tself.parent.getSibling(\u0027Title\u0027).props.text \u003d \u0027\u0027" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Cancel" + }, + "position": { + "basis": "80px", + "grow": 1 + }, + "props": { + "primary": false, + "style": { + "classes": "AdHocTrends/CancelButtonMobile" + }, + "text": "Cancel", + "textStyle": { + "fontSize": "20px" + } + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tnewTitle \u003d self.parent.getSibling(\u0027Title\u0027).props.text\n\tself.parent.getSibling(\u0027Title\u0027).props.text \u003d \u0027\u0027\n\t\n\tself.view.rootContainer.closeFunction()\n\tself.view.rootContainer.setTitle(newTitle)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Save" + }, + "position": { + "basis": "80px", + "grow": 1 + }, + "props": { + "style": { + "classes": "AdHocTrends/SaveLoadButtonMobile" + }, + "text": "Save", + "textStyle": { + "fontSize": "20px" + } + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "CancelSave" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "SetTitle" + }, + "position": { + "display": false, + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{view.custom.activeControl} \u003d {this.meta.name}" + }, + "type": "expr" + }, + "persistent": true + } + }, + "props": { + "direction": "column", + "justify": "flex-end", + "style": { + "classes": "AdHocTrends/MobileFunctionBar", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onKeyDown": { + "config": { + "script": "\tif event.key \u003d\u003d \u0027Enter\u0027:\n\t\tself.view.rootContainer.closeFunction()\n\t\t# the value entered will not yet be availble\n\t\t# must trigger the new rate after this event is done\n\t\timport threading\n\t\tdef setNewRate():\n\t\t\tself.view.rootContainer.setRate(self.props.value)\n\t\tthreading.Timer(0.3, setNewRate).start()\n\t\t\n\t\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Rate" + }, + "position": { + "basis": "60px", + "grow": 1 + }, + "props": { + "align": "left", + "format": "0,0", + "inputBounds": { + "minimum": 0 + }, + "placeholder": "Enter a new rate for real-time mode...", + "style": { + "height": "60px" + }, + "value": 5000 + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Units" + }, + "position": { + "basis": "50px" + }, + "props": { + "text": "(ms)" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "RateInput" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "InputSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.closeFunction()\n" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Cancel" + }, + "position": { + "basis": "80px", + "grow": 1 + }, + "props": { + "primary": false, + "style": { + "classes": "AdHocTrends/CancelButtonMobile" + }, + "text": "Cancel", + "textStyle": { + "fontSize": "20px" + } + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tnewRate \u003d self.parent.parent.getChild(\u0027RateInput/Rate\u0027).props.value\n\t\n\tself.view.rootContainer.closeFunction()\n\tself.view.rootContainer.setRate(newRate)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Save" + }, + "position": { + "basis": "80px", + "grow": 1 + }, + "props": { + "style": { + "classes": "AdHocTrends/SaveLoadButtonMobile" + }, + "text": "Save", + "textStyle": { + "fontSize": "20px" + } + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "CancelSave" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "SetRefreshRate" + }, + "position": { + "display": false, + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{view.custom.activeControl} \u003d {this.meta.name}" + }, + "type": "expr" + }, + "persistent": true + } + }, + "props": { + "direction": "column", + "justify": "flex-end", + "style": { + "classes": "AdHocTrends/MobileFunctionBar", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Plots" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "props": { + "checkedIcon": { + "style": { + "width": "60px" + } + }, + "selected": true, + "text": "Plots", + "uncheckedIcon": { + "style": { + "width": "60px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "Display" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "props": { + "checkedIcon": { + "style": { + "width": "60px" + } + }, + "selected": true, + "text": "Display Settings", + "uncheckedIcon": { + "style": { + "width": "60px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.closeFunction()\n" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Cancel" + }, + "position": { + "basis": "80px", + "grow": 1 + }, + "props": { + "primary": false, + "style": { + "classes": "AdHocTrends/CancelButtonMobile" + }, + "text": "Cancel", + "textStyle": { + "fontSize": "20px" + } + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tincludePlots \u003d self.parent.getSibling(\u0027Plots\u0027).props.selected\n\tincludeDisplay \u003d self.parent.getSibling(\u0027Display\u0027).props.selected\n\t\n\tself.view.rootContainer.closeFunction()\n\tself.view.rootContainer.saveToFile(includePlots, includeDisplay)\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Save" + }, + "position": { + "basis": "80px", + "grow": 1 + }, + "props": { + "style": { + "classes": "AdHocTrends/SaveLoadButtonMobile" + }, + "text": "Save", + "textStyle": { + "fontSize": "20px" + } + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "CancelSave" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "SaveToFile" + }, + "position": { + "display": false, + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{view.custom.activeControl} \u003d {this.meta.name}" + }, + "type": "expr" + }, + "persistent": true + } + }, + "props": { + "direction": "column", + "justify": "flex-end", + "style": { + "classes": "AdHocTrends/MobileFunctionBar", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Plots" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "props": { + "checkedIcon": { + "style": { + "width": "60px" + } + }, + "selected": true, + "text": "Plots", + "uncheckedIcon": { + "style": { + "width": "60px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "Display" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "props": { + "checkedIcon": { + "style": { + "width": "60px" + } + }, + "selected": true, + "text": "Display Settings", + "uncheckedIcon": { + "style": { + "width": "60px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "children": [ + { + "custom": { + "configJson": "" + }, + "events": { + "component": { + "onFileReceived": { + "config": { + "script": "\tself.custom.configJson \u003d event.file.getString()\n" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "FileUpload" + }, + "position": { + "basis": "60px", + "grow": 1 + }, + "props": { + "fileUploadIcon": { + "path": "material/folder_open", + "style": { + "cursor": "pointer" + } + }, + "maxUploads": 1, + "supportedFileTypes": [ + "JSON" + ] + }, + "type": "ia.input.fileupload" + }, + { + "meta": { + "name": "BrowseLabel" + }, + "position": { + "shrink": 0 + }, + "props": { + "text": "Browse (10 MB max)" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Browse" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "SaveSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.closeFunction()\n\tself.parent.parent.getChild(\u0027Browse/FileUpload\u0027).custom.configJson \u003d \u0027\u0027" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Cancel" + }, + "position": { + "basis": "80px", + "grow": 1 + }, + "props": { + "primary": false, + "style": { + "classes": "AdHocTrends/CancelButtonMobile" + }, + "text": "Cancel", + "textStyle": { + "fontSize": "20px" + } + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tincludePlots \u003d self.parent.getSibling(\u0027Plots\u0027).props.selected\n\tincludeDisplay \u003d self.parent.getSibling(\u0027Display\u0027).props.selected\n\t\n\tself.view.rootContainer.closeFunction()\n\t\n\tself.view.rootContainer.loadFromFile(self.parent.parent.getChild(\u0027Browse/FileUpload\u0027).custom.configJson, includePlots, includeDisplay)\n\tself.parent.parent.getChild(\u0027Browse/FileUpload\u0027).custom.configJson \u003d \u0027\u0027" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Load" + }, + "position": { + "basis": "80px", + "grow": 1 + }, + "props": { + "style": { + "classes": "AdHocTrends/SaveLoadButtonMobile" + }, + "text": "Load", + "textStyle": { + "fontSize": "20px" + } + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "CancelLoad" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "LoadFromFile" + }, + "position": { + "display": false, + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{view.custom.activeControl} \u003d {this.meta.name}" + }, + "type": "expr" + }, + "persistent": true + } + }, + "props": { + "direction": "column", + "justify": "flex-end", + "style": { + "classes": "AdHocTrends/MobileFunctionBar", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Databases" + }, + "position": { + "basis": "60px", + "grow": 1, + "shrink": 0 + }, + "propConfig": { + "props.options": { + "binding": { + "config": { + "path": "view.custom.databases" + }, + "transforms": [ + { + "code": "\treturn [{\u0027label\u0027: \u0027%s (%s)%s\u0027 %(db.Name, db.DBType, \u0027\u0027 if db.Status \u003d\u003d \u0027Valid\u0027 else \u0027[OFFLINE]\u0027), \u0027value\u0027: db.Name} for db in value]", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "placeholder": { + "text": "Select a database..." + }, + "search": { + "enabled": false, + "noResultsText": "No databases found..." + }, + "showClearIcon": true, + "style": { + "classes": "AdHocTrends/DropDown" + }, + "value": null + }, + "type": "ia.input.dropdown" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.refreshBinding(\u0027custom.databases\u0027)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Refresh" + }, + "position": { + "basis": "60px" + }, + "props": { + "image": { + "icon": { + "color": "var(--neutral-70)", + "path": "material/refresh" + } + }, + "primary": false, + "style": { + "classes": "AdHocTrends/Control" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "DbRefresh" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "ToggleSwitch" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "!isNull({../DbRefresh/Databases.props.value})" + }, + "type": "expr" + } + }, + "props.label.text": { + "binding": { + "config": { + "expression": "if({this.props.selected}, \u0027Enabled\u0027, \u0027Disabled\u0027)" + }, + "type": "expr" + } + }, + "props.selected": { + "binding": { + "config": { + "struct": { + "databases": "{view.custom.databases}", + "selectedDatabase": "{../DbRefresh/Databases.props.value}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn next((x.Enabled for x in self.view.custom.databases if x.Name \u003d\u003d value.selectedDatabase), False)", + "type": "script" + } + ], + "type": "expr-struct" + }, + "onChange": { + "enabled": null, + "script": "\tselectedDatabase \u003d self.parent.getChild(\u0027DbRefresh/Databases\u0027).props.value\n\tif selectedDatabase:\n\t\tif currentValue:\n\t\t\tif currentValue.value:\n\t\t\t\tself.view.custom.configureDatabases[selectedDatabase] \u003d True\n\t\t\telse:\n\t\t\t\tself.view.custom.configureDatabases[selectedDatabase] \u003d False" + } + } + }, + "props": { + "color": { + "selected": "var(--success)", + "unselected": "var(--neutral-60)" + }, + "label": {} + }, + "type": "ia.input.toggle-switch" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.closeFunction()\n\tself.view.custom.configureDatabases \u003d {}\n\tself.parent.parent.getChild(\u0027DbRefresh/Databases\u0027).props.value \u003d None" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Cancel" + }, + "position": { + "basis": "80px", + "grow": 1 + }, + "props": { + "primary": false, + "style": { + "classes": "AdHocTrends/CancelButtonMobile" + }, + "text": "Cancel", + "textStyle": { + "fontSize": "20px" + } + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.closeFunction()\n\tself.view.rootContainer.configureDatabases()\n\tself.parent.parent.getChild(\u0027DbRefresh/Databases\u0027).props.value \u003d None\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Save" + }, + "position": { + "basis": "80px", + "grow": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "isAuthorized(true, \u0027Authenticated/Roles/Administrator\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "classes": "AdHocTrends/SaveLoadButtonMobile" + }, + "text": "Save", + "textStyle": { + "fontSize": "20px" + } + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "CancelSave" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "ConfigureDatabases" + }, + "position": { + "display": false, + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{view.custom.activeControl} \u003d {this.meta.name}" + }, + "type": "expr" + }, + "persistent": true + } + }, + "props": { + "direction": "column", + "justify": "flex-end", + "style": { + "classes": "AdHocTrends/MobileFunctionBar", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Plots" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "props": { + "checkedIcon": { + "style": { + "width": "60px" + } + }, + "selected": true, + "text": "Plots", + "uncheckedIcon": { + "style": { + "width": "60px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "Display" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "props": { + "checkedIcon": { + "style": { + "width": "60px" + } + }, + "selected": true, + "text": "Display Settings", + "uncheckedIcon": { + "style": { + "width": "60px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "Databases" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "propConfig": { + "props.options": { + "binding": { + "config": { + "path": "view.custom.databases" + }, + "transforms": [ + { + "code": "\treturn [{\u0027label\u0027: \u0027%s (%s)%s\u0027 %(db.Name, db.DBType, \u0027\u0027 if db.Status \u003d\u003d \u0027Valid\u0027 else \u0027[OFFLINE]\u0027), \u0027value\u0027: db.Name} for db in filter(lambda x: x[\u0027Enabled\u0027], value)]", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "placeholder": { + "text": "Select a database..." + }, + "search": { + "enabled": false, + "noResultsText": "No databases found..." + }, + "showClearIcon": true, + "style": { + "classes": "AdHocTrends/DropDown" + }, + "value": null + }, + "type": "ia.input.dropdown" + }, + { + "meta": { + "name": "ChartSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "custom": { + "key": "value" + }, + "meta": { + "name": "Charts" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "propConfig": { + "props.options": { + "binding": { + "config": { + "path": "../Databases.props.value" + }, + "transforms": [ + { + "code": "\treturn [{\u0027value\u0027: chart[\u0027id\u0027], \u0027label\u0027: chart[\u0027config_name\u0027]} for chart in self.view.rootContainer.getCharts(value)]", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "placeholder": { + "text": "Select a chart..." + }, + "search": { + "noResultsText": "No charts found..." + }, + "showClearIcon": true, + "style": { + "classes": "AdHocTrends/DropDown" + }, + "value": null + }, + "type": "ia.input.dropdown" + }, + { + "meta": { + "name": "SaveSpacer" + }, + "position": { + "basis": "8px", + "shrink": 0 + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.closeFunction()\n\tself.parent.getSibling(\u0027Databases\u0027).props.value \u003d None\n\tself.parent.getSibling(\u0027Charts\u0027).props.value \u003d None" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Cancel" + }, + "position": { + "basis": "80px", + "grow": 1 + }, + "props": { + "primary": false, + "style": { + "classes": "AdHocTrends/CancelButtonMobile" + }, + "text": "Cancel", + "textStyle": { + "fontSize": "20px" + } + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tincludePlots \u003d self.parent.getSibling(\u0027Plots\u0027).props.selected\n\tincludeDisplay \u003d self.parent.getSibling(\u0027Display\u0027).props.selected\n\tdbName \u003d self.parent.getSibling(\u0027Databases\u0027).props.value\n\tconfigId \u003d self.parent.getSibling(\u0027Charts\u0027).props.value\n\t\n\tself.view.rootContainer.closeFunction()\n\t\n\tself.view.rootContainer.loadFromDb(dbName, configId, includePlots, includeDisplay)\n\tself.parent.getSibling(\u0027Databases\u0027).props.value \u003d None\n\tself.parent.getSibling(\u0027Charts\u0027).props.value \u003d None" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Load" + }, + "position": { + "basis": "80px", + "grow": 1 + }, + "props": { + "style": { + "classes": "AdHocTrends/SaveLoadButtonMobile" + }, + "text": "Load", + "textStyle": { + "fontSize": "20px" + } + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "CancelLoad" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "LoadFromDb" + }, + "position": { + "display": false, + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{view.custom.activeControl} \u003d {this.meta.name}" + }, + "type": "expr" + }, + "persistent": true + } + }, + "props": { + "direction": "column", + "style": { + "classes": "AdHocTrends/MobileFunctionBar", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Plots" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "props": { + "checkedIcon": { + "style": { + "width": "60px" + } + }, + "selected": true, + "text": "Plots", + "uncheckedIcon": { + "style": { + "width": "60px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "Display" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "props": { + "checkedIcon": { + "style": { + "width": "60px" + } + }, + "selected": true, + "text": "Display Settings", + "uncheckedIcon": { + "style": { + "width": "60px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "Private" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{session.props.auth.authenticated}" + }, + "type": "expr" + } + } + }, + "props": { + "checkedIcon": { + "style": { + "width": "60px" + } + }, + "text": "Store Privately", + "uncheckedIcon": { + "style": { + "width": "60px" + } + } + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "Databases" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "propConfig": { + "props.options": { + "binding": { + "config": { + "path": "view.custom.databases" + }, + "transforms": [ + { + "code": "\treturn [{\u0027label\u0027: \u0027%s (%s)%s\u0027 %(db.Name, db.DBType, \u0027\u0027 if db.Status \u003d\u003d \u0027Valid\u0027 else \u0027[OFFLINE]\u0027), \u0027value\u0027: db.Name} for db in filter(lambda x: x[\u0027Enabled\u0027], value)]", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "placeholder": { + "text": "Select a database..." + }, + "search": { + "enabled": false, + "noResultsText": "No databases found..." + }, + "showClearIcon": true, + "style": { + "classes": "AdHocTrends/DropDown" + }, + "value": null + }, + "type": "ia.input.dropdown" + }, + { + "meta": { + "name": "ChartSpacer" + }, + "position": { + "basis": "8px", + "shrink": 0 + }, + "type": "ia.display.label" + }, + { + "custom": { + "key": "value" + }, + "meta": { + "name": "Charts" + }, + "position": { + "basis": "60px", + "shrink": 0 + }, + "propConfig": { + "props.options": { + "binding": { + "config": { + "path": "../Databases.props.value" + }, + "transforms": [ + { + "code": "\treturn [{\u0027value\u0027: chart[\u0027id\u0027], \u0027label\u0027: chart[\u0027config_name\u0027]} for chart in self.view.rootContainer.getOwnCharts(value)]", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "allowCustomOptions": true, + "placeholder": { + "text": "Select or create a chart..." + }, + "search": { + "noResultsText": "No charts found..." + }, + "showClearIcon": true, + "style": { + "classes": "AdHocTrends/DropDown" + }, + "value": null + }, + "type": "ia.input.dropdown" + }, + { + "meta": { + "name": "InputSpacer" + }, + "position": { + "basis": "8px", + "shrink": 0 + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.closeFunction()\n\tself.parent.getSibling(\u0027Databases\u0027).props.value \u003d None\n\tself.parent.getSibling(\u0027Charts\u0027).props.value \u003d None" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Cancel" + }, + "position": { + "basis": "80px", + "grow": 1 + }, + "props": { + "primary": false, + "style": { + "classes": "AdHocTrends/CancelButtonMobile" + }, + "text": "Cancel", + "textStyle": { + "fontSize": "20px" + } + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tincludePlots \u003d self.parent.getSibling(\u0027Plots\u0027).props.selected\n\tincludeDisplay \u003d self.parent.getSibling(\u0027Display\u0027).props.selected\n\tprivate \u003d self.session.props.auth.authenticated and self.parent.getSibling(\u0027Private\u0027).props.selected\n\tdbName \u003d self.parent.getSibling(\u0027Databases\u0027).props.value\n\tconfigId \u003d self.parent.getSibling(\u0027Charts\u0027).props.value\n\t\n\tself.view.rootContainer.closeFunction()\n\t\n\tself.view.rootContainer.saveToDb(dbName, configId, includePlots, includeDisplay, private)\n\tself.parent.getSibling(\u0027Databases\u0027).props.value \u003d None\n\tself.parent.getSibling(\u0027Charts\u0027).props.value \u003d None\n" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Save" + }, + "position": { + "basis": "80px", + "grow": 1 + }, + "props": { + "style": { + "classes": "AdHocTrends/SaveLoadButtonMobile" + }, + "text": "Save", + "textStyle": { + "fontSize": "20px" + } + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "CancelSave" + }, + "position": { + "basis": "60px" + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "SaveToDb" + }, + "position": { + "display": false, + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{view.custom.activeControl} \u003d {this.meta.name}" + }, + "type": "expr" + }, + "persistent": true + } + }, + "props": { + "direction": "column", + "style": { + "classes": "AdHocTrends/MobileFunctionBar", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "custom": { + "title": "Configure Databases" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.toggleFunction(self.meta.name, None, self.custom.title)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ConfigureDatabases" + }, + "position": { + "basis": "36px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "isAuthorized(true, \u0027Authenticated/Roles/Administrator\u0027)" + }, + "type": "expr" + } + }, + "props.enabled": { + "binding": { + "config": { + "expression": "isAuthorized(true, \u0027Authenticated/Roles/Administrator\u0027)" + }, + "type": "expr" + } + } + }, + "props": { + "image": { + "icon": { + "color": "var(--neutral-70)", + "path": "material/storage" + } + }, + "primary": false, + "style": { + "classes": "AdHocTrends/FullRadiusMobile AdHocTrends/MobileControl" + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "DatabaseSpacer" + }, + "position": { + "basis": "8px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "struct": { + "admin": "isAuthorized(true, \u0027Authenticated/Roles/Administrator\u0027)", + "databases": "{view.custom.databases}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn value.admin or bool(filter(lambda x: x[\u0027Enabled\u0027], value.databases))", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "title": "Load from Database" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.toggleFunction(self.meta.name, None, self.custom.title)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "LoadFromDb" + }, + "position": { + "basis": "35px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "struct": { + "admin": "isAuthorized(true, \u0027Authenticated/Roles/Administrator\u0027)", + "databases": "{view.custom.databases}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn value.admin or bool(filter(lambda x: x[\u0027Enabled\u0027], value.databases))", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.enabled": { + "binding": { + "config": { + "struct": { + "admin": "isAuthorized(true, \u0027Authenticated/Roles/Administrator\u0027)", + "databases": "{view.custom.databases}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn value.admin or bool(filter(lambda x: x[\u0027Enabled\u0027], value.databases))", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "image": { + "icon": { + "color": "var(--neutral-70)", + "path": "material/playlist_play" + } + }, + "primary": false, + "style": { + "classes": "AdHocTrends/LeftRadiusMobile AdHocTrends/MobileControl" + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "custom": { + "title": "Save to Database" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.toggleFunction(self.meta.name, None, self.custom.title)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SaveToDb" + }, + "position": { + "basis": "35px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "struct": { + "admin": "isAuthorized(true, \u0027Authenticated/Roles/Administrator\u0027)", + "databases": "{view.custom.databases}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn value.admin or bool(filter(lambda x: x[\u0027Enabled\u0027], value.databases))", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "props.enabled": { + "binding": { + "config": { + "struct": { + "admin": "isAuthorized(true, \u0027Authenticated/Roles/Administrator\u0027)", + "databases": "{view.custom.databases}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn value.admin or bool(filter(lambda x: x[\u0027Enabled\u0027], value.databases))", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "props": { + "image": { + "icon": { + "color": "var(--neutral-70)", + "path": "material/playlist_add" + }, + "width": 23 + }, + "primary": false, + "style": { + "borderLeftWidth": "0px", + "classes": "AdHocTrends/MobileControl AdHocTrends/RightRadiusMobile" + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "SaveFileSpacer" + }, + "position": { + "basis": "8px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "struct": { + "admin": "isAuthorized(true, \u0027Authenticated/Roles/Administrator\u0027)", + "databases": "{view.custom.databases}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\treturn value.admin or bool(filter(lambda x: x[\u0027Enabled\u0027], value.databases))", + "type": "script" + } + ], + "type": "expr-struct" + } + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "title": "Load File" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.toggleFunction(self.meta.name, None, self.custom.title)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "LoadFromFile" + }, + "position": { + "basis": "35px" + }, + "props": { + "image": { + "icon": { + "color": "var(--neutral-70)", + "path": "material/folder_open" + } + }, + "primary": false, + "style": { + "classes": "AdHocTrends/LeftRadiusMobile AdHocTrends/MobileControl" + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "custom": { + "title": "Save File" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.toggleFunction(self.meta.name, None, self.custom.title)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SaveToFile" + }, + "position": { + "basis": "35px" + }, + "props": { + "image": { + "icon": { + "color": "var(--neutral-70)", + "path": "material/save" + }, + "width": 23 + }, + "primary": false, + "style": { + "borderLeftWidth": "0px", + "classes": "AdHocTrends/MobileControl AdHocTrends/RightRadiusMobile" + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "SetRefreshRateSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "custom": { + "title": "Set Real-Time Refresh Rate" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.toggleFunction(self.meta.name, \u0027root/MobileBottomControls/FooterSmall/SetRefreshRate/RateInput/Rate\u0027, self.custom.title)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SetRefreshRate" + }, + "position": { + "basis": "35px" + }, + "props": { + "image": { + "icon": { + "color": "var(--neutral-70)", + "path": "material/access_time" + } + }, + "primary": false, + "style": { + "classes": "AdHocTrends/LeftRadiusMobile AdHocTrends/MobileControl" + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.togglePause()" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Pause" + }, + "position": { + "basis": "35px" + }, + "propConfig": { + "props.image.icon.color": { + "binding": { + "config": { + "expression": "if({this.props.primary}, \u0027var(--neutral-20)\u0027, \u0027var(--neutral-70)\u0027)" + }, + "type": "expr" + } + }, + "props.primary": { + "binding": { + "config": { + "expression": "{...../PowerChart.props.config.refreshRate} \u003d 0" + }, + "type": "expr" + } + } + }, + "props": { + "image": { + "icon": { + "path": "material/pause_circle_outline" + }, + "width": 23 + }, + "style": { + "borderLeftWidth": "0px", + "classes": "AdHocTrends/MobileControl AdHocTrends/RightRadiusMobile" + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "SetTitleSpacer" + }, + "position": { + "basis": "8px" + }, + "type": "ia.display.label" + }, + { + "custom": { + "title": "Set Title" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.view.rootContainer.toggleFunction(self.meta.name, \u0027root/MobileBottomControls/FooterSmall/SetTitle/Title\u0027, self.custom.title)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "SetTitle" + }, + "position": { + "basis": "36px", + "shrink": 0 + }, + "props": { + "image": { + "icon": { + "color": "var(--neutral-70)", + "path": "material/text_fields" + } + }, + "primary": false, + "style": { + "classes": "AdHocTrends/FullRadiusMobile AdHocTrends/MobileControl" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Controls" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "props": { + "justify": "center", + "style": { + "classes": "AdHocTrends/MobileControlBar", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FooterSmall" + }, + "props": { + "direction": "column", + "justify": "flex-end", + "style": { + "classes": "AdHocTrends/Header", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "MobileBottomControls" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "props.breakpoint": { + "binding": { + "config": { + "expression": "{../PowerChart.props.config.responsiveDesignWidth}+2" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "maxHeight": "50px", + "zIndex": 1 + } + }, + "type": "ia.container.breakpt" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible" + } + }, + "scripts": { + "customMethods": [ + { + "name": "toggleFunction", + "params": [ + "name", + "focusElement", + "title" + ], + "script": "\t# toggle just forwards to the open/close methods based on what\u0027s currently selected\n\t# visibility of each feature is based on the name that is stored in the activeControl property\n\tif self.view.custom.activeControl \u003d\u003d name:\n\t\tself.view.rootContainer.closeFunction()\n\telse:\n\t\tself.view.rootContainer.openFunction(name, focusElement, title)\n\t\t" + }, + { + "name": "closeFunction", + "params": [], + "script": "\tself.view.custom.activeControl \u003d None\n\tself.view.custom.functionTitle \u003d \u0027\u0027" + }, + { + "name": "openFunction", + "params": [ + "name", + "focusElement", + "title" + ], + "script": "\tself.view.custom.activeControl \u003d name\n\tself.view.custom.functionTitle \u003d title\n\t\n\t# special case for auto focusing specific elements when opened\n\t# currently used for title and rate \n\t# a delay was necessary in order to allow the input component to become visible first, before focusing\n\tif focusElement:\n\t\timport threading\n\t\tdef focusWorker():\n\t\t\tself.view.getChild(focusElement).focus()\n\t\tthreading.Timer(0.3, focusWorker).start()" + }, + { + "name": "setTitle", + "params": [ + "title" + ], + "script": "\t# sets or hides the title of the chart\n\t# if you simply set it to empty,\n\t# it still includes some extra whitespace where the title would be\n\tif title:\n\t\tself.view.getChild(\u0027root/PowerChart\u0027).props.title.text \u003d title\n\t\tself.view.getChild(\u0027root/PowerChart\u0027).props.title.visible \u003d True\n\telse:\n\t\tself.view.getChild(\u0027root/PowerChart\u0027).props.title.text \u003d \u0027\u0027\n\t\tself.view.getChild(\u0027root/PowerChart\u0027).props.title.visible \u003d False" + }, + { + "name": "setRate", + "params": [ + "rate" + ], + "script": "\tself.view.getChild(\u0027root/PowerChart\u0027).props.config.refreshRate \u003d rate" + }, + { + "name": "saveToFile", + "params": [ + "includePlots", + "includeDisplay" + ], + "script": "\tconfig \u003d self.view.rootContainer.getConfigJson(includePlots, includeDisplay)\n\tsystem.perspective.download(\u0027chartsettings.json\u0027, config)\n" + }, + { + "name": "loadFromFile", + "params": [ + "configJson", + "includePlots", + "includeDisplay" + ], + "script": "\t# save files are split into two sections -\n\t# the configured plots (pens/axes/plots) and the overall display settings (legends/columns)\n\tif configJson:\n\t\tconfig \u003d system.util.jsonDecode(configJson)\n\t\tconfig \u003d self.view.rootContainer.propertyTreeRestoreDate(config)\n\t\t\n\t\tpowerChart \u003d self.view.getChild(\u0027root/PowerChart\u0027)\n\t\tif includePlots:\n\t\t\tif \u0027config\u0027 in config:\n\t\t\t\tpowerChart.props.config \u003d config[\u0027config\u0027]\n\t\t\t\t\n\t\t\tif \u0027axes\u0027 in config:\n\t\t\t\tpowerChart.props.axes \u003d config[\u0027axes\u0027]\n\t\t\tif \u0027pens\u0027 in config:\n\t\t\t\tpowerChart.props.pens \u003d config[\u0027pens\u0027]\n\t\t\tif \u0027plots\u0027 in config:\n\t\t\t\tpowerChart.props.plots \u003d config[\u0027plots\u0027]\n\t\t\tif \u0027title\u0027 in config:\n\t\t\t\tpowerChart.props.title \u003d config[\u0027title\u0027]\n\t\t\t\n\t\tif includeDisplay:\n\t\t\tif \u0027timeAxis\u0027 in config:\n\t\t\t\tpowerChart.props.timeAxis \u003d config[\u0027timeAxis\u0027]\n\t\t\tif \u0027interaction\u0027 in config:\n\t\t\t\t# range brushes are not currently writable through the property tree\n\t\t\t\tconfig[\u0027interaction\u0027][\u0027rangeBrush\u0027][\u0027values\u0027] \u003d []\n\t\t\t\tpowerChart.props.interaction \u003d config[\u0027interaction\u0027]\n\t\t\tif \u0027dataColumns\u0027 in config:\n\t\t\t\tpowerChart.props.dataColumns \u003d config[\u0027dataColumns\u0027]\n\t\t\tif \u0027legend\u0027 in config:\n\t\t\t\tpowerChart.props.legend \u003d config[\u0027legend\u0027]\n" + }, + { + "name": "togglePause", + "params": [], + "script": "\t# this will store the current refresh rate before setting it to 0 so it can be unpaused later\n\tpowerChart \u003d self.view.getChild(\u0027root/PowerChart\u0027)\n\tif powerChart.props.config.refreshRate \u003d\u003d 0:\n\t\tself.view.rootContainer.setRate(self.view.custom.refreshRate)\n\telse:\n\t\tself.view.custom.refreshRate \u003d powerChart.props.config.refreshRate\n\t\tself.view.rootContainer.setRate(0)" + }, + { + "name": "configureDatabases", + "params": [], + "script": "\t# current functionality allows an admin to toggle the available databases\n\t# the list of databases to enable/disable is store in a property until the admin selects \u0027Save\u0027\n\t# based on that list, this function will attempt to enable/disable each one\n\t# enable means there is a matching configs table and the first row has private\u003d0\n\t# disabled means the first row has private\u003d1, or there is no matching configs table \n\t# for enable: this will check for valid connection, create configs table if necessary, or update the existing matching table with private\u003d0\n\t# for disable: this will check for valid connection, update the existing matching table with private\u003d1\n\t# after doing this, we send out a message to open sessions to update their db listing, so they don\u0027t have to manually refresh anything\n\t\n\tlogger \u003d system.util.getLogger(\u0027Ad Hoc Trends\u0027)\n\tfor dbName in self.view.custom.configureDatabases:\n\t\tdbInfo \u003d next((d for d in self.view.custom.databases if d.Name \u003d\u003d dbName), False)\n\t\tif not dbInfo:\n\t\t\tlogger.error(\u0027Unable to create configuration table for database \"%s\" because it was not found in database list (view.custom.databases).\u0027 %dbName)\n\t\t\tcontinue\n\t\t\n\t\tif dbInfo[\u0027Status\u0027] !\u003d \"Valid\":\n\t\t\tlogger.error(\u0027Unable to create configuration table for database \"%s\" because database does not have a valid connection.\u0027 %dbName)\n\t\t\tcontinue\n\t\t\n\t\tdbType \u003d dbInfo[\u0027DBType\u0027]\n\t\tdbEnable \u003d self.view.custom.configureDatabases[dbName]\n\t\t\n\t\ttableExistsQuery \u003d self.view.rootContainer.getTableExistsQuery(dbType)\n\t\ttableFormatMatchesQuery \u003d self.view.rootContainer.getTableFormatMatchesQuery(dbType)\n\t\tcreateTableQuery \u003d self.view.rootContainer.getCreateTableQuery(dbType)\n\t\tmakeDatabasePrivateQuery \u003d self.view.rootContainer.getMakeDatabasePrivateQuery(dbType)\n\t\t\n\t\tif not tableExistsQuery or not tableFormatMatchesQuery or not createTableQuery or not makeDatabasePrivateQuery:\n\t\t\tlogger.error(\u0027Unable to create configuration table for database \"%s\" because it is an unknown database type \"%s\".\u0027 %(dbName, dbType))\n\t\t\tcontinue\n\t\t\n\t\ttableExists \u003d system.db.runScalarPrepQuery(tableExistsQuery, None, dbName)\n\t\t\n\t\tif dbEnable:\n\t\t\tif tableExists:\n\t\t\t\ttableFormatMatches \u003d system.db.runScalarPrepQuery(tableFormatMatchesQuery, None, dbName)\n\t\t\t\tif tableFormatMatches:\n\t\t\t\t\tsystem.db.runPrepUpdate(makeDatabasePrivateQuery, [False, False], dbName)\n\t\t\t\t\tlogger.info(\u0027Enabled database \"%s\"\u0027 %dbName)\n\t\t\t\telse:\n\t\t\t\t\tlogger.error(\u0027Unable to create configuration table for database \"%s\" because configuration table but does not match expected format [id,user,public,config, config_name,timestamp].\u0027 %dbName)\n\t\t\telse:\n\t\t\t\tsystem.db.runPrepUpdate(createTableQuery, None, dbName)\n\t\t\t\tlogger.info(\u0027Created configuration table for database \"%s\"\u0027 %dbName)\n\t\t\t\tsystem.db.runPrepUpdate(makeDatabasePrivateQuery, [False, False], dbName)\n\t\t\t\tlogger.info(\u0027Enabled database \"%s\"\u0027 %dbName)\n\t\telse:\n\t\t\tif tableExists:\n\t\t\t\ttableFormatMatches \u003d system.db.runScalarPrepQuery(tableFormatMatchesQuery, None, dbName)\n\t\t\t\tif tableFormatMatches:\n\t\t\t\t\tsystem.db.runPrepUpdate(makeDatabasePrivateQuery, [True, True], dbName)\n\t\t\t\t\tlogger.info(\u0027Disabled database \"%s\"\u0027 %dbName)\n\t\t\t\telse:\n\t\t\t\t\tlogger.error(\u0027Unable to create configuration table for database \"%s\" because configuration table but does not match expected format [id,user,public,config, config_name,timestamp].\u0027 %dbName)\n\t\t\telse:\n\t\t\t\t# ad hoc trends config table does not exist, so there is no change needed\n\t\t\t\tpass\n\n\tfor session in filter(lambda x: x.sessionScope !\u003d \u0027designer\u0027, system.perspective.getSessionInfo()):\n\t\tsystem.perspective.sendMessage(\u0027ad_hoc_trends_databaseReconfigured\u0027, {}, \u0027session\u0027, session.id)" + }, + { + "name": "databaseEnabled", + "params": [ + "dbName" + ], + "script": "\t# enable means there is a matching configs table and the first row has private\u003d0\n\tlogger \u003d system.util.getLogger(\u0027Ad Hoc Trends\u0027)\n\tdbInfo \u003d system.db.getConnectionInfo(dbName)\n\tif not dbInfo:\n\t\tlogger.error(\u0027Unable to check if database \"%s\" is enabled because it was not found in database connection list (system.db.getConnectionInfo).\u0027 %dbName)\n\t\treturn False\n\n\tdbType \u003d dbInfo.getValueAt(0, \u0027DBType\u0027)\n\t\n\ttableExistsQuery \u003d self.view.rootContainer.getTableExistsQuery(dbType)\n\ttableFormatMatchesQuery \u003d self.view.rootContainer.getTableFormatMatchesQuery(dbType)\n\tdatabaseEnabledQuery \u003d self.view.rootContainer.getDatabaseEnabledQuery(dbType)\n\t\n\tif not tableExistsQuery or not tableFormatMatchesQuery or not databaseEnabledQuery:\n\t\tlogger.debug(\u0027Unable to check if database \"%s\" is enabled because it is an unknown database type \"%s\".\u0027 %(dbName, dbType))\n\t\treturn False\n\n\treturn bool(system.db.runScalarPrepQuery(tableExistsQuery, None, dbName)) and \\\n\t\tbool(system.db.runScalarPrepQuery(tableFormatMatchesQuery, None, dbName)) and \\\n\t\tbool(system.db.runScalarPrepQuery(databaseEnabledQuery, None, dbName))" + }, + { + "name": "getCharts", + "params": [ + "dbName" + ], + "script": "\t# get any chart created by this user or any chart made available publicly (null user or private\u003d0)\n\tif not dbName:\n\t\treturn system.dataset.toPyDataSet(system.dataset.toDataSet([\u0027id\u0027, \u0027username\u0027, \u0027config_name\u0027, \u0027private\u0027, \u0027config\u0027, \u0027t_stamp\u0027], []))\n\t\n\tlogger \u003d system.util.getLogger(\u0027Ad Hoc Trends\u0027)\n\tdbInfo \u003d next((d for d in self.view.custom.databases if d.Name \u003d\u003d dbName), False)\n\tif not dbInfo:\n\t\tlogger.error(\u0027Unable to load charts of database \"%s\" because it was not found in database list (view.custom.databases).\u0027 %dbName)\n\t\treturn\n\n\tdbType \u003d dbInfo[\u0027DBType\u0027]\n\t\n\tavailableChartsQuery \u003d self.view.rootContainer.getAvailableChartsQuery(dbType)\n\t\n\tif not availableChartsQuery:\n\t\tlogger.debug(\u0027Unable to load charts of database \"%s\" because it is an unknown database type \"%s\".\u0027 %(dbName, dbType))\n\t\treturn system.dataset.toPyDataSet(system.dataset.toDataSet([\u0027id\u0027, \u0027username\u0027, \u0027config_name\u0027, \u0027private\u0027, \u0027config\u0027, \u0027t_stamp\u0027], []))\n\t\n\treturn system.db.runPrepQuery(availableChartsQuery, [self.session.props.auth.user.userName], dbName)\n" + }, + { + "name": "getOwnCharts", + "params": [ + "dbName" + ], + "script": "\t# only returns the list of charts created by this user, or ones created globally (null user)\n\t# used for the saving feature, so that you don\u0027t edit someone else\u0027s charts\n\tif not dbName:\n\t\treturn system.dataset.toPyDataSet(system.dataset.toDataSet([\u0027id\u0027, \u0027username\u0027, \u0027config_name\u0027, \u0027private\u0027, \u0027config\u0027, \u0027t_stamp\u0027], []))\n\t\n\tlogger \u003d system.util.getLogger(\u0027Ad Hoc Trends\u0027)\n\tdbInfo \u003d next((d for d in self.view.custom.databases if d.Name \u003d\u003d dbName), False)\n\tif not dbInfo:\n\t\tlogger.error(\u0027Unable to load charts of database \"%s\" because it was not found in database list (view.custom.databases).\u0027 %dbName)\n\t\treturn\n\n\tdbType \u003d dbInfo[\u0027DBType\u0027]\n\t\n\townChartsQuery \u003d self.view.rootContainer.getOwnChartsQuery(dbType)\n\t\n\tif not ownChartsQuery:\n\t\tlogger.debug(\u0027Unable to load charts of database \"%s\" because it is an unknown database type \"%s\".\u0027 %(dbName, dbType))\n\t\treturn system.dataset.toPyDataSet(system.dataset.toDataSet([\u0027id\u0027, \u0027username\u0027, \u0027config_name\u0027, \u0027private\u0027, \u0027config\u0027, \u0027t_stamp\u0027], []))\n\t\n\treturn system.db.runPrepQuery(ownChartsQuery, [self.session.props.auth.user.userName], dbName)\n" + }, + { + "name": "loadFromDb", + "params": [ + "dbName", + "configId", + "includePlots", + "includeDisplay" + ], + "script": "\tif not dbName or not configId:\n\t\treturn\n\t\n\tlogger \u003d system.util.getLogger(\u0027Ad Hoc Trends\u0027)\n\tdbInfo \u003d next((d for d in self.view.custom.databases if d.Name \u003d\u003d dbName), False)\n\tif not dbInfo:\n\t\tlogger.error(\u0027Unable to load chart configuration from database \"%s\" because it was not found in database list (view.custom.databases).\u0027 %dbName)\n\t\treturn\n\n\tdbType \u003d dbInfo[\u0027DBType\u0027]\n\t\n\tchartConfigQuery \u003d self.view.rootContainer.getChartConfigQuery(dbType)\n\tif not chartConfigQuery:\n\t\tlogger.debug(\u0027Unable to load chart configuration from database \"%s\" because it is an unknown database type \"%s\".\u0027 %(dbName, dbType))\n\t\treturn\n\t\n\tself.view.rootContainer.loadFromFile(system.db.runScalarPrepQuery(chartConfigQuery, [configId], dbName), includePlots, includeDisplay)\n\t\n\t\n\t\n\t" + }, + { + "name": "saveToDb", + "params": [ + "dbName", + "configId", + "includePlots", + "includeDisplay", + "private" + ], + "script": "\tif not dbName or not configId:\n\t\treturn\n\t\n\tlogger \u003d system.util.getLogger(\u0027Ad Hoc Trends\u0027)\n\t\n\tconfigJson \u003d self.view.rootContainer.getConfigJson(includePlots, includeDisplay)\n\tusername \u003d self.session.props.auth.user.userName\n\tdbInfo \u003d next((d for d in self.view.custom.databases if d.Name \u003d\u003d dbName), False)\n\tif not dbInfo:\n\t\tlogger.error(\u0027Unable to save chart configuration to database \"%s\" because it was not found in database list (view.custom.databases).\u0027 %dbName)\n\t\treturn\n\n\tdbType \u003d dbInfo[\u0027DBType\u0027]\n\t\n\t\n\t# if the user creates a new chart, then the config id will be a string\n\t# otherwise it will be a number, representing the existing row to update\n\tif isinstance(configId, unicode):\n\t\tinsertChartConfigQuery \u003d self.view.rootContainer.getInsertChartConfigQuery(dbType)\n\t\tif not insertChartConfigQuery:\n\t\t\tlogger.debug(\u0027Unable to save chart configuration to database \"%s\" because it is an unknown database type \"%s\".\u0027 %(dbName, dbType))\n\t\t\treturn\n\t\t\t\n\t\tsystem.db.runPrepUpdate(insertChartConfigQuery, [configJson, configId, private, username], dbName)\n\t\tlogger.debug(\u0027Saved new chart configuration to database \"%s\"\u0027 %dbName)\n\telse:\n\t\tupdateChartConfigQuery \u003d self.view.rootContainer.getUpdateChartConfigQuery(dbType)\n\t\tif not updateChartConfigQuery:\n\t\t\tlogger.debug(\u0027Unable to save chart configuration to database \"%s\" because it is an unknown database type \"%s\".\u0027 %(dbName, dbType))\n\t\t\treturn\n\t\t\t\n\t\tsystem.db.runPrepUpdate(updateChartConfigQuery, [configJson, username, private, configId], dbName)\n\t\tlogger.debug(\u0027Updated chart configuration in database \"%s\"\u0027 %dbName)\n\t\n\t" + }, + { + "name": "getConfigJson", + "params": [ + "includePlots", + "includeDisplay" + ], + "script": "\tconfig \u003d {}\n\tpowerChart \u003d self.view.getChild(\u0027root/PowerChart\u0027)\n\n\t# added a deepcopy utility that includes an option to convert Date to Instant format string\n\n\tif includePlots:\n\t\tconfig[\u0027config\u0027] \u003d self.view.rootContainer.propertyDeepcopy(powerChart.props.config, True)\n\t\tconfig[\u0027axes\u0027] \u003d self.view.rootContainer.propertyDeepcopy(powerChart.props.axes, True)\n\t\tconfig[\u0027pens\u0027] \u003d self.view.rootContainer.propertyDeepcopy(powerChart.props.pens, True)\n\t\tconfig[\u0027plots\u0027] \u003d self.view.rootContainer.propertyDeepcopy(powerChart.props.plots, True)\n\t\tconfig[\u0027title\u0027] \u003d self.view.rootContainer.propertyDeepcopy(powerChart.props.title, True)\n\t\t\n\tif includeDisplay:\n\t\tconfig[\u0027timeAxis\u0027] \u003d self.view.rootContainer.propertyDeepcopy(powerChart.props.timeAxis, True)\n\n\t\tconfig[\u0027interaction\u0027] \u003d self.view.rootContainer.propertyDeepcopy(powerChart.props.interaction, True)\n\t\t\n\t\tconfig[\u0027dataColumns\u0027] \u003d self.view.rootContainer.propertyDeepcopy(powerChart.props.dataColumns, True)\n\t\tconfig[\u0027legend\u0027] \u003d self.view.rootContainer.propertyDeepcopy(powerChart.props.legend, True)\n\t\n\t# this method easily converts the perspective property trees into json\n\t# using str() of the property itself can include various parts that are not json compatible\n\tif config:\n\t\tfrom com.inductiveautomation.ignition.common import TypeUtilities\n\t\treturn str(TypeUtilities.pyToGson(config))\n\treturn \u0027{}\u0027" + }, + { + "name": "getTableExistsQuery", + "params": [ + "dbType" + ], + "script": "\tif dbType \u003d\u003d \u0027POSTGRES\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT EXISTS(\n\t\t\tSELECT\n\t\t\t\t*\n\t\t\tFROM\n\t\t\t\tinformation_schema.tables\n\t\t\tWHERE\n\t\t\t\ttable_schema NOT IN (\u0027information_schema\u0027, \u0027pg_catalog\u0027) AND\n\t\t\t\ttable_type \u003d \u0027BASE TABLE\u0027 AND\n\t\t\t\ttable_name \u003d \u0027ad_hoc_trends_config\u0027)\u0027\u0027\u0027\n\telif dbType \u003d\u003d \u0027SQLITE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT EXISTS(\n\t\t\tSELECT\n\t\t\t\t*\n\t\t\tFROM\n\t\t\t\tsqlite_master\n\t\t\tWHERE\n\t\t\t\ttype\u003d\u0027table\u0027 AND\n\t\t\t\tname\u003d\u0027ad_hoc_trends_config\u0027)\u0027\u0027\u0027\n\telif dbType \u003d\u003d \u0027MYSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT EXISTS(\n\t\t\tSELECT\n\t\t\t\t*\n\t\t\tFROM\n\t\t\t\tinformation_schema.tables\n\t\t\tWHERE\n\t\t\t\ttable_name \u003d \u0027ad_hoc_trends_config\u0027)\u0027\u0027\u0027\n\t\n\telif dbType \u003d\u003d \u0027MSSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tCASE WHEN EXISTS \n\t\t\t(\n\t\t\t\tSELECT * \n\t\t\t\tFROM INFORMATION_SCHEMA.TABLES\n\t\t\t\tWHERE TABLE_TYPE \u003d \u0027BASE TABLE\u0027\n\t\t\t\tAND TABLE_NAME \u003d \u0027ad_hoc_trends_config\u0027\n\t\t\t)\n\t\t\t\tTHEN 1\n\t\t\t\tELSE 0\n\t\t\tEND\u0027\u0027\u0027\n\t\n\telif dbType \u003d\u003d \u0027ORACLE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tcount(*)\n\t\tFROM\n\t\t\tdba_tables\n\t\tWHERE\n\t\t\ttable_name \u003d \u0027AD_HOC_TRENDS_CONFIG\u0027\n\t\t\u0027\u0027\u0027\n\t\n\treturn \u0027\u0027" + }, + { + "name": "getDatabaseEnabledQuery", + "params": [ + "dbType" + ], + "script": "\tif dbType \u003d\u003d \u0027POSTGRES\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tprivate \u003d false\n\t\tFROM\n\t\t\tad_hoc_trends_config\n\t\tWHERE\n\t\t\tid \u003d 0\u0027\u0027\u0027\n\telif dbType \u003d\u003d \u0027SQLITE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tprivate \u003d false\n\t\tFROM\n\t\t\tad_hoc_trends_config\n\t\tWHERE\n\t\t\tid \u003d 0\u0027\u0027\u0027\n\telif dbType \u003d\u003d \u0027MYSQL\u0027:\n\t\t# by deafult, MySQL will auto increment when you try to set an auto increment column to 0 on INSERT.\n\t\t# using -1 here instead\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tprivate \u003d false\n\t\tFROM\n\t\t\tad_hoc_trends_config\n\t\tWHERE\n\t\t\tid \u003d -1\u0027\u0027\u0027\n\t\t\t\n\telif dbType \u003d\u003d \u0027MSSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tCASE WHEN private \u003d \u0027FALSE\u0027\n\t\t\t\tTHEN 1\n\t\t\t\tELSE 0\n\t\t\tEND\n\t\tFROM\n\t\t\tad_hoc_trends_config\n\t\tWHERE\n\t\t\tid \u003d 0\u0027\u0027\u0027\n\t\t\t\n\telif dbType \u003d\u003d \u0027ORACLE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tCASE WHEN private \u003d 0\n\t\t\t\tTHEN 1\n\t\t\t\tELSE 0\n\t\t\tEND\n\t\tFROM\n\t\t\tAD_HOC_TRENDS_CONFIG\n\t\tWHERE\n\t\t\tid \u003d 0\u0027\u0027\u0027\n\t\n\treturn \u0027\u0027" + }, + { + "name": "getTableFormatMatchesQuery", + "params": [ + "dbType" + ], + "script": "\tif dbType \u003d\u003d \u0027POSTGRES\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tcount(*) \u003d 6\n\t\tFROM\n\t\t\tinformation_schema.columns\n\t\tWHERE\n\t\t\ttable_name \u003d \u0027ad_hoc_trends_config\u0027 AND\n\t\t\tcolumn_name IN (\u0027id\u0027,\u0027username\u0027,\u0027config_name\u0027,\u0027private\u0027,\u0027config\u0027,\u0027t_stamp\u0027)\u0027\u0027\u0027\n\t\t\n\telif dbType \u003d\u003d \u0027SQLITE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tcount(*) \u003d 6\n\t\tFROM\n\t\t\tpragma_table_info(\u0027ad_hoc_trends_config\u0027)\n\t\tWHERE\n\t\t\tname IN (\u0027id\u0027,\u0027username\u0027,\u0027config_name\u0027,\u0027private\u0027,\u0027config\u0027,\u0027t_stamp\u0027)\u0027\u0027\u0027\n\t\n\telif dbType \u003d\u003d \u0027MYSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tcount(*) \u003d 6\n\t\tFROM\n\t\t\tinformation_schema.columns\n\t\tWHERE\n\t\t\ttable_name \u003d \u0027ad_hoc_trends_config\u0027 AND\n\t\t\tcolumn_name IN (\u0027id\u0027,\u0027username\u0027,\u0027config_name\u0027,\u0027private\u0027,\u0027config\u0027,\u0027t_stamp\u0027)\u0027\u0027\u0027\n\t\n\telif dbType \u003d\u003d \u0027MSSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tCASE WHEN COUNT(*) \u003d 6\n\t\t\t\tTHEN 1\n\t\t\t\tELSE 0\n\t\t\tEND\n\t\tFROM\n\t\t\tinformation_schema.columns\n\t\tWHERE\n\t\t\tTABLE_NAME \u003d \u0027ad_hoc_trends_config\u0027 AND\n\t\t\tCOLUMN_NAME IN (\u0027id\u0027,\u0027username\u0027,\u0027config_name\u0027,\u0027private\u0027,\u0027config\u0027,\u0027t_stamp\u0027)\u0027\u0027\u0027\n\t\t\n\telif dbType \u003d\u003d \u0027ORACLE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tCASE WHEN COUNT(*) \u003d 6\n\t\t\t\tTHEN 1\n\t\t\t\tELSE 0\n\t\t\tEND\n\t\tFROM\n\t\t\tall_tab_cols\n\t\tWHERE\n\t\t\tTABLE_NAME \u003d \u0027AD_HOC_TRENDS_CONFIG\u0027 AND\n\t\t\tCOLUMN_NAME IN (\u0027ID\u0027,\u0027USERNAME\u0027,\u0027CONFIG_NAME\u0027,\u0027PRIVATE\u0027,\u0027CONFIG\u0027,\u0027T_STAMP\u0027)\u0027\u0027\u0027\n\t\n\treturn \u0027\u0027" + }, + { + "name": "getCreateTableQuery", + "params": [ + "dbType" + ], + "script": "\tif dbType \u003d\u003d \u0027POSTGRES\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tCREATE TABLE ad_hoc_trends_config(\n\t\t\tid SERIAL PRIMARY KEY,\n\t\t\tusername text,\n\t\t\tconfig_name text,\n\t\t\tprivate boolean,\n\t\t\tconfig text,\n\t\t\tt_stamp timestamp DEFAULT CURRENT_TIMESTAMP,\n\t\t\tCONSTRAINT name UNIQUE(username, config_name)\n\t\t)\u0027\u0027\u0027\n\t\t\n\telif dbType \u003d\u003d \u0027SQLITE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tCREATE TABLE ad_hoc_trends_config(\n\t\t\tid INTEGER PRIMARY KEY,\n\t\t\tusername TEXT,\n\t\t\tconfig_name TEXT,\n\t\t\tprivate INTEGER,\n\t\t\tconfig TEXT,\n\t\t\tt_stamp TEXT DEFAULT CURRENT_TIMESTAMP,\n\t\t\tUNIQUE(username, config_name)\n\t\t)\u0027\u0027\u0027\n\t\n\telif dbType \u003d\u003d \u0027MYSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tCREATE TABLE ad_hoc_trends_config(\n\t\t\tid INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,\n\t\t\tusername VARCHAR(255),\n\t\t\tconfig_name VARCHAR(255),\n\t\t\tprivate BOOLEAN,\n\t\t\tconfig TEXT,\n\t\t\tt_stamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP,\n\t\t\tCONSTRAINT name UNIQUE(username, config_name)\n\t\t)\u0027\u0027\u0027\n\t\t\n\telif dbType \u003d\u003d \u0027MSSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tCREATE TABLE ad_hoc_trends_config(\n\t\t\tid INT NOT NULL PRIMARY KEY IDENTITY(1, 1),\n\t\t\tusername VARCHAR(255),\n\t\t\tconfig_name VARCHAR(255),\n\t\t\tprivate BIT,\n\t\t\tconfig TEXT,\n\t\t\tt_stamp DATETIME DEFAULT CURRENT_TIMESTAMP,\n\t\t\tCONSTRAINT name UNIQUE(username, config_name)\n\t\t)\u0027\u0027\u0027\n\t\n\telif dbType \u003d\u003d \u0027ORACLE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tCREATE TABLE ad_hoc_trends_config(\n\t\t\tid NUMBER GENERATED BY DEFAULT ON NULL AS IDENTITY,\n\t\t username VARCHAR(255),\n\t\t config_name VARCHAR(255),\n\t\t private NUMBER,\n\t\t config NCLOB,\n\t\t t_stamp DATE DEFAULT CURRENT_TIMESTAMP,\n\t\t CONSTRAINT name UNIQUE(username, config_name)\n\t\t)\u0027\u0027\u0027\n\t\n\treturn \u0027\u0027" + }, + { + "name": "getMakeDatabasePrivateQuery", + "params": [ + "dbType" + ], + "script": "\tif dbType \u003d\u003d \u0027POSTGRES\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tINSERT INTO ad_hoc_trends_config\n\t\t\t(id, config, config_name, private, username)\n\t\tVALUES\n\t\t\t(0, null, null, ?, null) \n\t\tON CONFLICT (id) \n\t\tDO UPDATE\n\t\t\tSET\n\t\t\t\tprivate \u003d ?\n\t\t\tWHERE\n\t\t\t\tad_hoc_trends_config.id \u003d 0\n\t\t\u0027\u0027\u0027\n\t\t\n\telif dbType \u003d\u003d \u0027SQLITE\u0027:\n\t\t# using ? AND ? here to use up to arguments, matching the other SQL queries\n\t\treturn \u0027\u0027\u0027\n\t\tINSERT OR REPLACE INTO ad_hoc_trends_config\n\t\t\t(id, config, config_name, private, username)\n\t\tVALUES\n\t\t\t(0, null, null, ? AND ?, null)\n\t\t\u0027\u0027\u0027\n\t\n\telif dbType \u003d\u003d \u0027MYSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tINSERT INTO ad_hoc_trends_config\n\t\t\t\t\t(id, config, config_name, private, username)\n\t\t\t\tVALUES\n\t\t\t\t\t(-1, null, null, ?, null) \n\t\t\t\tON DUPLICATE KEY UPDATE\n\t\t\t\t\tprivate \u003d ?\n\t\t\u0027\u0027\u0027\n\t\n\telif dbType \u003d\u003d \u0027MSSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tBEGIN TRAN\n\t\t\tUPDATE ad_hoc_trends_config\n\t\t\tWITH (SERIALIZABLE)\n\t\t\tSET private \u003d ?\n\t\t\tWHERE id \u003d 0\n\t\t\t\n\t\t\tIF @@rowcount \u003d 0\n\t\t\tBEGIN\n\t\t\t\tSET IDENTITY_INSERT ad_hoc_trends_config ON\n\t\t\t\tINSERT INTO ad_hoc_trends_config\n\t\t\t\t(id, config, config_name, private, username)\n\t\t\t\tVALUES\n\t\t\t\t(0, null, null, ?, null)\n\t\t\t\tSET IDENTITY_INSERT ad_hoc_trends_config OFF\n\t\t\tEND\n\t\tCOMMIT TRAN\n\t\t\u0027\u0027\u0027\n\t\t\n\telif dbType \u003d\u003d \u0027ORACLE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tMERGE INTO AD_HOC_TRENDS_CONFIG a\n\t\t\tUSING (SELECT 0 AS ID FROM DUAL d) d\n\t\t\tON (a.ID \u003d d.ID)\n\t\t\tWHEN MATCHED THEN UPDATE SET a.PRIVATE \u003d ?\n\t\t\tWHEN NOT MATCHED THEN INSERT (ID, CONFIG, CONFIG_NAME, PRIVATE, USERNAME) VALUES (0, null, null, ?, null)\n\t\t\u0027\u0027\u0027\n\t\t\n\treturn \u0027\u0027" + }, + { + "name": "getAvailableChartsQuery", + "params": [ + "dbType" + ], + "script": "\tif dbType \u003d\u003d \u0027POSTGRES\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tid,\n\t\t\tusername,\n\t\t\tconfig_name\n\t\tFROM\n\t\t\tad_hoc_trends_config\n\t\tWHERE\n\t\t\t((username IS NULL) OR \n\t\t\t(private \u003d FALSE) OR \n\t\t\t(username \u003d ?)) AND\n\t\t\tid \u003e 0\u0027\u0027\u0027\n\n\telif dbType \u003d\u003d \u0027SQLITE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tid,\n\t\t\tusername,\n\t\t\tconfig_name\n\t\tFROM\n\t\t\tad_hoc_trends_config\n\t\tWHERE\n\t\t\t((username IS NULL) OR \n\t\t\t(private \u003d FALSE) OR \n\t\t\t(username \u003d ?)) AND\n\t\t\tid \u003e 0\u0027\u0027\u0027\n\t\n\telif dbType \u003d\u003d \u0027MYSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tid,\n\t\t\tusername,\n\t\t\tconfig_name\n\t\tFROM\n\t\t\tad_hoc_trends_config\n\t\tWHERE\n\t\t\t((username IS NULL) OR \n\t\t\t(private \u003d FALSE) OR \n\t\t\t(username \u003d ?)) AND\n\t\t\tid \u003e 0\u0027\u0027\u0027\n\t\t\t\n\telif dbType \u003d\u003d \u0027MSSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tid,\n\t\t\tusername,\n\t\t\tconfig_name\n\t\tFROM\n\t\t\tad_hoc_trends_config\n\t\tWHERE\n\t\t\t((username IS NULL) OR \n\t\t\t(private \u003d \u0027FALSE\u0027) OR \n\t\t\t(username \u003d ?)) AND\n\t\t\tid \u003e 0\u0027\u0027\u0027\n\t\n\telif dbType \u003d\u003d \u0027ORACLE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tid as \"id\",\n\t\t\tusername as \"username\",\n\t\t\tconfig_name as \"config_name\"\n\t\tFROM\n\t\t\tAD_HOC_TRENDS_CONFIG\n\t\tWHERE\n\t\t\t((USERNAME IS NULL) OR \n\t\t\t(PRIVATE \u003d 0) OR \n\t\t\t(USERNAME \u003d ?)) AND\n\t\t\tID \u003e 0\u0027\u0027\u0027\n\n\t\n\treturn \u0027\u0027" + }, + { + "name": "getOwnChartsQuery", + "params": [ + "dbType" + ], + "script": "\tif dbType \u003d\u003d \u0027POSTGRES\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tid,\n\t\t\tusername,\n\t\t\tconfig_name\n\t\tFROM\n\t\t\tad_hoc_trends_config\n\t\tWHERE\n\t\t\t((username IS NULL) OR\n\t\t\t(username \u003d ?)) AND\n\t\t\tid \u003e 0\u0027\u0027\u0027\n\n\telif dbType \u003d\u003d \u0027SQLITE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tid,\n\t\t\tusername,\n\t\t\tconfig_name\n\t\tFROM\n\t\t\tad_hoc_trends_config\n\t\tWHERE\n\t\t\t((username IS NULL) OR\n\t\t\t(username \u003d ?)) AND\n\t\t\tid \u003e 0\u0027\u0027\u0027\n\t\n\telif dbType \u003d\u003d \u0027MYSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tid,\n\t\t\tusername,\n\t\t\tconfig_name\n\t\tFROM\n\t\t\tad_hoc_trends_config\n\t\tWHERE\n\t\t\t((username IS NULL) OR\n\t\t\t(username \u003d ?)) AND\n\t\t\tid \u003e 0\u0027\u0027\u0027\n\t\t\t\n\telif dbType \u003d\u003d \u0027MSSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tid,\n\t\t\tusername,\n\t\t\tconfig_name\n\t\tFROM\n\t\t\tad_hoc_trends_config\n\t\tWHERE\n\t\t\t((username IS NULL) OR\n\t\t\t(username \u003d ?)) AND\n\t\t\tid \u003e 0\u0027\u0027\u0027\n\t\n\telif dbType \u003d\u003d \u0027ORACLE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tid as \"id\",\n\t\t\tusername as \"username\",\n\t\t\tconfig_name as \"config_name\"\n\t\tFROM\n\t\t\tAD_HOC_TRENDS_CONFIG\n\t\tWHERE\n\t\t\t((username IS NULL) OR\n\t\t\t(username \u003d ?)) AND\n\t\t\tid \u003e 0\u0027\u0027\u0027\n\t\n\treturn \u0027\u0027" + }, + { + "name": "getChartConfigQuery", + "params": [ + "dbType" + ], + "script": "\tif dbType \u003d\u003d \u0027POSTGRES\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tconfig\n\t\tFROM\n\t\t\tad_hoc_trends_config\n\t\tWHERE\n\t\t\tid \u003d ?\u0027\u0027\u0027\n\n\telif dbType \u003d\u003d \u0027SQLITE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tconfig\n\t\tFROM\n\t\t\tad_hoc_trends_config\n\t\tWHERE\n\t\t\tid \u003d ?\u0027\u0027\u0027\n\t\t\t\n\telif dbType \u003d\u003d \u0027MYSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tconfig\n\t\tFROM\n\t\t\tad_hoc_trends_config\n\t\tWHERE\n\t\t\tid \u003d ?\u0027\u0027\u0027\n\t\t\t\n\telif dbType \u003d\u003d \u0027MSSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tconfig\n\t\tFROM\n\t\t\tad_hoc_trends_config\n\t\tWHERE\n\t\t\tid \u003d ?\u0027\u0027\u0027\n\t\t\t\n\telif dbType \u003d\u003d \u0027ORACLE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tSELECT\n\t\t\tconfig as \"config\"\n\t\tFROM\n\t\t\tAD_HOC_TRENDS_CONFIG\n\t\tWHERE\n\t\t\tid \u003d ?\u0027\u0027\u0027\n\t\n\treturn \u0027\u0027" + }, + { + "name": "getInsertChartConfigQuery", + "params": [ + "dbType" + ], + "script": "\tif dbType \u003d\u003d \u0027POSTGRES\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tINSERT INTO\n\t\t\tad_hoc_trends_config\n\t\t\t(config, config_name, private, username)\n\t\tVALUES\n\t\t\t(?, ?, ?, ?)\u0027\u0027\u0027\n\n\telif dbType \u003d\u003d \u0027SQLITE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tINSERT INTO\n\t\t\tad_hoc_trends_config\n\t\t\t(config, config_name, private, username)\n\t\tVALUES\n\t\t\t(?, ?, ?, ?)\u0027\u0027\u0027\n\t\n\telif dbType \u003d\u003d \u0027MYSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tINSERT INTO\n\t\t\tad_hoc_trends_config\n\t\t\t(config, config_name, private, username)\n\t\tVALUES\n\t\t\t(?, ?, ?, ?)\u0027\u0027\u0027\n\t\t\n\telif dbType \u003d\u003d \u0027MSSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tINSERT INTO\n\t\t\tad_hoc_trends_config\n\t\t\t(config, config_name, private, username)\n\t\tVALUES\n\t\t\t(?, ?, ?, ?)\u0027\u0027\u0027\n\t\t\t\n\telif dbType \u003d\u003d \u0027ORACLE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tINSERT INTO\n\t\t\tAD_HOC_TRENDS_CONFIG\n\t\t\t(config, config_name, private, username)\n\t\tVALUES\n\t\t\t(?, ?, ?, ?)\u0027\u0027\u0027\n\t\n\treturn \u0027\u0027" + }, + { + "name": "getUpdateChartConfigQuery", + "params": [ + "dbType" + ], + "script": "\tif dbType \u003d\u003d \u0027POSTGRES\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tUPDATE\n\t\t\tad_hoc_trends_config\n\t\tSET\n\t\t\tconfig \u003d ?,\n\t\t\tprivate \u003d CASE\n\t\t\t\tWHEN username \u003d ? THEN ?\n\t\t\t\tELSE private\n\t\t\tEND\n\t\tWHERE\n\t\t\tid \u003d ?\u0027\u0027\u0027\n\n\telif dbType \u003d\u003d \u0027SQLITE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tUPDATE\n\t\t\tad_hoc_trends_config\n\t\tSET\n\t\t\tconfig \u003d ?,\n\t\t\tprivate \u003d CASE\n\t\t\t\tWHEN username \u003d ? THEN ?\n\t\t\t\tELSE private\n\t\t\tEND\n\t\tWHERE\n\t\t\tid \u003d ?\u0027\u0027\u0027\n\t\t\t\n\telif dbType \u003d\u003d \u0027MYSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tUPDATE\n\t\t\tad_hoc_trends_config\n\t\tSET\n\t\t\tconfig \u003d ?,\n\t\t\tprivate \u003d CASE\n\t\t\t\tWHEN username \u003d ? THEN ?\n\t\t\t\tELSE private\n\t\t\tEND\n\t\tWHERE\n\t\t\tid \u003d ?\u0027\u0027\u0027\n\t\n\telif dbType \u003d\u003d \u0027MSSQL\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tUPDATE\n\t\t\tad_hoc_trends_config\n\t\tSET\n\t\t\tconfig \u003d ?,\n\t\t\tprivate \u003d CASE\n\t\t\t\tWHEN username \u003d ? THEN ?\n\t\t\t\tELSE private\n\t\t\tEND\n\t\tWHERE\n\t\t\tid \u003d ?\u0027\u0027\u0027\n\t\t\t\n\telif dbType \u003d\u003d \u0027ORACLE\u0027:\n\t\treturn \u0027\u0027\u0027\n\t\tUPDATE\n\t\t\tAD_HOC_TRENDS_CONFIG\n\t\tSET\n\t\t\tconfig \u003d ?,\n\t\t\tprivate \u003d CASE\n\t\t\t\tWHEN username \u003d ? THEN ?\n\t\t\t\tELSE private\n\t\t\tEND\n\t\tWHERE\n\t\t\tid \u003d ?\u0027\u0027\u0027\n\t\n\treturn \u0027\u0027" + }, + { + "name": "dateToInstant", + "params": [ + "date" + ], + "script": "\t# using this to convert Date props into string format that can be stored and easily turned back into Date\n\t# using the type ultility converter to string alone does not work well enough as no timezone is included\n\n\treturn str(date.toInstant())" + }, + { + "name": "dateFromInstant", + "params": [ + "instant" + ], + "script": "\t# using this to convert a string in Instant form back to java.util.Date for certain props\n\tfrom java.util import Date\n\tfrom java.time import Instant\n\tif isinstance(instant, basestring):\n\t\treturn Date.from(Instant.parse(instant))\n\treturn Date.from(instant)" + }, + { + "name": "propertyDeepcopy", + "params": [ + "property", + "convertDates\u003dFalse" + ], + "script": "\t# utility for copying the values from a perspective prop tree\n\t# deepcopy() does not appear to work directly on the prop tree wrapper type\n\t# also converting Date object to Instant format string\n\t\n\timport collections\n\tfrom java.util import Date\n\t\n\tdef copyProperties(node):\n\t\t# perspective arrays and python lists (but not strings)\n\t\tif \u0027PropertyTreeScriptWrapper$ArrayWrapper\u0027 in str(type(node)) or \\\n\t\t(isinstance(node, collections.Sequence) and not isinstance(node, basestring)):\n\t\t\tnodeCopy \u003d []\n\t\t\tfor i in node:\n\t\t\t\tnodeCopy.append(copyProperties(i))\n\t\t\treturn nodeCopy\n\t\t# perspective objects and python dictionaries\n\t\telif \u0027PropertyTreeScriptWrapper$ObjectWrapper\u0027 in str(type(node)) or isinstance(node, collections.Mapping):\n\t\t\tnodeCopy \u003d {}\n\t\t\tfor k in node:\n\t\t\t\tnodeCopy[k] \u003d copyProperties(node[k])\n\t\t\treturn nodeCopy\n\t\t# single value, with optional date conversion\n\t\telse:\n\t\t\tif convertDates and isinstance(node, Date):\n\t\t\t\treturn self.view.rootContainer.dateToInstant(node)\n\t\t\treturn node\n\t\t\t\n\treturn copyProperties(property)" + }, + { + "name": "propertyTreeRestoreDate", + "params": [ + "propertyTree" + ], + "script": "\t# creates a new copy of the given property tree, replacing Instant formatted strings with java.util.Date\n\timport collections\n\t\n\tdef convertProperties(node):\n\t\t# perspective arrays and python lists (but not strings)\n\t\tif \u0027PropertyTreeScriptWrapper$ArrayWrapper\u0027 in str(type(node)) or \\\n\t\t(isinstance(node, collections.Sequence) and not isinstance(node, basestring)):\n\t\t\tnodeCopy \u003d []\n\t\t\tfor i in node:\n\t\t\t\tnodeCopy.append(convertProperties(i))\n\t\t\treturn nodeCopy\n\t\t# perspective objects and python dictionaries\n\t\telif \u0027PropertyTreeScriptWrapper$ObjectWrapper\u0027 in str(type(node)) or isinstance(node, collections.Mapping):\n\t\t\tnodeCopy \u003d {}\n\t\t\tfor k in node:\n\t\t\t\tnodeCopy[k] \u003d convertProperties(node[k])\n\t\t\treturn nodeCopy\n\t\t# single value\n\t\telse:\n\t\t\t# this will attempt to convert the string back into Date, otherwise just returns the value\n\t\t\tif isinstance(node, basestring):\n\t\t\t\ttry:\n\t\t\t\t\treturn self.view.rootContainer.dateFromInstant(node)\n\t\t\t\texcept:\n\t\t\t\t\treturn node\n\t\t\treturn node\n\t\t\t\n\treturn convertProperties(propertyTree)" + } + ], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "ad_hoc_trends_databaseReconfigured", + "pageScope": false, + "script": "\t# called when someone enables/disables a database\n\t# this way, users don\u0027t have to manually refresh their db listing\n\tself.view.custom.configureDatabases \u003d {}\n\tself.view.refreshBinding(\u0027custom.databases\u0027)\n\tif self.view.custom.activeControl in [\u0027LoadFromDb\u0027, \u0027SaveToDb\u0027]:\n\t\tself.view.rootContainer.closeFunction()", + "sessionScope": true, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Alarm Analysis/Alarm Analysis/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Alarm Analysis/Alarm Analysis/resource.json new file mode 100644 index 0000000..cdc805b --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Alarm Analysis/Alarm Analysis/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "00829a8adf68a48aea7e24c516fb0dcb1b9e64a711e0038219bd130d12b84639", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Alarm Analysis/Alarm Analysis/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Alarm Analysis/Alarm Analysis/thumbnail.png new file mode 100644 index 0000000..92eab03 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Alarm Analysis/Alarm Analysis/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Alarm Analysis/Alarm Analysis/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Alarm Analysis/Alarm Analysis/view.json new file mode 100644 index 0000000..577c472 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Alarm Analysis/Alarm Analysis/view.json @@ -0,0 +1,2630 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 895, + "width": 862 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "hasDelegate": true, + "name": "Label" + }, + "position": { + "basis": "16px" + }, + "props": { + "style": { + "classes": "AlarmAnalysis/Label" + }, + "text": "Start Date" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Date" + }, + "position": { + "basis": "36px", + "shrink": 0 + }, + "propConfig": { + "custom.dateStr": { + "binding": { + "config": { + "path": "this.props.value" + }, + "transforms": [ + { + "code": "\tfrom java.util import Date\n\treturn system.date.format(Date(value), \"yyyy-MM-dd HH:mm:ss\")", + "type": "script" + } + ], + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "expression": "toDate(dateFormat(dateArithmetic(now(0), -2, \u0027days\u0027), \"yyyy-MM-dd 00:00:00\"))" + }, + "transforms": [ + { + "code": "\treturn value.getTime()", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "format": "MM/DD/YYYY HH:mm", + "formattedValue": "05/29/2022 00:00", + "formattedValues": { + "date": "07/24/2021", + "datetime": "07/24/2021 01:00", + "time": "01:00" + }, + "style": { + "height": "36px" + } + }, + "type": "ia.input.date-time-input" + } + ], + "meta": { + "name": "Start Date" + }, + "position": { + "basis": "135px", + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "marginRight": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "hasDelegate": true, + "name": "Label" + }, + "position": { + "basis": "16px" + }, + "props": { + "style": { + "classes": "AlarmAnalysis/Label" + }, + "text": "End Date" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Date" + }, + "position": { + "basis": "36px", + "shrink": "-0" + }, + "propConfig": { + "custom.dateStr": { + "binding": { + "config": { + "path": "this.props.value" + }, + "transforms": [ + { + "code": "\tfrom java.util import Date\n\treturn system.date.format(Date(value), \"yyyy-MM-dd HH:mm:ss\")", + "type": "script" + } + ], + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "expression": "toDate(dateFormat(now(0), \"yyyy-MM-dd 23:59:59\"))" + }, + "transforms": [ + { + "code": "\treturn value.getTime()", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "format": "MM/DD/YYYY HH:mm", + "formattedValue": "05/31/2022 23:59", + "formattedValues": { + "date": "07/27/2021", + "datetime": "07/27/2021 00:59", + "time": "00:59" + }, + "style": { + "height": "36px" + } + }, + "type": "ia.input.date-time-input" + } + ], + "meta": { + "name": "End Date" + }, + "position": { + "basis": "135px", + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "marginRight": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "hasDelegate": true, + "name": "Label" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "classes": "AlarmAnalysis/Label" + }, + "text": "Top" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Numeric" + }, + "position": { + "basis": "36px", + "shrink": 0 + }, + "props": { + "align": "center", + "format": "0,0", + "inputBounds": { + "minimum": 1 + }, + "style": { + "borderRadius": "4px", + "height": "36px" + }, + "tooltip": "Return the top number of alarms", + "value": 10 + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Top" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.parent.parent.parent.refreshBinding(\"custom.alarmSummary\")\n\tself.parent.parent.parent.refreshBinding(\"custom.mostFrequent\")\n\tself.parent.parent.parent.refreshBinding(\"custom.longestDuration\")\n\tself.parent.parent.parent.refreshBinding(\"custom.alarmFrequency\")\n\tself.parent.parent.parent.refreshBinding(\"custom.alarmDuration\")\n\tself.parent.parent.parent.refreshBinding(\"custom.alarmByHour\")" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Icon" + }, + "position": { + "basis": "30px", + "shrink": 0 + }, + "props": { + "color": "#000000A3", + "path": "material/refresh", + "style": { + "classes": "", + "cursor": "pointer", + "marginTop": "16px" + } + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "Refresh" + }, + "position": { + "basis": "30px", + "shrink": 0 + }, + "props": { + "direction": "column", + "justify": "center", + "style": { + "margin": "0px 0px 0px 10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Filters" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "marginBottom": "8px", + "overflow": "visible" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Icon" + }, + "position": { + "basis": "32px", + "shrink": 0 + }, + "props": { + "path": "material/alarm", + "style": { + "classes": "Framework/Card/Title" + } + }, + "type": "ia.display.icon" + }, + { + "meta": { + "hasDelegate": true, + "name": "Label" + }, + "position": { + "grow": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Title", + "paddingLeft": "0px" + }, + "text": "Alarm KPIs" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Title" + }, + "position": { + "basis": "24px", + "shrink": 0 + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "hasDelegate": true, + "name": "Label" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Total Alarms" + }, + "type": "ia.display.label" + }, + { + "meta": { + "hasDelegate": true, + "name": "Value" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "numberFormat(\r\n\tsum({/root.custom.alarmSummary}, \"total\"),\r\n\t\"###0\")" + }, + "transforms": [ + { + "code": "\treturn value if value else 0", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Bold_Text" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Total Alarms" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Item Framework/Card/Item_Border", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "hasDelegate": true, + "name": "Label" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Total Duration" + }, + "type": "ia.display.label" + }, + { + "meta": { + "hasDelegate": true, + "name": "Value" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "numberFormat(floor(sum({/root.custom.alarmSummary}, \"totalTime\") / 3600), \"00\") + \":\" +\r\nnumberFormat(floor((sum({/root.custom.alarmSummary}, \"totalTime\") % 3600) / 60), \"00\") + \":\" + \r\nnumberFormat(((sum({/root.custom.alarmSummary}, \"totalTime\") % 3600) % 60), \"00\") " + }, + "transforms": [ + { + "code": "\treturn value if value else \"00:00:00\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Bold_Text" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Total Duration" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Item Framework/Card/Item_Border", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "hasDelegate": true, + "name": "Label" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Total Unacknowledged" + }, + "type": "ia.display.label" + }, + { + "meta": { + "hasDelegate": true, + "name": "Value" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "numberFormat(\r\n\tsum({/root.custom.alarmSummary}, \"unacknowledged\"),\r\n\t\"###0\")" + }, + "transforms": [ + { + "code": "\treturn value if value else 0", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Bold_Text" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Total Unacknowledged" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Item Framework/Card/Item_Border", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "hasDelegate": true, + "name": "Label" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Avg Time to Ack" + }, + "type": "ia.display.label" + }, + { + "meta": { + "hasDelegate": true, + "name": "Value" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "numberFormat(floor(sum({/root.custom.alarmSummary}, \"acknowledgeTime\") / 3600), \"00\") + \":\" +\r\nnumberFormat(floor((sum({/root.custom.alarmSummary}, \"acknowledgeTime\") % 3600) / 60), \"00\") + \":\" + \r\nnumberFormat(((sum({/root.custom.alarmSummary}, \"acknowledgeTime\") % 3600) % 60), \"00\") " + }, + "transforms": [ + { + "code": "\treturn value if value else \"00:00:00\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Bold_Text" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Avg Time to Ack" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Item Framework/Card/Item_Border", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "hasDelegate": true, + "name": "Label" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Avg Time to Clear" + }, + "type": "ia.display.label" + }, + { + "meta": { + "hasDelegate": true, + "name": "Value" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "numberFormat(floor(sum({/root.custom.alarmSummary}, \"clearTime\") / 3600), \"00\") + \":\" +\r\nnumberFormat(floor((sum({/root.custom.alarmSummary}, \"clearTime\") % 3600) / 60), \"00\") + \":\" + \r\nnumberFormat(((sum({/root.custom.alarmSummary}, \"clearTime\") % 3600) % 60), \"00\") " + }, + "transforms": [ + { + "code": "\treturn value if value else \"00:00:00\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Bold_Text" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Avg Time to Clear" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Item Framework/Card/Item_Border", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "hasDelegate": true, + "name": "Label" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Most Frequent" + }, + "type": "ia.display.label" + }, + { + "meta": { + "hasDelegate": true, + "name": "Value" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "try(toDataset({/root.custom.mostFrequent})[\"displaypath\"], \"\") + \" - \" +\r\n\r\nnumberFormat(\r\n\ttoInt(try(toDataset({/root.custom.mostFrequent})[\"total\"], 0)),\r\n\t\"###0\") + \r\n\r\n\" (\" + \r\n\t\r\nnumberFormat(\r\n\ttry(toInt(try(toDataset({/root.custom.mostFrequent})[\"total\"], 0)) / toInt(sum({/root.custom.alarmSummary}, \"total\")), 0),\r\n\t\"##0.#%\") + \r\n\r\n\")\"" + }, + "transforms": [ + { + "code": "\treturn value if value else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Bold_Text" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Most Frequent Alarm" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Item Framework/Card/Item_Border", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "hasDelegate": true, + "name": "Label" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Longest Duration" + }, + "type": "ia.display.label" + }, + { + "meta": { + "hasDelegate": true, + "name": "Value" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "try(toDataset({/root.custom.longestDuration})[\"displaypath\"], \"\") + \" - \" +\r\n\r\nnumberFormat(\r\n\ttoInt(try(toDataset({/root.custom.longestDuration})[\"total\"], 0)),\r\n\t\"###0\") + \r\n\r\n\" (\" + \r\n\t\r\nnumberFormat(\r\n\ttry(toInt(try(toDataset({/root.custom.longestDuration})[\"total\"], 0)) / toInt(sum({/root.custom.alarmSummary}, \"totalTime\")), 0),\r\n\t\"##0.#%\") + \r\n\r\n\")\"" + }, + "transforms": [ + { + "code": "\treturn value if value else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Bold_Text" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Longest Duration Alarm" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Item", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Alarm KPI" + }, + "position": { + "basis": "auto", + "breakpoints": [ + { + "colIndex": 0, + "name": "sm", + "order": 2, + "rowIndex": 0, + "span": 12 + }, + { + "colIndex": 0, + "name": "md", + "order": 1, + "rowIndex": 0, + "span": 6 + }, + { + "colIndex": 0, + "name": "lg", + "order": 1, + "rowIndex": 0, + "span": 6 + } + ], + "grow": 0, + "height": "auto", + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "classes": "Framework/Card/Card", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Icon" + }, + "position": { + "basis": "32px", + "shrink": 0 + }, + "props": { + "path": "material/add_alarm", + "style": { + "classes": "Framework/Card/Title" + } + }, + "type": "ia.display.icon" + }, + { + "meta": { + "hasDelegate": true, + "name": "Label" + }, + "position": { + "grow": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Title", + "paddingLeft": "0px" + }, + "text": "Alarm Frequency" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Title" + }, + "position": { + "basis": "24px", + "shrink": 0 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "PieChart" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.data": { + "binding": { + "config": { + "path": "/root.custom.alarmFrequency" + }, + "transforms": [ + { + "code": "\treturn value if value else [{\u0027cnt\u0027:1,\u0027displaypath\u0027:\u0027Loading...\u0027}]", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "colors": [ + "#003F69", + "#9ED23E", + "#F68F1E", + "#F06240", + "#FFC800", + "#808080", + "#994499" + ], + "cutoutRadius": 60, + "showLabels": false, + "style": { + "fontSize": "10px", + "height": "180px" + } + }, + "type": "ia.chart.pie" + } + ], + "meta": { + "name": "Alarm Frequency" + }, + "position": { + "breakpoints": [ + { + "colIndex": 0, + "name": "sm", + "order": 1, + "rowIndex": 2, + "span": 12 + }, + { + "colIndex": 0, + "name": "md", + "order": 1, + "rowIndex": 1, + "span": 6 + }, + { + "colIndex": 0, + "name": "lg", + "order": 1, + "rowIndex": 1, + "span": 6 + } + ], + "height": 240 + }, + "props": { + "direction": "column", + "style": { + "classes": "Framework/Card/Card", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Icon" + }, + "position": { + "basis": "32px", + "shrink": 0 + }, + "props": { + "path": "material/timelapse", + "style": { + "classes": "Framework/Card/Title" + } + }, + "type": "ia.display.icon" + }, + { + "meta": { + "hasDelegate": true, + "name": "Label" + }, + "position": { + "grow": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Title", + "paddingLeft": "0px" + }, + "text": "Alarm Duration" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Title" + }, + "position": { + "basis": "24px", + "shrink": 0 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "PieChart" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.data": { + "binding": { + "config": { + "path": "/root.custom.alarmDuration" + }, + "transforms": [ + { + "code": "\treturn value if value else [{\u0027duration\u0027:1,\u0027displaypath\u0027:\u0027Loading...\u0027}]", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "colors": [ + "#003F69", + "#9ED23E", + "#F68F1E", + "#F06240", + "#FFC800", + "#808080", + "#994499" + ], + "cutoutRadius": 60, + "showLabels": false, + "style": { + "fontSize": "10px", + "height": "180px" + } + }, + "type": "ia.chart.pie" + } + ], + "meta": { + "name": "Alarm Duration" + }, + "position": { + "breakpoints": [ + { + "colIndex": 0, + "name": "sm", + "order": 1, + "rowIndex": 3, + "span": 12 + }, + { + "colIndex": 6, + "name": "md", + "order": 2, + "rowIndex": 1, + "span": 6 + }, + { + "colIndex": 6, + "name": "lg", + "order": 2, + "rowIndex": 1, + "span": 6 + } + ], + "height": 240 + }, + "props": { + "direction": "column", + "style": { + "classes": "Framework/Card/Card", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Icon" + }, + "position": { + "basis": "32px", + "shrink": 0 + }, + "props": { + "path": "material/show_chart", + "style": { + "classes": "Framework/Card/Title" + } + }, + "type": "ia.display.icon" + }, + { + "meta": { + "hasDelegate": true, + "name": "Label" + }, + "position": { + "grow": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Title", + "paddingLeft": "0px" + }, + "text": "Alarms By Hour" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Title" + }, + "position": { + "basis": "24px", + "shrink": 0 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "XYChart" + }, + "position": { + "basis": "375px" + }, + "propConfig": { + "props.dataSources.series": { + "binding": { + "config": { + "path": "/root.custom.alarmByHour" + }, + "transforms": [ + { + "code": "\treturn value if value else [{\u0027duration\u0027: 0, \u0027total\u0027: 0, \u0027label\u0027:i} for i in range(0, 24)]", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "background": { + "color": "#FAFAFA", + "render": "color" + }, + "cursor": { + "series": "total" + }, + "dataSources": {}, + "series": [ + { + "candlestick": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": "", + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "opacity": 1, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + } + }, + "high": "", + "low": "", + "open": "" + }, + "column": { + "appearance": { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "fill": "#003F69", + "heatRules": { + "dataField": "", + "enabled": false, + "max": "", + "min": "" + }, + "height": null, + "opacity": 1, + "stacked": false, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "width": null + }, + "open": { + "x": "", + "y": "" + } + }, + "data": { + "source": "series", + "x": "label", + "y": "total" + }, + "defaultState": { + "visible": true + }, + "hiddenInLegend": true, + "label": { + "text": "# of Alarms" + }, + "line": { + "appearance": { + "bullet": { + "color": "", + "enabled": true, + "height": 10, + "horizontalCenter": "middle", + "opacity": 1, + "render": "circle", + "rotation": 0, + "verticalCenter": "middle", + "width": 10 + }, + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": true, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "name": "total", + "render": "column", + "stepLine": { + "appearance": { + "bullet": { + "color": "", + "enabled": true, + "height": 10, + "horizontalCenter": "middle", + "opacity": 1, + "render": "circle", + "rotation": 0, + "verticalCenter": "middle", + "width": 10 + }, + "bullets": [ + { + "deriveFieldsFromData": { + "fill": { + "color": "", + "opacity": "" + }, + "rotation": "", + "stroke": { + "color": "", + "opacity": "", + "width": "" + } + }, + "enabled": true, + "fill": { + "color": "", + "opacity": 1 + }, + "heatRules": { + "dataField": "", + "enabled": false, + "max": 100, + "min": 2 + }, + "height": 10, + "label": { + "position": { + "dx": 0, + "dy": 0 + }, + "text": "{value}" + }, + "render": "circle", + "rotation": 0, + "stroke": { + "color": "", + "opacity": 1, + "width": 1 + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "width": 10 + } + ], + "connect": true, + "fill": { + "color": "", + "opacity": 0 + }, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + }, + "open": { + "x": "", + "y": "" + } + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "format": "{name}: [bold]{valueY.value}[/]", + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "visible": true, + "xAxis": "hour", + "yAxis": "numAlarms", + "zIndex": 0 + }, + { + "candlestick": { + "appearance": { + "fill": "", + "opacity": 1, + "stacked": false + }, + "high": "", + "low": "", + "open": "" + }, + "column": { + "appearance": { + "fill": "#9ED23E", + "opacity": 1, + "stacked": false + } + }, + "data": { + "source": "series", + "x": "label", + "y": "duration" + }, + "defaultState": { + "visible": true + }, + "hiddenInLegend": true, + "label": { + "text": "Duration (sec)" + }, + "line": { + "appearance": { + "bullet": { + "color": "", + "enabled": true, + "height": 10, + "horizontalCenter": "middle", + "opacity": 1, + "render": "circle", + "rotation": 0, + "verticalCenter": "middle", + "width": 10 + }, + "connect": true, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + } + }, + "name": "duration", + "render": "column", + "stepLine": { + "appearance": { + "bullet": { + "color": "", + "enabled": true, + "height": 10, + "horizontalCenter": "middle", + "opacity": 1, + "render": "circle", + "rotation": 0, + "verticalCenter": "middle", + "width": 10 + }, + "connect": true, + "minDistance": 0.5, + "stroke": { + "color": "", + "dashArray": "", + "opacity": 1, + "width": 3 + }, + "tensionX": 1, + "tensionY": 1 + } + }, + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "format": "{name}: [bold]{valueY.value}[/]", + "pointerLength": 4, + "text": "{name}: [bold]{valueY}[/]" + }, + "visible": true, + "xAxis": "hour", + "yAxis": "duration", + "zIndex": 0 + } + ], + "style": { + "padding": "5px" + }, + "xAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": "normal" + }, + "grid": { + "color": "#E6EAEE", + "dashArray": "", + "minDistance": null, + "opacity": 1, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "#2E2E2E", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle", + "wrap": true + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 1, + "enabled": false, + "skipEmptyPeriods": false, + "timeUnit": "hour" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "M/d/yyyy HH:mm:ss", + "inputFormat": "yyyy-MM-dd kk:mm:ss", + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": true, + "text": "Hour" + }, + "name": "hour", + "render": "category", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "format": "", + "pointerLength": 4, + "text": "" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "#,###.##", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": true + } + ], + "yAxes": [ + { + "appearance": { + "font": { + "size": "", + "weight": "normal" + }, + "grid": { + "color": "#E6EAEE", + "dashArray": "", + "minDistance": null, + "opacity": 1, + "position": 0.5 + }, + "inside": false, + "labels": { + "color": "#2E2E2E", + "horizontalCenter": "middle", + "opacity": 1, + "rotation": 0, + "verticalCenter": "middle", + "wrap": true + }, + "opposite": false + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 1, + "enabled": false, + "skipEmptyPeriods": false, + "timeUnit": "hour" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "M/d/yyyy HH:mm:ss", + "inputFormat": "yyyy-MM-dd kk:mm:ss", + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "inversed": false, + "label": { + "color": "", + "enabled": true, + "text": "# of Alarms" + }, + "name": "numAlarms", + "render": "value", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "format": "", + "pointerLength": 4, + "text": "" + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "#,###.##", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": true + }, + { + "appearance": { + "font": { + "size": "", + "weight": "normal" + }, + "grid": { + "color": "#E6EAEE", + "dashArray": "", + "opacity": 1 + }, + "inside": false, + "labels": { + "color": "#2E2E2E", + "opacity": 1 + }, + "opposite": true + }, + "category": { + "break": { + "enabled": false, + "endCategory": "", + "size": 0.05, + "startCategory": "" + } + }, + "date": { + "baseInterval": { + "count": 1, + "enabled": false, + "skipEmptyPeriods": false, + "timeUnit": "hour" + }, + "break": { + "enabled": false, + "endDate": "", + "size": 0.05, + "startDate": "" + }, + "format": "M/d/yyyy HH:mm:ss", + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "label": { + "color": "", + "enabled": true, + "text": "Duration (sec)" + }, + "name": "duration", + "render": "value", + "tooltip": { + "background": { + "color": "", + "opacity": 1 + }, + "cornerRadius": 3, + "enabled": true, + "format": "", + "pointerLength": 4 + }, + "value": { + "break": { + "enabled": false, + "endValue": 100, + "size": 0.05, + "startValue": 0 + }, + "format": "#,###.##", + "logarithmic": false, + "range": { + "max": "", + "min": "", + "useStrict": false + } + }, + "visible": true + } + ] + }, + "type": "ia.chart.xy" + } + ], + "meta": { + "name": "Alarm By Hour" + }, + "position": { + "breakpoints": [ + { + "colIndex": 0, + "name": "sm", + "order": 1, + "rowIndex": 1, + "span": 12 + }, + { + "colIndex": 6, + "name": "md", + "order": 2, + "rowIndex": 0, + "span": 6 + }, + { + "colIndex": 6, + "name": "lg", + "order": 2, + "rowIndex": 0, + "span": 6 + } + ], + "height": 240 + }, + "props": { + "direction": "column", + "style": { + "classes": "Framework/Card/Card", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Column Container" + }, + "position": { + "shrink": 0 + }, + "props": { + "breakpoints": [ + { + "minWidth": 0, + "name": "sm" + }, + { + "minWidth": 600, + "name": "md" + }, + { + "minWidth": 996, + "name": "lg" + } + ], + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.column" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Icon" + }, + "position": { + "basis": "32px", + "shrink": 0 + }, + "props": { + "path": "material/view_list", + "style": { + "classes": "Framework/Card/Title" + } + }, + "type": "ia.display.icon" + }, + { + "meta": { + "hasDelegate": true, + "name": "Label" + }, + "position": { + "grow": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Title", + "paddingLeft": "0px" + }, + "text": "Alarms Summary" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Title" + }, + "position": { + "basis": "24px", + "shrink": 0 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Table" + }, + "position": { + "size": "large" + }, + "propConfig": { + "props.data": { + "binding": { + "config": { + "parameters": { + "endDate": "dateFormat({..../Filters/End Date/Date.props.value}, \"yyyy-MM-dd HH:mm:ss\")", + "startDate": "dateFormat({..../Filters/Start Date/Date.props.value}, \"yyyy-MM-dd HH:mm:ss\")" + }, + "queryPath": "Alarms/Alarm Summary Table", + "returnFormat": "json" + }, + "transforms": [ + { + "code": "\tpriorities \u003d [\"Diagnostic\", \"Low\", \"Medium\", \"High\", \"Critical\"]\n\trows \u003d []\n\t\n\tfor priority in priorities:\n\t\tnewRow \u003d None\n\t\tfor row in value:\n\t\t\tif priority \u003d\u003d row[\"Priority\"]:\n\t\t\t\tnewRow \u003d row\n\t\tif newRow \u003d\u003d None:\n\t\t\tnewRow \u003d ({\"Priority\":priority, \"total\":0, \"active\":0, \"unacknowledged\":0, \"cleared\":0, \"acknowledgeTime\":0, \"clearTime\":0, \"totalTime\":0})\n\t\trows.append(newRow)\n\treturn rows", + "type": "script" + } + ], + "type": "query" + } + } + }, + "props": { + "columns": [ + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "Priority", + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "auto", + "number": "value", + "numberFormat": "$ (0,0.00)", + "progressBar": { + "bar": { + "color": "#62A3F6", + "linecap": "round", + "width": 5 + }, + "max": 100, + "track": { + "color": "#DADADA", + "linecap": "round", + "width": 2 + }, + "value": { + "color": "#7D7D7D", + "show": true + } + }, + "render": "auto", + "resizable": true, + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "#2196F3", + "unselected": "#FFFFFF" + } + }, + "viewParams": {}, + "viewPath": "", + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "total", + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "Total Alarms" + }, + "justify": "auto", + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "#62A3F6", + "linecap": "round", + "width": 5 + }, + "max": 100, + "track": { + "color": "#DADADA", + "linecap": "round", + "width": 2 + }, + "value": { + "color": "#7D7D7D", + "show": true + } + }, + "render": "auto", + "resizable": true, + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "#2196F3", + "unselected": "#FFFFFF" + } + }, + "viewParams": {}, + "viewPath": "", + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "active", + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "Total Alarms Active" + }, + "justify": "auto", + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "#62A3F6", + "linecap": "round", + "width": 5 + }, + "max": 100, + "track": { + "color": "#DADADA", + "linecap": "round", + "width": 2 + }, + "value": { + "color": "#7D7D7D", + "show": true + } + }, + "render": "auto", + "resizable": true, + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "#2196F3", + "unselected": "#FFFFFF" + } + }, + "viewParams": {}, + "viewPath": "", + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "unacknowledged", + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "Total Alarms Unacknowledged" + }, + "justify": "auto", + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "#62A3F6", + "linecap": "round", + "width": 5 + }, + "max": 100, + "track": { + "color": "#DADADA", + "linecap": "round", + "width": 2 + }, + "value": { + "color": "#7D7D7D", + "show": true + } + }, + "render": "auto", + "resizable": true, + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "#2196F3", + "unselected": "#FFFFFF" + } + }, + "viewParams": {}, + "viewPath": "", + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "cleared", + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "Total Alarms Cleared" + }, + "justify": "auto", + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "#62A3F6", + "linecap": "round", + "width": 5 + }, + "max": 100, + "track": { + "color": "#DADADA", + "linecap": "round", + "width": 2 + }, + "value": { + "color": "#7D7D7D", + "show": true + } + }, + "render": "auto", + "resizable": true, + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "#2196F3", + "unselected": "#FFFFFF" + } + }, + "viewParams": {}, + "viewPath": "", + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "clearTime", + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "Average Time to Clear" + }, + "justify": "auto", + "number": "value", + "numberFormat": "00:00:00", + "progressBar": { + "bar": { + "color": "#62A3F6", + "linecap": "round", + "width": 5 + }, + "max": 100, + "track": { + "color": "#DADADA", + "linecap": "round", + "width": 2 + }, + "value": { + "color": "#7D7D7D", + "show": true + } + }, + "render": "auto", + "resizable": true, + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "#2196F3", + "unselected": "#FFFFFF" + } + }, + "viewParams": {}, + "viewPath": "", + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "acknowledgeTime", + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "Average Time to Acknowledge" + }, + "justify": "auto", + "number": "value", + "numberFormat": "00:00:00", + "progressBar": { + "bar": { + "color": "#62A3F6", + "linecap": "round", + "width": 5 + }, + "max": 100, + "track": { + "color": "#DADADA", + "linecap": "round", + "width": 2 + }, + "value": { + "color": "#7D7D7D", + "show": true + } + }, + "render": "auto", + "resizable": true, + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "#2196F3", + "unselected": "#FFFFFF" + } + }, + "viewParams": {}, + "viewPath": "", + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "h:mm:ss a", + "editable": false, + "field": "totalTime", + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "Total Duration" + }, + "justify": "auto", + "number": "value", + "numberFormat": "00:00:00", + "progressBar": { + "bar": { + "color": "#62A3F6", + "linecap": "round", + "width": 5 + }, + "max": 100, + "track": { + "color": "#DADADA", + "linecap": "round", + "width": 2 + }, + "value": { + "color": "#7D7D7D", + "show": true + } + }, + "render": "number", + "resizable": true, + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "#2196F3", + "unselected": "#FFFFFF" + } + }, + "viewParams": {}, + "viewPath": "", + "width": "" + } + ], + "pager": { + "bottom": false + }, + "style": { + "minHeight": "250px" + } + }, + "type": "ia.display.table" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "propConfig": { + "props.params.data": { + "binding": { + "config": { + "parameters": { + "endDate": "dateFormat({..../Filters/End Date/Date.props.value}, \"yyyy-MM-dd HH:mm:ss\")", + "startDate": "dateFormat({..../Filters/Start Date/Date.props.value}, \"yyyy-MM-dd HH:mm:ss\")" + }, + "queryPath": "Alarms/Alarm Summary Table", + "returnFormat": "json" + }, + "transforms": [ + { + "code": "\tpriorities \u003d [\"Diagnostic\", \"Low\", \"Medium\", \"High\", \"Critical\"]\n\trows \u003d []\n\t\n\tfor priority in priorities:\n\t\tnewRow \u003d None\n\t\tfor row in value:\n\t\t\tif priority \u003d\u003d row[\"Priority\"]:\n\t\t\t\tnewRow \u003d row\n\t\tif newRow \u003d\u003d None:\n\t\t\tnewRow \u003d ({\"Priority\":priority, \"total\":0, \"active\":0, \"unacknowledged\":0, \"cleared\":0, \"acknowledgeTime\":0, \"clearTime\":0, \"totalTime\":0})\n\t\trows.append(newRow)\n\treturn rows", + "type": "script" + } + ], + "type": "query" + } + } + }, + "props": { + "params": { + "viewPath": "Alarm Analysis/Alarm Summary Card" + }, + "path": "Framework/Table Card Layout/Cards" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "BreakpointContainer" + }, + "position": { + "shrink": 0 + }, + "type": "ia.container.breakpt" + } + ], + "meta": { + "name": "Alarm Summary" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "classes": "Framework/Card/Card", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "custom.alarmByHour": { + "binding": { + "config": { + "parameters": { + "endDate": "{./Filters/End Date/Date.custom.dateStr}", + "startDate": "{./Filters/Start Date/Date.custom.dateStr}" + }, + "queryPath": "Alarms/Alarms By Hour", + "returnFormat": "json" + }, + "type": "query" + } + }, + "custom.alarmDuration": { + "binding": { + "config": { + "parameters": { + "app": "null", + "endDate": "{./Filters/End Date/Date.custom.dateStr}", + "limit": "{./Filters/Top/Numeric.props.value}", + "startDate": "{./Filters/Start Date/Date.custom.dateStr}" + }, + "queryPath": "Alarms/Alarms Duration", + "returnFormat": "json" + }, + "type": "query" + } + }, + "custom.alarmFrequency": { + "binding": { + "config": { + "parameters": { + "app": "null", + "endDate": "{./Filters/End Date/Date.custom.dateStr}", + "limit": "{./Filters/Top/Numeric.props.value}", + "startDate": "{./Filters/Start Date/Date.custom.dateStr}" + }, + "queryPath": "Alarms/Alarms Frequency", + "returnFormat": "json" + }, + "type": "query" + } + }, + "custom.alarmSummary": { + "binding": { + "config": { + "parameters": { + "endDate": "{./Filters/End Date/Date.custom.dateStr}", + "startDate": "{./Filters/Start Date/Date.custom.dateStr}" + }, + "queryPath": "Alarms/Alarm Summary", + "returnFormat": "dataset" + }, + "type": "query" + } + }, + "custom.longestDuration": { + "binding": { + "config": { + "parameters": { + "endDate": "{./Filters/End Date/Date.custom.dateStr}", + "startDate": "{./Filters/Start Date/Date.custom.dateStr}" + }, + "queryPath": "Alarms/Longest Duration Alarm", + "returnFormat": "dataset" + }, + "type": "query" + } + }, + "custom.mostFrequent": { + "binding": { + "config": { + "parameters": { + "endDate": "{./Filters/End Date/Date.custom.dateStr}", + "startDate": "{./Filters/Start Date/Date.custom.dateStr}" + }, + "queryPath": "Alarms/Most Frequent Alarm", + "returnFormat": "dataset" + }, + "type": "query" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Alarm Analysis/Alarm Summary Card/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Alarm Analysis/Alarm Summary Card/resource.json new file mode 100644 index 0000000..e79b717 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Alarm Analysis/Alarm Summary Card/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "61667669e713dc6d5d791489c7f765488d45eb77fedcad8cb98939c21cd992ba", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:11Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Alarm Analysis/Alarm Summary Card/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Alarm Analysis/Alarm Summary Card/thumbnail.png new file mode 100644 index 0000000..571e08a Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Alarm Analysis/Alarm Summary Card/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Alarm Analysis/Alarm Summary Card/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Alarm Analysis/Alarm Summary Card/view.json new file mode 100644 index 0000000..a0316c2 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Alarm Analysis/Alarm Summary Card/view.json @@ -0,0 +1,552 @@ +{ + "custom": {}, + "params": { + "Priority": "Priority", + "acknowledgeTime": 0, + "active": 0, + "clearTime": 0, + "cleared": 0, + "total": 0, + "totalTime": 0, + "unacknowledged": "0" + }, + "propConfig": { + "params.Priority": { + "paramDirection": "input", + "persistent": true + }, + "params.ack": { + "paramDirection": "input" + }, + "params.acknowledgeTime": { + "paramDirection": "input" + }, + "params.active": { + "paramDirection": "input" + }, + "params.activeTimestamp": { + "paramDirection": "input" + }, + "params.clearTime": { + "paramDirection": "input" + }, + "params.cleared": { + "paramDirection": "input", + "persistent": true + }, + "params.daytank": { + "paramDirection": "input" + }, + "params.humidity": { + "paramDirection": "input" + }, + "params.id": { + "paramDirection": "input" + }, + "params.priorityOrdinal": { + "paramDirection": "input" + }, + "params.state": { + "paramDirection": "input" + }, + "params.t_stamp": { + "paramDirection": "input" + }, + "params.tank1": { + "paramDirection": "input" + }, + "params.tank2": { + "paramDirection": "input" + }, + "params.temp": { + "paramDirection": "input" + }, + "params.total": { + "paramDirection": "input" + }, + "params.totalTime": { + "paramDirection": "input" + }, + "params.unacknowledged": { + "paramDirection": "input" + } + }, + "props": { + "defaultSize": { + "height": 261, + "width": 372 + } + }, + "root": { + "children": [ + { + "meta": { + "hasDelegate": true, + "name": "Label" + }, + "position": { + "basis": "20px", + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.Priority" + }, + "type": "property" + } + } + }, + "props": { + "alignVertical": "center", + "style": { + "classes": "Framework/Card/Title" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "hasDelegate": true, + "name": "Label" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "props": { + "alignVertical": "center", + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Total Alarms" + }, + "type": "ia.display.label" + }, + { + "meta": { + "hasDelegate": true, + "name": "Value" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.total" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Bold_Text" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "TotalAlarms" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Item Framework/Card/Item_Border" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "hasDelegate": true, + "name": "Label" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "props": { + "alignVertical": "center", + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Total Alarms Active" + }, + "type": "ia.display.label" + }, + { + "meta": { + "hasDelegate": true, + "name": "Value" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.active" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Bold_Text" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "ActiveAlarms" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Item Framework/Card/Item_Border" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "hasDelegate": true, + "name": "Label" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "props": { + "alignVertical": "center", + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Total Unacknowledged" + }, + "type": "ia.display.label" + }, + { + "meta": { + "hasDelegate": true, + "name": "Value" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.unacknowledged" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Bold_Text" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "UnackAlarms" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Item Framework/Card/Item_Border" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "hasDelegate": true, + "name": "Label" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "props": { + "alignVertical": "center", + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Total Alarms Cleared" + }, + "type": "ia.display.label" + }, + { + "meta": { + "hasDelegate": true, + "name": "Value" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.cleared" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Bold_Text" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "ClearedAlarms" + }, + "props": { + "style": { + "classes": "Framework/Card/Item Framework/Card/Item_Border" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "hasDelegate": true, + "name": "Label" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "props": { + "alignVertical": "center", + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Total Duration" + }, + "type": "ia.display.label" + }, + { + "meta": { + "hasDelegate": true, + "name": "Value" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "numberFormat(floor({view.params.totalTime} / 3600), \"00\") + \":\" +\r\nnumberFormat(floor(({view.params.totalTime} % 3600) / 60), \"00\") + \":\" + \r\nnumberFormat((({view.params.totalTime} % 3600) % 60), \"00\")" + }, + "transforms": [ + { + "code": "\treturn value if value else \"00:00:00\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Bold_Text" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "TotalDuration" + }, + "props": { + "style": { + "classes": "Framework/Card/Item Framework/Card/Item_Border" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "hasDelegate": true, + "name": "Label" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "props": { + "alignVertical": "center", + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Avg Time to Ack" + }, + "type": "ia.display.label" + }, + { + "meta": { + "hasDelegate": true, + "name": "Value" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "numberFormat(floor({view.params.acknowledgeTime} / 3600), \"00\") + \":\" +\r\nnumberFormat(floor(({view.params.acknowledgeTime} % 3600) / 60), \"00\") + \":\" + \r\nnumberFormat((({view.params.acknowledgeTime} % 3600) % 60), \"00\")" + }, + "transforms": [ + { + "code": "\treturn value if value else \"00:00:00\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Bold_Text" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "AvgTimeToAck" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Item Framework/Card/Item_Border" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "hasDelegate": true, + "name": "Label" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "props": { + "alignVertical": "center", + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Avg Time to Clear" + }, + "type": "ia.display.label" + }, + { + "meta": { + "hasDelegate": true, + "name": "Value" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "numberFormat(floor({view.params.clearTime} / 3600), \"00\") + \":\" +\r\nnumberFormat(floor(({view.params.clearTime} % 3600) / 60), \"00\") + \":\" + \r\nnumberFormat((({view.params.clearTime} % 3600) % 60), \"00\")" + }, + "transforms": [ + { + "code": "\treturn value if value else \"00:00:00\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Bold_Text" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "AvgTimeToClear" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Item Framework/Card/Item_Border" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "Framework/Card/Card" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Alarm Journal/Alarm Journal/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Alarm Journal/Alarm Journal/resource.json new file mode 100644 index 0000000..932d133 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Alarm Journal/Alarm Journal/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "0059d781f45d5918efda7b9be63e71894068dce572e769f47ee7ae0833d75d76", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:11Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Alarm Journal/Alarm Journal/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Alarm Journal/Alarm Journal/thumbnail.png new file mode 100644 index 0000000..351ae94 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Alarm Journal/Alarm Journal/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Alarm Journal/Alarm Journal/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Alarm Journal/Alarm Journal/view.json new file mode 100644 index 0000000..cd0684b --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Alarm Journal/Alarm Journal/view.json @@ -0,0 +1,574 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "width": 899 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "hasDelegate": true, + "name": "Label" + }, + "position": { + "basis": "16px", + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/TableCardLayout/Label" + }, + "text": "Start Date" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Date" + }, + "position": { + "basis": "38px", + "shrink": 0 + }, + "propConfig": { + "custom.dateStr": { + "binding": { + "config": { + "path": "this.props.value" + }, + "transforms": [ + { + "code": "\tfrom java.util import Date\n\treturn system.date.format(value, \"yyyy-MM-dd HH:mm:ss\")", + "type": "script" + } + ], + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "expression": "dateArithmetic(now(0), -30, \"days\")" + }, + "transforms": [ + { + "code": "\t#return value.getTime()\n\treturn value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "format": "MM/DD/YYYY HH:mm", + "formattedValue": "05/01/2022 15:07", + "formattedValues": { + "date": "02/09/2021", + "datetime": "02/09/2021 12:18", + "time": "12:18" + }, + "style": { + "height": "38px" + } + }, + "type": "ia.input.date-time-input" + } + ], + "meta": { + "name": "Start Date" + }, + "position": { + "basis": "140px", + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "marginLeft": "8px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "hasDelegate": true, + "name": "Label" + }, + "position": { + "basis": "16px", + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/TableCardLayout/Label" + }, + "text": "End Date" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Date" + }, + "position": { + "basis": "38px", + "shrink": 0 + }, + "propConfig": { + "custom.dateStr": { + "binding": { + "config": { + "path": "this.props.value" + }, + "transforms": [ + { + "code": "\tfrom java.util import Date\n\treturn system.date.format(value, \"yyyy-MM-dd HH:mm:ss\")", + "type": "script" + } + ], + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "expression": "now(0)" + }, + "transforms": [ + { + "code": "\t#return value.getTime()\n\treturn value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "format": "MM/DD/YYYY HH:mm", + "formattedValue": "05/31/2022 15:07", + "formattedValues": { + "date": "03/11/2021", + "datetime": "03/11/2021 12:18", + "time": "12:18" + }, + "style": { + "height": "38px" + } + }, + "type": "ia.input.date-time-input" + } + ], + "meta": { + "name": "End Date" + }, + "position": { + "basis": "140px", + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "marginLeft": "8px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "hasDelegate": true, + "name": "Label" + }, + "position": { + "basis": "16px", + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/TableCardLayout/Label" + }, + "text": "Minimum Priority" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Dropdown" + }, + "position": { + "basis": "38px", + "shrink": 0 + }, + "props": { + "options": [ + { + "label": "Diagnostic", + "value": 0 + }, + { + "label": "Low", + "value": 1 + }, + { + "label": "Medium", + "value": 2 + }, + { + "label": "High", + "value": 3 + }, + { + "label": "Critical", + "value": 4 + } + ], + "placeholder": { + "text": "Select.." + }, + "search": { + "enabled": false + }, + "style": { + "height": "38px", + "minWidth": "130px" + }, + "value": 1 + }, + "type": "ia.input.dropdown" + } + ], + "meta": { + "name": "Min Priority" + }, + "position": { + "basis": "140px", + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "marginLeft": "8px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "hasDelegate": true, + "name": "Label" + }, + "position": { + "basis": "16px", + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/TableCardLayout/Label" + }, + "text": "Maximum Priority" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Dropdown" + }, + "position": { + "basis": "37.5px", + "shrink": 0 + }, + "props": { + "options": [ + { + "label": "Diagnostic", + "value": 0 + }, + { + "label": "Low", + "value": 1 + }, + { + "label": "Medium", + "value": 2 + }, + { + "label": "High", + "value": 3 + }, + { + "label": "Critical", + "value": 4 + } + ], + "search": { + "enabled": false + }, + "style": { + "height": "38px", + "minWidth": "130px" + }, + "value": 4 + }, + "type": "ia.input.dropdown" + } + ], + "meta": { + "name": "Max Priority" + }, + "position": { + "basis": "140px", + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "marginLeft": "8px" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "hasDelegate": true, + "name": "Label" + }, + "position": { + "basis": "15px", + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/TableCardLayout/Label" + }, + "text": "States" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Dropdown" + }, + "position": { + "basis": "39px", + "shrink": 0 + }, + "propConfig": { + "custom.ack": { + "binding": { + "config": { + "path": "this.props.value" + }, + "transforms": [ + { + "code": "\treturn 2 in value", + "type": "script" + } + ], + "type": "property" + } + }, + "custom.active": { + "binding": { + "config": { + "path": "this.props.value" + }, + "transforms": [ + { + "code": "\treturn 0 in value", + "type": "script" + } + ], + "type": "property" + } + }, + "custom.clear": { + "binding": { + "config": { + "path": "this.props.value" + }, + "transforms": [ + { + "code": "\treturn 1 in value", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "multiSelect": true, + "options": [ + { + "label": "Active", + "value": 0 + }, + { + "label": "Clear", + "value": 1 + }, + { + "label": "Ack", + "value": 2 + } + ], + "value": [ + 0, + 1, + 2 + ] + }, + "type": "ia.input.dropdown" + } + ], + "meta": { + "name": "States" + }, + "position": { + "basis": "288.7px", + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "marginLeft": "8px" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Filters" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "marginBottom": "8px", + "overflow": "visible" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "custom": { + "limit": 400 + }, + "meta": { + "name": "Responsive View" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "propConfig": { + "props.params.data": { + "binding": { + "config": { + "parameters": { + "ack": "{../Filters/States/Dropdown.custom.ack}", + "active": "{../Filters/States/Dropdown.custom.active}", + "clear": "{../Filters/States/Dropdown.custom.clear}", + "endDate": "{../Filters/End Date/Date.custom.dateStr}", + "limit": "{this.custom.limit}", + "maxPriority": "{../Filters/Max Priority/Dropdown.props.value}", + "minPriority": "{../Filters/Min Priority/Dropdown.props.value}", + "startDate": "{../Filters/Start Date/Date.custom.dateStr}" + }, + "queryPath": "Alarms/Alarm History", + "returnFormat": "json" + }, + "type": "query" + } + } + }, + "props": { + "params": { + "cardViewPath": "Alarm Journal/Card", + "config": [ + { + "align": "left", + "column": "eventTime", + "render": "datetime", + "title": "Event Time", + "viewPath": "" + }, + { + "align": "left", + "column": "displayPath", + "render": "string", + "title": "Alarm", + "viewPath": "" + }, + { + "align": "left", + "column": "name", + "render": "string", + "title": "Name", + "viewPath": "" + }, + { + "align": "left", + "column": "eventType", + "title": "State", + "viewPath": "Alarm Journal/State" + }, + { + "align": "left", + "column": "priority", + "render": "string", + "title": "Priority", + "viewPath": "" + }, + { + "align": "left", + "column": "eventValue", + "render": "auto", + "title": "Event Value", + "viewPath": "" + }, + { + "align": "left", + "column": "ackUser", + "render": "string", + "title": "Ack User", + "viewPath": "" + } + ], + "filterEnabled": true, + "tableMinHeight": "500px" + }, + "path": "Framework/Table Card Layout/Responsive View" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Alarm Journal/Alarms/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Alarm Journal/Alarms/resource.json new file mode 100644 index 0000000..3ed70e4 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Alarm Journal/Alarms/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "80b2ffe265a4f5f5e0f4ef4b930fb9f6ce6a9272b23e9e4b53e2f6db781563bb", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Alarm Journal/Alarms/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Alarm Journal/Alarms/thumbnail.png new file mode 100644 index 0000000..88d3612 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Alarm Journal/Alarms/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Alarm Journal/Alarms/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Alarm Journal/Alarms/view.json new file mode 100644 index 0000000..df48d17 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Alarm Journal/Alarms/view.json @@ -0,0 +1,45 @@ +{ + "custom": {}, + "params": {}, + "propConfig": { + "custom.states[1]": { + "persistent": true + }, + "params.feature": { + "paramDirection": "input" + }, + "params.key": { + "paramDirection": "input" + }, + "params.tier1": { + "paramDirection": "input" + }, + "params.tier2": { + "paramDirection": "input" + } + }, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "AlarmStatusTable" + }, + "position": { + "basis": "800px" + }, + "type": "ia.display.alarmstatustable" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "Page" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Alarm Journal/Card/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Alarm Journal/Card/resource.json new file mode 100644 index 0000000..808b8f2 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Alarm Journal/Card/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "dcbc867865e394ede9de61a21e3c8f7991e2211c8d85cda1ed3932e89fcc8d52", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:09Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Alarm Journal/Card/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Alarm Journal/Card/thumbnail.png new file mode 100644 index 0000000..1475c5d Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Alarm Journal/Card/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Alarm Journal/Card/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Alarm Journal/Card/view.json new file mode 100644 index 0000000..08df5e6 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Alarm Journal/Card/view.json @@ -0,0 +1,487 @@ +{ + "custom": {}, + "params": { + "ackUser": "System", + "displayPath": "Machine Fault", + "eventTime": "9/11/18 04:28:55 PM", + "eventType": 2, + "eventValue": "13.826017534336078", + "name": "Fault", + "priority": "Low" + }, + "propConfig": { + "params.ack": { + "paramDirection": "input" + }, + "params.ackUser": { + "paramDirection": "input" + }, + "params.active": { + "paramDirection": "input" + }, + "params.activeTimestamp": { + "paramDirection": "input" + }, + "params.daytank": { + "paramDirection": "input" + }, + "params.displayPath": { + "paramDirection": "input" + }, + "params.eventTime": { + "paramDirection": "input" + }, + "params.eventType": { + "paramDirection": "input" + }, + "params.eventValue": { + "paramDirection": "input" + }, + "params.humidity": { + "paramDirection": "input" + }, + "params.id": { + "paramDirection": "input" + }, + "params.key": { + "paramDirection": "input" + }, + "params.name": { + "paramDirection": "input" + }, + "params.priority": { + "paramDirection": "input" + }, + "params.priorityOrdinal": { + "paramDirection": "input" + }, + "params.state": { + "paramDirection": "input" + }, + "params.t_stamp": { + "paramDirection": "input" + }, + "params.tank1": { + "paramDirection": "input" + }, + "params.tank2": { + "paramDirection": "input" + }, + "params.temp": { + "paramDirection": "input" + } + }, + "props": { + "defaultSize": { + "height": 210, + "width": 336 + } + }, + "root": { + "children": [ + { + "meta": { + "hasDelegate": true, + "name": "Label" + }, + "position": { + "basis": "20px", + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.displayPath" + }, + "type": "property" + } + } + }, + "props": { + "alignVertical": "center", + "style": { + "classes": "Framework/Card/Title" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "hasDelegate": true, + "name": "Label" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "props": { + "alignVertical": "center", + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Name" + }, + "type": "ia.display.label" + }, + { + "meta": { + "hasDelegate": true, + "name": "Value" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Bold_Text" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Name" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Item Framework/Card/Item_Border" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "hasDelegate": true, + "name": "Label" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "props": { + "alignVertical": "center", + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Event Type" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "State" + }, + "position": { + "basis": "100px", + "shrink": 0 + }, + "propConfig": { + "props.params.value": { + "binding": { + "config": { + "path": "view.params.eventType" + }, + "type": "property" + } + } + }, + "props": { + "path": "Alarm Journal/State", + "style": { + "marginLeft": "-6px" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "State" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Item Framework/Card/Item_Border" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "hasDelegate": true, + "name": "Label" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "props": { + "alignVertical": "center", + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Priority" + }, + "type": "ia.display.label" + }, + { + "meta": { + "hasDelegate": true, + "name": "Value" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.priority" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Bold_Text" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Priority" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Item Framework/Card/Item_Border" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "hasDelegate": true, + "name": "Label" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "props": { + "alignVertical": "center", + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Event Time" + }, + "type": "ia.display.label" + }, + { + "meta": { + "hasDelegate": true, + "name": "Value" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.eventTime" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Bold_Text" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Event Time" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Item Framework/Card/Item_Border" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "hasDelegate": true, + "name": "Label" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "props": { + "alignVertical": "center", + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Event Value" + }, + "type": "ia.display.label" + }, + { + "meta": { + "hasDelegate": true, + "name": "Value" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.eventValue" + }, + "transforms": [ + { + "expression": "try(numberFormat(toDouble({value}), \"#,##0.##\"), {value})", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Bold_Text" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Event Value" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Item Framework/Card/Item_Border" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "hasDelegate": true, + "name": "Label" + }, + "position": { + "basis": "125px", + "shrink": 0 + }, + "props": { + "alignVertical": "center", + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Ack User" + }, + "type": "ia.display.label" + }, + { + "meta": { + "hasDelegate": true, + "name": "Value" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.ackUser" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Bold_Text" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Ack User" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Item" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "Framework/Card/Card" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Alarm Journal/State/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Alarm Journal/State/resource.json new file mode 100644 index 0000000..7742c8e --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Alarm Journal/State/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "83809d0c5709a6990ec3e7b7b60ba42b7f9930a1aa2b780df661f2c4c3c0a88d", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Alarm Journal/State/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Alarm Journal/State/thumbnail.png new file mode 100644 index 0000000..bfc05b3 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Alarm Journal/State/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Alarm Journal/State/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Alarm Journal/State/view.json new file mode 100644 index 0000000..8cdb819 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Alarm Journal/State/view.json @@ -0,0 +1,140 @@ +{ + "custom": {}, + "params": { + "value": 2 + }, + "propConfig": { + "params.ev": { + "paramDirection": "input" + }, + "params.eve": { + "paramDirection": "input" + }, + "params.event": { + "paramDirection": "input" + }, + "params.eventT": { + "paramDirection": "input" + }, + "params.eventTyp": { + "paramDirection": "input" + }, + "params.eventType": { + "paramDirection": "input" + }, + "params.key": { + "paramDirection": "input" + }, + "params.stat": { + "paramDirection": "input" + }, + "params.state": { + "paramDirection": "input" + }, + "params.val": { + "paramDirection": "input" + }, + "params.value": { + "paramDirection": "input" + } + }, + "props": { + "defaultSize": { + "height": 28, + "width": 74 + } + }, + "root": { + "children": [ + { + "meta": { + "hasDelegate": true, + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "propConfig": { + "props.style.classes": { + "binding": { + "config": { + "path": "view.params.value" + }, + "transforms": [ + { + "fallback": "AlarmJournal/None", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "AlarmJournal/Active_Ack" + }, + { + "input": 1, + "output": "AlarmJournal/Clear_Ack" + }, + { + "input": 2, + "output": "AlarmJournal/Ack" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.params.value" + }, + "transforms": [ + { + "fallback": "System", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "Active" + }, + { + "input": 1, + "output": "Clear" + }, + { + "input": 2, + "output": "Ack" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "alignVertical": "center", + "style": {} + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "hidden", + "padding": "5px" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Audit Log/Audit Log/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Audit Log/Audit Log/resource.json new file mode 100644 index 0000000..3018b03 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Audit Log/Audit Log/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "0a1d3f586375f13c6172ade9d31218f277d2d3cd1ccab63c5a01bb841751d481", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:56:07Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Audit Log/Audit Log/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Audit Log/Audit Log/thumbnail.png new file mode 100644 index 0000000..d0f19d4 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Audit Log/Audit Log/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Audit Log/Audit Log/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Audit Log/Audit Log/view.json new file mode 100644 index 0000000..8d99c40 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Audit Log/Audit Log/view.json @@ -0,0 +1,372 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "width": 1379 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "hasDelegate": true, + "name": "Label" + }, + "position": { + "basis": "16px", + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/TableCardLayout/Label" + }, + "text": "Start Date" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Date" + }, + "position": { + "basis": "36px", + "shrink": 0 + }, + "propConfig": { + "custom.dateStr": { + "binding": { + "config": { + "path": "this.props.value" + }, + "transforms": [ + { + "code": "\tfrom java.util import Date\n\treturn system.date.format(Date(value), \"yyyy-MM-dd HH:mm:ss\")", + "type": "script" + } + ], + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "expression": "dateArithmetic(now(0), -180, \"min\")" + }, + "transforms": [ + { + "code": "\treturn value.getTime()", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "format": "MM/DD/YYYY HH:mm", + "formattedValue": "11/05/2025 13:55", + "formattedValues": { + "date": "09/16/2019", + "datetime": "09/16/2019 07:48", + "time": "07:48" + }, + "style": { + "height": "36px" + } + }, + "type": "ia.input.date-time-input" + } + ], + "meta": { + "name": "Start Date" + }, + "position": { + "basis": "135px", + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "marginBottom": "5px", + "marginRight": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "hasDelegate": true, + "name": "Label" + }, + "position": { + "basis": "16px", + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/TableCardLayout/Label" + }, + "text": "End Date" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Date" + }, + "position": { + "basis": "36px", + "shrink": 0 + }, + "propConfig": { + "custom.dateStr": { + "binding": { + "config": { + "path": "this.props.value" + }, + "transforms": [ + { + "code": "\tfrom java.util import Date\n\treturn system.date.format(Date(value), \"yyyy-MM-dd HH:mm:ss\")", + "type": "script" + } + ], + "type": "property" + } + }, + "props.value": { + "binding": { + "config": { + "expression": "now(0)" + }, + "transforms": [ + { + "code": "\treturn value.getTime()", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "format": "MM/DD/YYYY HH:mm", + "formattedValue": "11/05/2025 16:55", + "formattedValues": { + "date": "09/16/2019", + "datetime": "09/16/2019 10:48", + "time": "10:48" + }, + "style": { + "height": "36px" + } + }, + "type": "ia.input.date-time-input" + } + ], + "meta": { + "name": "End Date" + }, + "position": { + "basis": "135px", + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "marginBottom": "5px", + "marginRight": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "hasDelegate": true, + "name": "Label" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/TableCardLayout/Label" + }, + "text": "Search" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Search" + }, + "position": { + "basis": "36px", + "shrink": 0 + }, + "propConfig": { + "custom.searchStr": { + "binding": { + "config": { + "expression": "if(coalesce({this.props.text}, \"\") \u003d \"\", \"\", \"%\" + {this.props.text} + \"%\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "\"\"" + }, + "type": "expr" + } + } + }, + "props": { + "placeholder": "Search...", + "style": { + "borderRadius": "4px" + } + }, + "type": "ia.input.text-field" + } + ], + "meta": { + "name": "Search" + }, + "position": { + "basis": "200px", + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "marginBottom": "5px", + "marginRight": "10px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Filters" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "marginBottom": "8px", + "overflow": "visible" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Responsive View" + }, + "position": { + "basis": "500px", + "grow": 1, + "shrink": 0 + }, + "propConfig": { + "props.params.data": { + "binding": { + "config": { + "parameters": { + "endDate": "{../Filters/End Date/Date.custom.dateStr}", + "search": "{../Filters/Search/Search.custom.searchStr}", + "startDate": "{../Filters/Start Date/Date.custom.dateStr}" + }, + "polling": { + "enabled": true, + "rate": "15" + }, + "queryPath": "Audit Log/Audit Log", + "returnFormat": "json" + }, + "type": "query" + } + } + }, + "props": { + "params": { + "cardViewPath": "Audit Log/Card", + "config": [ + { + "align": "left", + "column": "event_timestamp", + "render": "datetime", + "title": "Time", + "viewPath": "", + "width": 60 + }, + { + "align": "left", + "column": "actor", + "render": "string", + "title": "Actor", + "viewPath": "", + "width": 50 + }, + { + "align": "left", + "column": "action", + "render": "string", + "title": "Action", + "viewPath": "", + "width": 50 + }, + { + "align": "left", + "column": "action_target", + "render": "string", + "title": "Target", + "viewPath": "", + "width": 130 + }, + { + "align": "left", + "column": "action_value", + "render": "string", + "title": "Value", + "viewPath": "" + }, + { + "align": "center", + "column": "status_code", + "render": "number", + "title": "Status", + "viewPath": "", + "width": 40 + } + ] + }, + "path": "Framework/Table Card Layout/Responsive View" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Audit Log/Card/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Audit Log/Card/resource.json new file mode 100644 index 0000000..2625f41 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Audit Log/Card/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "880a1c004bb9359713923d35b35a6360e4adeeac0ee99173097fb9b5395c9689", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Audit Log/Card/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Audit Log/Card/thumbnail.png new file mode 100644 index 0000000..ae17481 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Audit Log/Card/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Audit Log/Card/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Audit Log/Card/view.json new file mode 100644 index 0000000..7630883 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Audit Log/Card/view.json @@ -0,0 +1,508 @@ +{ + "custom": {}, + "params": { + "action": "save", + "action_target": "Demo", + "action_value": 13.82, + "actor": "admin", + "actor_host": "hostname", + "audit_events_id": 1, + "event_timestamp": "9/11/18 04:28:55 PM", + "originating_context": 2, + "originating_system": "OnlineDemo", + "status_code": 0 + }, + "propConfig": { + "params.ack": { + "paramDirection": "input" + }, + "params.ackUser": { + "paramDirection": "input" + }, + "params.action": { + "paramDirection": "input" + }, + "params.action_target": { + "paramDirection": "input" + }, + "params.action_value": { + "paramDirection": "input" + }, + "params.active": { + "paramDirection": "input" + }, + "params.activeTimestamp": { + "paramDirection": "input" + }, + "params.actor": { + "paramDirection": "input" + }, + "params.actor_host": { + "paramDirection": "input" + }, + "params.audit_events_id": { + "paramDirection": "input" + }, + "params.daytank": { + "paramDirection": "input" + }, + "params.displayPath": { + "paramDirection": "input" + }, + "params.eventTime": { + "paramDirection": "input" + }, + "params.eventType": { + "paramDirection": "input" + }, + "params.eventValue": { + "paramDirection": "input" + }, + "params.event_timestamp": { + "paramDirection": "input" + }, + "params.humidity": { + "paramDirection": "input" + }, + "params.id": { + "paramDirection": "input" + }, + "params.key": { + "paramDirection": "input" + }, + "params.name": { + "paramDirection": "input" + }, + "params.originating_context": { + "paramDirection": "input" + }, + "params.originating_system": { + "paramDirection": "input" + }, + "params.priority": { + "paramDirection": "input" + }, + "params.priorityOrdinal": { + "paramDirection": "input" + }, + "params.state": { + "paramDirection": "input" + }, + "params.statusCode": { + "paramDirection": "input" + }, + "params.status_code": { + "paramDirection": "input" + }, + "params.t_stamp": { + "paramDirection": "input" + }, + "params.tank1": { + "paramDirection": "input" + }, + "params.tank2": { + "paramDirection": "input" + }, + "params.temp": { + "paramDirection": "input" + } + }, + "props": { + "defaultSize": { + "height": 171, + "width": 310 + } + }, + "root": { + "children": [ + { + "meta": { + "hasDelegate": true, + "name": "Label" + }, + "position": { + "basis": "20px", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.event_timestamp" + }, + "type": "property" + } + } + }, + "props": { + "alignVertical": "center", + "style": { + "classes": "Framework/Card/Title" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "hasDelegate": true, + "name": "Label" + }, + "position": { + "basis": "125px", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "alignVertical": "center", + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Actor" + }, + "type": "ia.display.label" + }, + { + "meta": { + "hasDelegate": true, + "name": "Value" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.actor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Bold_Text" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Actor" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Item Framework/Card/Item_Border", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "hasDelegate": true, + "name": "Label" + }, + "position": { + "basis": "125px", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "alignVertical": "center", + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Action" + }, + "type": "ia.display.label" + }, + { + "meta": { + "hasDelegate": true, + "name": "Value" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.action" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Bold_Text" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Action" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Item Framework/Card/Item_Border", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "hasDelegate": true, + "name": "Label" + }, + "position": { + "basis": "125px", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "alignVertical": "center", + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Target" + }, + "type": "ia.display.label" + }, + { + "meta": { + "hasDelegate": true, + "name": "Value" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.action_target" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Bold_Text" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Target" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Item Framework/Card/Item_Border", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "hasDelegate": true, + "name": "Label" + }, + "position": { + "basis": "125px", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "alignVertical": "center", + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Value" + }, + "type": "ia.display.label" + }, + { + "meta": { + "hasDelegate": true, + "name": "Value" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.action_value" + }, + "transforms": [ + { + "expression": "try(numberFormat(toDouble({value}), \"#,##0.##\"), {value})", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Bold_Text" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Value" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Item Framework/Card/Item_Border", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "hasDelegate": true, + "name": "Label" + }, + "position": { + "basis": "125px", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "alignVertical": "center", + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Status Code" + }, + "type": "ia.display.label" + }, + { + "meta": { + "hasDelegate": true, + "name": "Value" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.status_code" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Bold_Text" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Status Code" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Item", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "Framework/Card/Card", + "marginLeft": "0px", + "marginRight": "0px", + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Diagnostics/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Diagnostics/resource.json new file mode 100644 index 0000000..eee643f --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Diagnostics/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "42e68724513eede228c373af00103906c73f7c540ec67e917701378defa715a3", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Diagnostics/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Diagnostics/thumbnail.png new file mode 100644 index 0000000..4376b4b Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Diagnostics/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Diagnostics/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Diagnostics/view.json new file mode 100644 index 0000000..c704007 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Diagnostics/view.json @@ -0,0 +1,174 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 828, + "width": 2378 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "System" + }, + "position": { + "basis": "280px", + "shrink": 0 + }, + "props": { + "params": { + "path": "Diagnostics/Embedded/System", + "title": "System" + }, + "path": "Framework/Card/Card" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "System Performance" + }, + "position": { + "basis": "280px", + "shrink": 0 + }, + "props": { + "params": { + "path": "Diagnostics/Embedded/System Performance", + "title": "System Performance" + }, + "path": "Framework/Card/Card" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Redundancy" + }, + "position": { + "basis": "280px", + "shrink": 0 + }, + "props": { + "params": { + "path": "Diagnostics/Embedded/Redundancy", + "title": "Redundancy" + }, + "path": "Framework/Card/Card" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Gateway Network" + }, + "position": { + "basis": "280px", + "shrink": 0 + }, + "props": { + "params": { + "path": "Diagnostics/Embedded/Gateway Network Connections", + "title": "Gateway Network" + }, + "path": "Framework/Card/Card" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "OPC Servers" + }, + "position": { + "basis": "280px", + "shrink": 0 + }, + "props": { + "params": { + "path": "Diagnostics/Embedded/OPC Servers", + "title": "OPC Servers" + }, + "path": "Framework/Card/Card" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "OPC Devices" + }, + "position": { + "basis": "280px" + }, + "props": { + "params": { + "path": "Diagnostics/Embedded/OPC Devices", + "title": "OPC Devices" + }, + "path": "Framework/Card/Card" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Databases" + }, + "position": { + "basis": "280px", + "shrink": 0 + }, + "props": { + "params": { + "path": "Diagnostics/Embedded/Databases", + "title": "Databases" + }, + "path": "Framework/Card/Card" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Session" + }, + "position": { + "basis": "280px", + "shrink": 0 + }, + "props": { + "params": { + "path": "Diagnostics/Embedded/Session", + "title": "Session" + }, + "path": "Framework/Card/Card" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Device" + }, + "position": { + "basis": "280px", + "shrink": 0 + }, + "props": { + "params": { + "path": "Diagnostics/Embedded/Device", + "title": "Device" + }, + "path": "Framework/Card/Card" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "alignContent": "flex-start", + "wrap": "wrap" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Database/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Database/resource.json new file mode 100644 index 0000000..4b2a1f8 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Database/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "4a8eb956542067be72b00feb4366ba08523af381275044b87ca0f7fa5bc6bcab", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Database/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Database/thumbnail.png new file mode 100644 index 0000000..74ea5a6 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Database/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Database/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Database/view.json new file mode 100644 index 0000000..ba0ad5e --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Database/view.json @@ -0,0 +1,628 @@ +{ + "custom": {}, + "params": { + "database": "" + }, + "propConfig": { + "params.database": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 200, + "width": 300 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Value" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.database" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Value" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Name" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "borderBottomColor": "#D5D5D5", + "borderBottomStyle": "solid", + "borderBottomWidth": "1px", + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "grow": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Is Available" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "30px", + "shrink": 0 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "database": "{view.params.database}" + }, + "tagPath": "[System]Gateway/Database/{database}/Available" + }, + "transforms": [ + { + "fallback": "#808080", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "#D90000" + }, + { + "input": true, + "output": "#00AC00" + } + ], + "outputType": "color", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "database": "{view.params.database}" + }, + "tagPath": "[System]Gateway/Database/{database}/Available" + }, + "transforms": [ + { + "fallback": "No", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "No" + }, + { + "input": true, + "output": "Yes" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderRadius": "4px", + "classes": "Framework/Card/Value", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Is Available" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "grow": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Is Available Through Failover" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "30px", + "shrink": 0 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "database": "{view.params.database}" + }, + "tagPath": "[System]Gateway/Database/{database}/AvailableThroughFailover" + }, + "transforms": [ + { + "fallback": "#808080", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "#D90000" + }, + { + "input": true, + "output": "#00AC00" + } + ], + "outputType": "color", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "database": "{view.params.database}" + }, + "tagPath": "[System]Gateway/Database/{database}/AvailableThroughFailover" + }, + "transforms": [ + { + "fallback": "No", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "No" + }, + { + "input": true, + "output": "Yes" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderRadius": "4px", + "classes": "Framework/Card/Value", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Is Available Through Failover" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "grow": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Active Connections" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "database": "{view.params.database}" + }, + "tagPath": "[System]Gateway/Database/{database}/ActiveConnections" + }, + "transforms": [ + { + "expression": "if({value} \u003d null, \"--\", numberFormat({value}, \"#,##0.##\"))", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Value" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Active Connections" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "grow": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Queries / Second" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "database": "{view.params.database}" + }, + "tagPath": "[System]Gateway/Database/{database}/QueriesPerSecond" + }, + "transforms": [ + { + "expression": "if({value} \u003d null, \"--\", numberFormat({value}, \"#,##0.##\"))", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Value" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Queries Per Second" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "grow": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Avg Query Time" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "database": "{view.params.database}" + }, + "tagPath": "[System]Gateway/Database/{database}/AvgQueryTime" + }, + "transforms": [ + { + "expression": "if({value} \u003d null, \"--\", numberFormat({value}, \"#,##0.##\"))", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Value" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Avg Query Time" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "grow": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Connection Saturation" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "55px", + "shrink": 0 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[System]Gateway/Performance/CPU Usage" + }, + "transforms": [ + { + "expression": "{value} * 100.0", + "type": "expression" + }, + { + "fallback": "#808080", + "inputType": "range", + "mappings": [ + { + "input": { + "max": 70, + "min": 0 + }, + "output": "#00AC00" + }, + { + "input": { + "max": 80, + "min": 70 + }, + "output": "#D9D900" + }, + { + "input": { + "max": 100, + "min": 90 + }, + "output": "#D90000" + } + ], + "outputType": "color", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "database": "{view.params.database}" + }, + "tagPath": "[System]Gateway/Database/{database}/ConnectionSaturation" + }, + "transforms": [ + { + "expression": "if({value} \u003d null, \"--\", numberFormat({value}, \"#,##0.##%\"))", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderRadius": "4px", + "classes": "Framework/Card/Value", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Connection Saturation" + }, + "position": { + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Spacer" + }, + "position": { + "basis": "5px", + "shrink": 0 + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Databases/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Databases/resource.json new file mode 100644 index 0000000..2f9637e --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Databases/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "c7b4e1f9e9b32647de5a63c4efa191cedb3e65d441b60ed53303f3a2fe57ef56", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:11Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Databases/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Databases/thumbnail.png new file mode 100644 index 0000000..52a6f7e Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Databases/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Databases/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Databases/view.json new file mode 100644 index 0000000..3cf3ec4 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Databases/view.json @@ -0,0 +1,56 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "width": 265 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "expression": "now(0)" + }, + "transforms": [ + { + "code": "\tinstances \u003d []\n\tres \u003d system.tag.browse(path\u003d\"[System]Gateway/Database\")\n\tfor result in res.getResults():\n\t\tinstances.append({\"database\":result[\"name\"]})\n\treturn instances", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "path": "Diagnostics/Embedded/Database", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Device/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Device/resource.json new file mode 100644 index 0000000..c8bf6f9 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Device/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "d0e46bc1e0ee23171d8ec2158e8aa95c610a49019b01151e9361f53c8187dd68", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:11Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Device/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Device/thumbnail.png new file mode 100644 index 0000000..c22e327 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Device/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Device/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Device/view.json new file mode 100644 index 0000000..e8a0b2d --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Device/view.json @@ -0,0 +1,1808 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 429, + "width": 300 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Type" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "session.props.device.type" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Value" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Type" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Id" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "150px", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "session.props.device.identifier" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Value", + "overflow": "auto", + "overflowWrap": "break-word", + "textAlign": "end" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Id" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "User Agent" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "150px", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "session.props.device.userAgent" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Value", + "overflow": "auto", + "overflowWrap": "break-word", + "textAlign": "end" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "User Agent" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Accelerometer" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "30px", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "session.props.device.accelerometer.timestamp" + }, + "transforms": [ + { + "expression": "if({value} \u003d 0, false, true)", + "type": "expression" + }, + { + "fallback": "#808080", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "#808080" + }, + { + "input": true, + "output": "#00AC00" + } + ], + "outputType": "color", + "type": "map" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "path": "session.props.device.accelerometer.timestamp" + }, + "transforms": [ + { + "expression": "if({value} \u003d 0, false, true)", + "type": "expression" + }, + { + "fallback": "No", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "No" + }, + { + "input": true, + "output": "Yes" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "borderRadius": "4px", + "classes": "Framework/Card/Value", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Accelerometer" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Accelerometer Update" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "session.props.device.accelerometer.timestamp" + }, + "transforms": [ + { + "expression": "if({value} \u003d 0, \"--\", dateFormat({value}, \"yyyy-MM-dd hh:mm:ss a\"))", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Value" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Accelerometer Time" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Accelerometer X" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "session.props.device.accelerometer.x" + }, + "transforms": [ + { + "expression": "numberFormat({value}, \"#,##0.##\")", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Value" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Accelerometer X" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Accelerometer Y" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "session.props.device.accelerometer.y" + }, + "transforms": [ + { + "expression": "numberFormat({value}, \"#,##0.##\")", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Value" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Accelerometer Y" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Accelerometer Z" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "session.props.device.accelerometer.z" + }, + "transforms": [ + { + "expression": "numberFormat({value}, \"#,##0.##\")", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Value" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Accelerometer Z" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Bluetooth" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "30px", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "session.props.bluetooth.enabled" + }, + "transforms": [ + { + "fallback": "#808080", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "#808080" + }, + { + "input": true, + "output": "#00AC00" + } + ], + "outputType": "color", + "type": "map" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "path": "session.props.bluetooth.enabled" + }, + "transforms": [ + { + "fallback": "No", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "No" + }, + { + "input": true, + "output": "Yes" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "borderRadius": "4px", + "classes": "Framework/Card/Value", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Bluetooth" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Bluetooth Update Interval" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "session.props.bluetooth.options.updateInterval" + }, + "transforms": [ + { + "expression": "numberFormat({value}, \"#,##0.##\") + \"ms\"", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Value" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Bluetooth Update Interval" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Bluetooth Limit" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "session.props.bluetooth.options.limit" + }, + "transforms": [ + { + "expression": "numberFormat({value}, \"#,##0.##\")", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Value" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Bluetooth Limit" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Geolocation" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "30px", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "session.props.geolocation.enabled" + }, + "transforms": [ + { + "fallback": "#808080", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "#808080" + }, + { + "input": true, + "output": "#00AC00" + } + ], + "outputType": "color", + "type": "map" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "path": "session.props.geolocation.enabled" + }, + "transforms": [ + { + "fallback": "No", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "No" + }, + { + "input": true, + "output": "Yes" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "borderRadius": "4px", + "classes": "Framework/Card/Value", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Geolocation" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Geolocation Granted" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "30px", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "session.props.geolocation.permissionGranted" + }, + "transforms": [ + { + "fallback": "#808080", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "#D90000" + }, + { + "input": true, + "output": "#00AC00" + } + ], + "outputType": "color", + "type": "map" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "path": "session.props.geolocation.permissionGranted" + }, + "transforms": [ + { + "fallback": "No", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "No" + }, + { + "input": true, + "output": "Yes" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "borderRadius": "4px", + "classes": "Framework/Card/Value", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Geolocation Granted" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Geolocation Accuracy" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "session.props.geolocation.options.accuracy" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Value" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Geolocation Accuracy" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Geolocation Max Age" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "session.props.geolocation.options.maximumAge" + }, + "transforms": [ + { + "expression": "numberFormat({value}, \"#,##0.##\")", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Value" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Geolocation Max Age" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Geolocation Update" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "session.props.geolocation.data.timestamp" + }, + "transforms": [ + { + "expression": "if({value} \u003d null, \"--\", dateFormat({value}, \"yyyy-MM-dd hh:mm:ss a\"))", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Value" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Geolocation Update" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Geolocation Latitude" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "session.props.geolocation.data.latitude" + }, + "transforms": [ + { + "expression": "if({value} \u003d null, \"--\", numberFormat({value}, \"#,##0.####\"))", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Value" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Geolocation Latitude" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Geolocation Longitude" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "session.props.geolocation.data.longitude" + }, + "transforms": [ + { + "expression": "if({value} \u003d null, \"--\", numberFormat({value}, \"#,##0.####\"))", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Value" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Geolocation Longitude" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Geolocation Altitude" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "session.props.geolocation.data.altitude" + }, + "transforms": [ + { + "expression": "if({value} \u003d null, \"--\", numberFormat({value}, \"#,##0.##\"))", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Value" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Geolocation Altitude" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Geolocation Accuracy" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "session.props.geolocation.data.accuracy" + }, + "transforms": [ + { + "expression": "if({value} \u003d null, \"--\", numberFormat({value}, \"#,##0.##\"))", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Value" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Geolocation Accuracy_0" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Geolocation Altitude Accuracy" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "session.props.geolocation.data.altitudeAccuracy" + }, + "transforms": [ + { + "expression": "if({value} \u003d null, \"--\", numberFormat({value}, \"#,##0.##\"))", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Value" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Geolocation Altitude Accuracy" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Geolocation Heading" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "session.props.geolocation.data.heading" + }, + "transforms": [ + { + "expression": "if({value} \u003d null, \"--\", numberFormat({value}, \"#,##0.##\"))", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Value" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Geolocation Heading" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Geolocation Speed" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "session.props.geolocation.data.speed" + }, + "transforms": [ + { + "expression": "if({value} \u003d null, \"--\", numberFormat({value}, \"#,##0.##\"))", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Value" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Geolocation Speed" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Gateway Network Connection/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Gateway Network Connection/resource.json new file mode 100644 index 0000000..c065c2f --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Gateway Network Connection/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "968a649bde49e84d336078e70dd0b3b2356ba86b51a28aa894a5beffc9f888d1", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Gateway Network Connection/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Gateway Network Connection/thumbnail.png new file mode 100644 index 0000000..5ea6335 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Gateway Network Connection/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Gateway Network Connection/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Gateway Network Connection/view.json new file mode 100644 index 0000000..de472fc --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Gateway Network Connection/view.json @@ -0,0 +1,289 @@ +{ + "custom": {}, + "params": { + "server": "_0:0:BuildAThon_Controller" + }, + "propConfig": { + "params.server": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 200, + "width": 300 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.server" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Value" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Name" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "borderBottomColor": "#D5D5D5", + "borderBottomStyle": "solid", + "borderBottomWidth": "1px", + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Is Available" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "30px", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "server": "{view.params.server}" + }, + "tagPath": "[System]Gateway/Gateway Network/{server}/IsAvailable" + }, + "transforms": [ + { + "fallback": "#808080", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "#D90000" + }, + { + "input": true, + "output": "#00AC00" + } + ], + "outputType": "color", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "server": "{view.params.server}" + }, + "tagPath": "[System]Gateway/Gateway Network/{server}/IsAvailable" + }, + "transforms": [ + { + "fallback": "No", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "No" + }, + { + "input": true, + "output": "Yes" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderRadius": "4px", + "classes": "Framework/Card/Value", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Is Available" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Last Communication" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "server": "{view.params.server}" + }, + "tagPath": "[System]Gateway/Gateway Network/{server}/LastComm" + }, + "transforms": [ + { + "expression": "if({value} \u003d null, \"--\", dateFormat({value}, \"yyyy-MM-dd hh:mm:ss a\"))", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Value" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Last Communication" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Spacer" + }, + "position": { + "basis": "5px", + "display": true, + "grow": 0, + "shrink": 0 + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Gateway Network Connections/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Gateway Network Connections/resource.json new file mode 100644 index 0000000..1180db2 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Gateway Network Connections/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "e872ee13a3f0969f15b1c934e9fe18b582752ca6f6c2d51af9ec1e8820b7bc29", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Gateway Network Connections/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Gateway Network Connections/thumbnail.png new file mode 100644 index 0000000..5816c71 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Gateway Network Connections/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Gateway Network Connections/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Gateway Network Connections/view.json new file mode 100644 index 0000000..9e6e761 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Gateway Network Connections/view.json @@ -0,0 +1,59 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "width": 265 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "expression": "now(0)" + }, + "transforms": [ + { + "code": "\tinstances \u003d []\n\tres \u003d system.tag.browse(path\u003d\"[System]Gateway/Gateway Network\")\n\tfor result in res.getResults():\n\t\tinstances.append({\"server\":result[\"name\"]})\n\treturn instances", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "path": "Diagnostics/Embedded/Gateway Network Connection", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Label/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Label/resource.json new file mode 100644 index 0000000..551a03a --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Label/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "2a3862193553f8215751116ce34c81ddd3c4e86017646d9ae0f2d36a8259b372", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Label/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Label/thumbnail.png new file mode 100644 index 0000000..3a23595 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Label/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Label/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Label/view.json new file mode 100644 index 0000000..41f29d8 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Label/view.json @@ -0,0 +1,69 @@ +{ + "custom": {}, + "params": { + "align": "start", + "value": "Hello World!" + }, + "propConfig": { + "params.align": { + "paramDirection": "input", + "persistent": true + }, + "params.value": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 26, + "width": 299 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.style.textAlign": { + "binding": { + "config": { + "path": "view.params.align" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.params.value" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Value" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/OPC Device/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/OPC Device/resource.json new file mode 100644 index 0000000..335149f --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/OPC Device/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "8d9857d7a40bd81bd5d295c1da6b7d54676bed4beb02866ce931291ac81eaa74", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/OPC Device/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/OPC Device/thumbnail.png new file mode 100644 index 0000000..1b24804 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/OPC Device/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/OPC Device/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/OPC Device/view.json new file mode 100644 index 0000000..84b0af3 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/OPC Device/view.json @@ -0,0 +1,348 @@ +{ + "custom": {}, + "params": { + "driver": "Simulator", + "enabled": true, + "name": "Device", + "state": "Connected" + }, + "propConfig": { + "params.driver": { + "paramDirection": "input", + "persistent": true + }, + "params.enabled": { + "paramDirection": "input", + "persistent": true + }, + "params.name": { + "paramDirection": "input", + "persistent": true + }, + "params.state": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 200, + "width": 300 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.name" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Value" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Name" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "borderBottomColor": "#D5D5D5", + "borderBottomStyle": "solid", + "borderBottomWidth": "1px", + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Driver" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.driver" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Value" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Driver" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Is Enabled" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "30px", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.params.enabled" + }, + "transforms": [ + { + "fallback": "#808080", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "#808080" + }, + { + "input": true, + "output": "#00AC00" + } + ], + "outputType": "color", + "type": "map" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.params.enabled" + }, + "transforms": [ + { + "fallback": "No", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "No" + }, + { + "input": true, + "output": "Yes" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "borderRadius": "4px", + "classes": "Framework/Card/Value", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Is Enabled" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "State" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.state" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Value" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "State" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Spacer" + }, + "position": { + "basis": "5px", + "display": true, + "grow": 0, + "shrink": 0 + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/OPC Devices/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/OPC Devices/resource.json new file mode 100644 index 0000000..ee17fcf --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/OPC Devices/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "fd6b9a2e759ff3db3908471619b6fd057d11c3e81d142e1cabff92366c321b96", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/OPC Devices/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/OPC Devices/thumbnail.png new file mode 100644 index 0000000..4ac6bdb Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/OPC Devices/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/OPC Devices/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/OPC Devices/view.json new file mode 100644 index 0000000..98cd0bb --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/OPC Devices/view.json @@ -0,0 +1,59 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "width": 265 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "expression": "now(60000)" + }, + "transforms": [ + { + "code": "\tinstances \u003d []\n\tres \u003d system.dataset.toPyDataSet(system.device.listDevices())\n\tfor result in res:\n\t\tinstances.append({\"name\":result[\"Name\"], \"enabled\":result[\"Enabled\"], \"state\":result[\"State\"], \"driver\":result[\"Driver\"]})\n\treturn instances", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "path": "Diagnostics/Embedded/OPC Device", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/OPC Server/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/OPC Server/resource.json new file mode 100644 index 0000000..df4b98e --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/OPC Server/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "e6eea3c97c4cdf544a5378011664ef68d4addc2a79b1ddc3b863fe8466585920", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:09Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/OPC Server/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/OPC Server/thumbnail.png new file mode 100644 index 0000000..d49c80b Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/OPC Server/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/OPC Server/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/OPC Server/view.json new file mode 100644 index 0000000..9810b7c --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/OPC Server/view.json @@ -0,0 +1,405 @@ +{ + "custom": {}, + "params": { + "server": "Ignition OPC UA Server" + }, + "propConfig": { + "params.server": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 200, + "width": 300 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.server" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Value" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Name" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "borderBottomColor": "#D5D5D5", + "borderBottomStyle": "solid", + "borderBottomWidth": "1px", + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Is Enabled" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "30px", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "server": "{view.params.server}" + }, + "tagPath": "[System]Gateway/OPC/Connections/{server}/Enabled" + }, + "transforms": [ + { + "fallback": "#808080", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "#808080" + }, + { + "input": true, + "output": "#00AC00" + } + ], + "outputType": "color", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "server": "{view.params.server}" + }, + "tagPath": "[System]Gateway/OPC/Connections/{server}/Enabled" + }, + "transforms": [ + { + "fallback": "No", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "No" + }, + { + "input": true, + "output": "Yes" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderRadius": "4px", + "classes": "Framework/Card/Value", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Is Enabled" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Is Connected" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "30px", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "server": "{view.params.server}" + }, + "tagPath": "[System]Gateway/OPC/Connections/{server}/Connected" + }, + "transforms": [ + { + "fallback": "#808080", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "#D90000" + }, + { + "input": true, + "output": "#00AC00" + } + ], + "outputType": "color", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "server": "{view.params.server}" + }, + "tagPath": "[System]Gateway/OPC/Connections/{server}/Connected" + }, + "transforms": [ + { + "fallback": "No", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "No" + }, + { + "input": true, + "output": "Yes" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderRadius": "4px", + "classes": "Framework/Card/Value", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Is Connected" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "State" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "server": "{view.params.server}" + }, + "tagPath": "[System]Gateway/OPC/Connections/{server}/State" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Value" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "State" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Spacer" + }, + "position": { + "basis": "5px", + "display": true, + "grow": 0, + "shrink": 0 + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/OPC Servers/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/OPC Servers/resource.json new file mode 100644 index 0000000..f6a4478 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/OPC Servers/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "80cbb725f6269703fa336766739dc80bb62f1a8da30c3e6d41fd5a9430738276", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/OPC Servers/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/OPC Servers/thumbnail.png new file mode 100644 index 0000000..a26ab70 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/OPC Servers/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/OPC Servers/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/OPC Servers/view.json new file mode 100644 index 0000000..49630f9 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/OPC Servers/view.json @@ -0,0 +1,59 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "width": 265 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "FlexRepeater" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "expression": "now(0)" + }, + "transforms": [ + { + "code": "\tinstances \u003d []\n\tres \u003d system.tag.browse(path\u003d\"[System]Gateway/OPC/Connections\")\n\tfor result in res.getResults():\n\t\tinstances.append({\"server\":result[\"name\"]})\n\treturn instances", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "path": "Diagnostics/Embedded/OPC Server", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Redundancy/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Redundancy/resource.json new file mode 100644 index 0000000..4256cdf --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Redundancy/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "a81c9f26a5fb7cc0f6876ed13bb952d8b6d557265042c367fe88c75f275ab631", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Redundancy/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Redundancy/thumbnail.png new file mode 100644 index 0000000..28288b8 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Redundancy/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Redundancy/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Redundancy/view.json new file mode 100644 index 0000000..ce682a7 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Redundancy/view.json @@ -0,0 +1,576 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 200, + "width": 300 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Activity Level" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[System]Gateway/Redundancy/ActivityLevel" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Value" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Activity Level" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Role" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[System]Gateway/Redundancy/Role" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Value" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Role" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Is Active" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "30px", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[System]Gateway/Redundancy/IsActive" + }, + "transforms": [ + { + "fallback": "#808080", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "#808080" + }, + { + "input": true, + "output": "#00AC00" + } + ], + "outputType": "color", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[System]Gateway/Redundancy/IsActive" + }, + "transforms": [ + { + "fallback": "No", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "No" + }, + { + "input": true, + "output": "Yes" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderRadius": "4px", + "classes": "Framework/Card/Value", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Is Active" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Is Master" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "30px", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[System]Gateway/Redundancy/IsMaster" + }, + "transforms": [ + { + "fallback": "#808080", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "#808080" + }, + { + "input": true, + "output": "#00AC00" + } + ], + "outputType": "color", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[System]Gateway/Redundancy/IsMaster" + }, + "transforms": [ + { + "fallback": "No", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "No" + }, + { + "input": true, + "output": "Yes" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderRadius": "4px", + "classes": "Framework/Card/Value", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Is Master" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Peer Id" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[System]Gateway/Redundancy/Connection/PeerId" + }, + "transforms": [ + { + "expression": "coalesce({value}, \"--\")", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Value" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Peer Id" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Peer Connected" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "30px", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[System]Gateway/Redundancy/Connection/IsConnected" + }, + "transforms": [ + { + "fallback": "#808080", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "#D90000" + }, + { + "input": true, + "output": "#00AC00" + } + ], + "outputType": "color", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[System]Gateway/Redundancy/Connection/IsConnected" + }, + "transforms": [ + { + "fallback": "No", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "No" + }, + { + "input": true, + "output": "Yes" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderRadius": "4px", + "classes": "Framework/Card/Value", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Peer Connected" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Session/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Session/resource.json new file mode 100644 index 0000000..d7c7720 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Session/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "792b57f291d4c503b5f0012e75e0514c0ad177e464df2fdf0c0f94f514ddfae9", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Session/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Session/thumbnail.png new file mode 100644 index 0000000..c0bff82 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Session/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Session/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Session/view.json new file mode 100644 index 0000000..65c9981 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/Session/view.json @@ -0,0 +1,880 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 300, + "width": 300 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Id" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "session.props.id" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Value" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Id" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Host" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "session.props.host" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Value" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Host" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Locale" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "session.props.locale" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Value" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Locale" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Timezone" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "session.props.timeZoneId" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Value" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Timezone" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Theme" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "session.props.theme" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Value" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Theme" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Authenticated" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "30px", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "session.props.auth.authenticated" + }, + "transforms": [ + { + "fallback": "#808080", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "#D9D900" + }, + { + "input": true, + "output": "#00AC00" + } + ], + "outputType": "color", + "type": "map" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "path": "session.props.auth.authenticated" + }, + "transforms": [ + { + "fallback": "No", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "No" + }, + { + "input": true, + "output": "Yes" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "borderRadius": "4px", + "classes": "Framework/Card/Value", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Authenticated" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "User" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{session.props.auth.user.firstName} + \" \" + {session.props.auth.user.lastName}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Value" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "User" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Username" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "session.props.auth.user.userName" + }, + "transforms": [ + { + "expression": "coalesce({value}, \"--\")", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Value" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Username" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Email" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "session.props.auth.user.email" + }, + "transforms": [ + { + "expression": "coalesce({value}, \"--\")", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Value" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Email" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "User Id" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "coalesce({value}, \"--\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Value" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "User Id" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Roles" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "path": "session.props.auth.user.roles" + }, + "transforms": [ + { + "code": "\tinstances \u003d []\n\tif value !\u003d None:\n\t\tfor role in value:\n\t\t\tinstances.append({\"value\":role, \"align\":\"end\"})\n\treturn instances", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "path": "Diagnostics/Embedded/Label", + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + } + ], + "meta": { + "name": "Roles" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Security Levels" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "session.props.auth.securityLevels" + }, + "transforms": [ + { + "code": "\timport json\n\ttry:\n\t\treturn json.dumps(json.loads(str(value)), indent\u003d4)\n\texcept:\n\t\treturn \"{}\" if value \u003d\u003d None or len(value) \u003d\u003d 0 else value", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "enabled": false, + "style": { + "backgroundColor": "#FFFFFF" + }, + "wrap": "off" + }, + "type": "ia.input.text-area" + } + ], + "meta": { + "name": "Security Levels" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/System Performance/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/System Performance/resource.json new file mode 100644 index 0000000..eeff395 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/System Performance/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "62e47908746843bf2dfc272d610add4c29b44ad37901f1a05730efbd911632c1", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:09Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/System Performance/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/System Performance/thumbnail.png new file mode 100644 index 0000000..891713f Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/System Performance/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/System Performance/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/System Performance/view.json new file mode 100644 index 0000000..ba78160 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/System Performance/view.json @@ -0,0 +1,603 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 200, + "width": 300 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "CPU Usage" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "55px", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[System]Gateway/Performance/CPU Usage" + }, + "transforms": [ + { + "expression": "{value} * 100.0", + "type": "expression" + }, + { + "fallback": "#808080", + "inputType": "range", + "mappings": [ + { + "input": { + "max": 70, + "min": 0 + }, + "output": "#00AC00" + }, + { + "input": { + "max": 80, + "min": 70 + }, + "output": "#D9D900" + }, + { + "input": { + "max": 100, + "min": 90 + }, + "output": "#D90000" + } + ], + "outputType": "color", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[System]Gateway/Performance/CPU Usage" + }, + "transforms": [ + { + "expression": "numberFormat({value}, \"##0.##%\")", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderRadius": "4px", + "classes": "Framework/Card/Value", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "CPU Usage" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Available Disk Space" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[System]Gateway/Performance/Available Disk Space (MB)" + }, + "transforms": [ + { + "expression": "numberFormat(\r\n\tif({value} \u003e\u003d 1024*1024, {value} / (1024*1024),\r\n\tif({value} \u003e\u003d 1024, {value} / 1024,\r\n\t{value})),\r\n\"#,##0.##\") + \r\n\r\nif({value} \u003e\u003d 1024*1024, \"TB\",\r\nif({value} \u003e\u003d 1024, \"GB\",\r\n\"MB\")) ", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Value" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Disk Space" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Disk Utilization" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "55px", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[System]Gateway/Performance/CPU Usage" + }, + "transforms": [ + { + "expression": "{value} * 100.0", + "type": "expression" + }, + { + "fallback": "#808080", + "inputType": "range", + "mappings": [ + { + "input": { + "max": 70, + "min": 0 + }, + "output": "#00AC00" + }, + { + "input": { + "max": 80, + "min": 70 + }, + "output": "#D9D900" + }, + { + "input": { + "max": 100, + "min": 90 + }, + "output": "#D90000" + } + ], + "outputType": "color", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[System]Gateway/Performance/Disk Utilization" + }, + "transforms": [ + { + "expression": "numberFormat({value}, \"##0.##%\")", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderRadius": "4px", + "classes": "Framework/Card/Value", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Disk Utilization" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Max Memory" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[System]Gateway/Performance/Max Memory" + }, + "transforms": [ + { + "expression": "numberFormat(\r\n\tif({value} \u003e\u003d 1024*1024*1024*1024, {value} / (1024*1024*1024*1024),\r\n\tif({value} \u003e\u003d 1024*1024*1024, {value} / (1024*1024*1024),\r\n\tif({value} \u003e\u003d 1024*1024, {value} / (1024*1024),\r\n\tif({value} \u003e\u003d 1024, {value} / 1024,\r\n\t{value})))),\r\n\"#,##0.##\") + \r\n\r\nif({value} \u003e\u003d 1024*1024*1024*1024, \"TB\",\r\nif({value} \u003e\u003d 1024*1024*1024, \"GB\",\r\nif({value} \u003e\u003d 1024*1024, \"MB\",\r\nif({value} \u003e\u003d 1024, \"KB\",\r\n\"B\"))))", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Value" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Max Memory" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Memory Usage" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[System]Gateway/Performance/Memory Usage" + }, + "transforms": [ + { + "expression": "numberFormat(\r\n\tif({value} \u003e\u003d 1024*1024*1024*1024, {value} / (1024*1024*1024*1024),\r\n\tif({value} \u003e\u003d 1024*1024*1024, {value} / (1024*1024*1024),\r\n\tif({value} \u003e\u003d 1024*1024, {value} / (1024*1024),\r\n\tif({value} \u003e\u003d 1024, {value} / 1024,\r\n\t{value})))),\r\n\"#,##0.##\") + \r\n\r\nif({value} \u003e\u003d 1024*1024*1024*1024, \"TB\",\r\nif({value} \u003e\u003d 1024*1024*1024, \"GB\",\r\nif({value} \u003e\u003d 1024*1024, \"MB\",\r\nif({value} \u003e\u003d 1024, \"KB\",\r\n\"B\"))))", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Value" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Memory Usage" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Memory Utilization" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "55px", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[System]Gateway/Performance/CPU Usage" + }, + "transforms": [ + { + "expression": "{value} * 100.0", + "type": "expression" + }, + { + "fallback": "#808080", + "inputType": "range", + "mappings": [ + { + "input": { + "max": 70, + "min": 0 + }, + "output": "#00AC00" + }, + { + "input": { + "max": 80, + "min": 70 + }, + "output": "#D9D900" + }, + { + "input": { + "max": 100, + "min": 90 + }, + "output": "#D90000" + } + ], + "outputType": "color", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[System]Gateway/Performance/Memory Utilization" + }, + "transforms": [ + { + "expression": "numberFormat({value}, \"##0.##%\")", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderRadius": "4px", + "classes": "Framework/Card/Value", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Memory Utilization" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/System/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/System/resource.json new file mode 100644 index 0000000..5646c78 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/System/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "bf7064a1da8fce33c59ecf31a808449d58b18d03cc5feb635dde84c951546495", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:09Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/System/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/System/thumbnail.png new file mode 100644 index 0000000..ca52d8a Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/System/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/System/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/System/view.json new file mode 100644 index 0000000..0283158 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Diagnostics/Embedded/System/view.json @@ -0,0 +1,478 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 200, + "width": 300 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "System Name" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[System]Gateway/SystemName" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Value" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "System Name" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Uptime" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[System]Gateway/UptimeSeconds" + }, + "transforms": [ + { + "expression": "numberFormat(floor({value} / 3600), \"00\") + \":\" +\r\nnumberFormat(floor(({value} % 3600) / 60), \"00\") + \":\" + \r\nnumberFormat(floor((({value} % 3600) % 60)), \"00\")", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Value" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Uptime Seconds" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Timezone" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[System]Gateway/Timezone" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Value" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Timezone" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Current Date/Time" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[System]Gateway/CurrentDateTime" + }, + "transforms": [ + { + "expression": "dateFormat({value}, \"yyyy-MM-dd hh:mm:ss a\")", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Value" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Current Date Time" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Gateway Address" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "session.props.gateway.address" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Value" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Gateway Address" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 1, + "shrink": 1 + }, + "props": { + "style": { + "classes": "Framework/Card/Label" + }, + "text": "Gateway Connected" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value" + }, + "position": { + "basis": "30px", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "session.props.gateway.connected" + }, + "transforms": [ + { + "fallback": "#808080", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "#D90000" + }, + { + "input": true, + "output": "#00AC00" + } + ], + "outputType": "color", + "type": "map" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "path": "session.props.gateway.connected" + }, + "transforms": [ + { + "fallback": "No", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "No" + }, + { + "input": true, + "output": "Yes" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "borderRadius": "4px", + "classes": "Framework/Card/Value", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Gateway Connected" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Framework/Card/Row" + }, + "wrap": "wrap" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Docks/Alarm Windows/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Docks/Alarm Windows/resource.json new file mode 100644 index 0000000..297983c --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Docks/Alarm Windows/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "35a4e16bcc10469a46d2cf689a6d021a995ede7f3f5634f3b83963299c25d7b5", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Docks/Alarm Windows/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Docks/Alarm Windows/thumbnail.png new file mode 100644 index 0000000..a5c2e7b Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Docks/Alarm Windows/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Docks/Alarm Windows/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Docks/Alarm Windows/view.json new file mode 100644 index 0000000..427d170 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Docks/Alarm Windows/view.json @@ -0,0 +1,98 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "width": 260 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Features" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "backActionStyle": { + "backgroundColor": "#5C7080", + "classes": "Menu_All_Header", + "color": "#FFFFFF" + }, + "backActionText": "All Features", + "headerStyle": { + "classes": "Menu_Item_Selected", + "color": "#2E2E2E", + "fontSize": "14px", + "fontWeight": "normal", + "textTransform": "uppercase" + }, + "itemStyle": { + "classes": "Menu_Item", + "color": "#2E2E2E", + "fontSize": "14px", + "fontWeight": "normal" + }, + "items": [ + { + "items": [], + "label": { + "icon": { + "path": "" + }, + "text": "Alarms" + }, + "navIcon": {}, + "showHeader": false, + "target": "/alarms" + }, + { + "items": [], + "label": { + "icon": { + "path": "" + }, + "text": "Alarm History" + }, + "navIcon": {}, + "showHeader": false, + "target": "/alarm_journal" + }, + { + "items": [], + "label": { + "icon": { + "path": "" + }, + "text": "Alarm Analysis" + }, + "navIcon": { + "color": "#6C6C6C", + "path": "" + }, + "showHeader": true, + "target": "/alarm_analysis" + } + ], + "style": { + "backgroundColor": "#DADDE0", + "classes": "Menu" + } + }, + "type": "ia.navigation.menutree" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "Menu" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Docks/Menu/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Docks/Menu/resource.json new file mode 100644 index 0000000..dd00834 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Docks/Menu/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "cab2b04ce03c2e58b6c9e9235ffc00b2c72854635d010cef09b07c107bd8996d", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Docks/Menu/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Docks/Menu/thumbnail.png new file mode 100644 index 0000000..47a225f Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Docks/Menu/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Docks/Menu/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Docks/Menu/view.json new file mode 100644 index 0000000..1cef814 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Docks/Menu/view.json @@ -0,0 +1,187 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "width": 260 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Features" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "props": { + "backActionStyle": { + "backgroundColor": "#5C7080", + "classes": "Menu_All_Header", + "color": "#FFFFFF" + }, + "backActionText": "All Features", + "headerStyle": { + "classes": "Menu_Item_Selected", + "color": "#2E2E2E", + "fontSize": "14px", + "fontWeight": "normal", + "textTransform": "uppercase" + }, + "itemStyle": { + "classes": "Menu_Item", + "color": "#2E2E2E", + "fontSize": "14px", + "fontWeight": "normal" + }, + "items": [ + { + "enabled": true, + "items": [], + "label": { + "icon": { + "path": "material/zoom_out_map" + }, + "text": "Map Overview" + }, + "navIcon": { + "color": "", + "path": "" + }, + "resetOnClick": false, + "showHeader": true, + "style": { + "classes": "" + }, + "target": "/", + "visible": true + }, + { + "items": [], + "label": { + "icon": { + "path": "material/home" + }, + "text": "Process Overviews" + }, + "navIcon": { + "color": "#6C6C6C", + "path": "" + }, + "showHeader": true, + "target": "/site_menu" + }, + { + "items": [], + "label": { + "icon": { + "path": "material/alarm" + }, + "text": "Alarm Windows" + }, + "navIcon": {}, + "showHeader": false, + "target": "/alarm_windows" + }, + { + "enabled": true, + "items": [], + "label": { + "icon": { + "path": "material/tab" + }, + "text": "Trends" + }, + "navIcon": { + "color": "#6C6C6C", + "path": "" + }, + "showHeader": true, + "style": { + "classes": "" + }, + "target": "/trends", + "visible": true + }, + { + "enabled": true, + "items": [], + "label": { + "icon": { + "path": "material/pending_actions" + }, + "text": "Audit Log" + }, + "navIcon": { + "color": "#6C6C6C", + "path": "" + }, + "showHeader": true, + "style": { + "classes": "" + }, + "target": "/audit_log", + "visible": true + }, + { + "enabled": true, + "items": [], + "label": { + "icon": { + "path": "material/trending_up" + }, + "text": "Diagnostics" + }, + "navIcon": { + "color": "#6C6C6C", + "path": "" + }, + "showHeader": true, + "style": { + "classes": "" + }, + "target": "/diagnostics", + "visible": true + }, + { + "enabled": true, + "items": [], + "label": { + "icon": { + "path": "material/filter" + }, + "text": "Reports" + }, + "navIcon": { + "color": "", + "path": "" + }, + "showHeader": true, + "style": { + "classes": "" + }, + "target": "/report", + "visible": true + } + ], + "style": { + "backgroundColor": "#DADDE0", + "classes": "Menu" + } + }, + "type": "ia.navigation.menutree" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "Menu" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Docks/Site Menu/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Docks/Site Menu/resource.json new file mode 100644 index 0000000..4c46042 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Docks/Site Menu/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "ad72de2094099cf22a6e6faed0496e363fca9cca9b295901bd21ecfc02cb02ac", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Docks/Site Menu/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Docks/Site Menu/thumbnail.png new file mode 100644 index 0000000..93fe087 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Docks/Site Menu/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Docks/Site Menu/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Docks/Site Menu/view.json new file mode 100644 index 0000000..0111080 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Docks/Site Menu/view.json @@ -0,0 +1,100 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "width": 260 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Features" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "backActionStyle": { + "backgroundColor": "#5C7080", + "classes": "Menu_All_Header", + "color": "#FFFFFF" + }, + "backActionText": "All Features", + "headerStyle": { + "classes": "Menu_Item_Selected", + "color": "#2E2E2E", + "fontSize": "14px", + "fontWeight": "normal", + "textTransform": "uppercase" + }, + "itemStyle": { + "classes": "Menu_Item", + "color": "#2E2E2E", + "fontSize": "14px", + "fontWeight": "normal" + }, + "items": [ + { + "enabled": true, + "items": [], + "label": { + "icon": { + "path": "" + }, + "text": "Prime Process Objects Demo" + }, + "navIcon": { + "color": "", + "path": "" + }, + "showHeader": true, + "style": { + "classes": "" + }, + "target": "/hmi_demo", + "visible": true + }, + { + "enabled": true, + "items": [], + "label": { + "icon": { + "path": "" + }, + "text": "PLANTPAX INSTANCES" + }, + "navIcon": { + "color": "", + "path": "" + }, + "resetOnClick": false, + "showHeader": true, + "style": { + "classes": "" + }, + "target": "/plantpax", + "visible": true + } + ], + "style": { + "backgroundColor": "#DADDE0", + "classes": "Menu" + } + }, + "type": "ia.navigation.menutree" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "Menu" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Framework/Card/Card/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Framework/Card/Card/resource.json new file mode 100644 index 0000000..7964fe2 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Framework/Card/Card/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "c7ac0bab2a9bbaeba6f48ae360fe240a3c56af31f47f1a4a1f3250b2bdb79d73", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Framework/Card/Card/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Framework/Card/Card/thumbnail.png new file mode 100644 index 0000000..37e3a2f Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Framework/Card/Card/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Framework/Card/Card/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Framework/Card/Card/view.json new file mode 100644 index 0000000..f7b284c --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Framework/Card/Card/view.json @@ -0,0 +1,131 @@ +{ + "custom": {}, + "params": { + "params": {}, + "path": "", + "title": "Card Title", + "useDefaultHeight": false, + "useDefaultWidth": false + }, + "propConfig": { + "params.params": { + "paramDirection": "input", + "persistent": true + }, + "params.path": { + "paramDirection": "input", + "persistent": true + }, + "params.title": { + "paramDirection": "input", + "persistent": true + }, + "params.useDefaultHeight": { + "paramDirection": "input", + "persistent": true + }, + "params.useDefaultWidth": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 339, + "width": 369 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "20px", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.title" + }, + "type": "property" + } + } + }, + "props": { + "alignVertical": "center", + "style": { + "classes": "Framework/Card/Title" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "EmbeddedView" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.params": { + "binding": { + "config": { + "path": "view.params.params" + }, + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "path": "view.params.path" + }, + "type": "property" + } + }, + "props.useDefaultViewHeight": { + "binding": { + "config": { + "path": "view.params.useDefaultHeight" + }, + "type": "property" + } + }, + "props.useDefaultViewWidth": { + "binding": { + "config": { + "path": "view.params.useDefaultWidth" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Framework/Card/Embedded" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "Framework/Card/Card" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Framework/Table Card Layout/Cards/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Framework/Table Card Layout/Cards/resource.json new file mode 100644 index 0000000..52f85dd --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Framework/Table Card Layout/Cards/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "dfab2173c58c34daed68dcf1f2810aa1412ef2231ea1a576279eea674c327c6a", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Framework/Table Card Layout/Cards/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Framework/Table Card Layout/Cards/thumbnail.png new file mode 100644 index 0000000..8cb03c0 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Framework/Table Card Layout/Cards/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Framework/Table Card Layout/Cards/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Framework/Table Card Layout/Cards/view.json new file mode 100644 index 0000000..52b5da6 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Framework/Table Card Layout/Cards/view.json @@ -0,0 +1,123 @@ +{ + "custom": {}, + "params": { + "data": [], + "viewPath": "" + }, + "propConfig": { + "params.data": { + "paramDirection": "input" + }, + "params.key": { + "paramDirection": "input" + }, + "params.viewPath": { + "paramDirection": "input" + } + }, + "props": { + "defaultSize": { + "width": 786 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Cards" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.instances": { + "binding": { + "config": { + "path": "view.params.data" + }, + "transforms": [ + { + "code": "\treturn value[0:25]", + "type": "script" + } + ], + "type": "property" + } + }, + "props.path": { + "binding": { + "config": { + "path": "view.params.viewPath" + }, + "type": "property" + } + } + }, + "props": { + "direction": "column", + "elementPosition": { + "basis": "auto", + "grow": 0, + "shrink": 0 + }, + "style": { + "overflow": "visible" + }, + "useDefaultViewHeight": false, + "useDefaultViewWidth": false + }, + "type": "ia.display.flex-repeater" + }, + { + "meta": { + "hasDelegate": true, + "name": "Empty" + }, + "position": { + "basis": "auto", + "display": true, + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "../Cards.props.instances" + }, + "transforms": [ + { + "code": "\treturn \"No data available in table\" if len(value) \u003d\u003d 0 else \"\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#2E2E2E", + "fontSize": "12px", + "fontStyle": "italic", + "textTransform": "uppercase" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Framework/Table Card Layout/Responsive View/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Framework/Table Card Layout/Responsive View/resource.json new file mode 100644 index 0000000..d5775a0 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Framework/Table Card Layout/Responsive View/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "774f153c8365248b2e5beb302dd6cbf6343c108343666ccc5b20c3caa173aa18", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Framework/Table Card Layout/Responsive View/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Framework/Table Card Layout/Responsive View/thumbnail.png new file mode 100644 index 0000000..b3358e7 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Framework/Table Card Layout/Responsive View/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Framework/Table Card Layout/Responsive View/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Framework/Table Card Layout/Responsive View/view.json new file mode 100644 index 0000000..0ec04f3 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Framework/Table Card Layout/Responsive View/view.json @@ -0,0 +1,185 @@ +{ + "custom": {}, + "params": { + "cardViewPath": "", + "config": [], + "data": [], + "filterEnabled": false, + "header": true, + "pager": true, + "rowsPerPage": 25, + "tableMinHeight": 0 + }, + "propConfig": { + "params.aqwerda": { + "paramDirection": "input" + }, + "params.cardViewPath": { + "paramDirection": "input" + }, + "params.config": { + "paramDirection": "input" + }, + "params.data": { + "paramDirection": "input" + }, + "params.filter": { + "paramDirection": "input" + }, + "params.filterEnabled": { + "paramDirection": "input", + "persistent": true + }, + "params.head": { + "paramDirection": "input" + }, + "params.header": { + "paramDirection": "input" + }, + "params.pager": { + "paramDirection": "input" + }, + "params.row": { + "paramDirection": "input" + }, + "params.rows": { + "paramDirection": "input" + }, + "params.rowsPer": { + "paramDirection": "input" + }, + "params.rowsPerPag": { + "paramDirection": "input" + }, + "params.rowsPerPage": { + "paramDirection": "input" + }, + "params.tableMinHeight": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 857, + "width": 928 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Table" + }, + "position": { + "size": "large" + }, + "propConfig": { + "props.params.config": { + "binding": { + "config": { + "path": "view.params.config" + }, + "type": "property" + } + }, + "props.params.data": { + "binding": { + "config": { + "path": "view.params.data" + }, + "type": "property" + } + }, + "props.params.filterEnabled": { + "binding": { + "config": { + "path": "view.params.filterEnabled" + }, + "type": "property" + } + }, + "props.params.header": { + "binding": { + "config": { + "path": "view.params.header" + }, + "type": "property" + } + }, + "props.params.pager": { + "binding": { + "config": { + "path": "view.params.pager" + }, + "type": "property" + } + }, + "props.params.rowsPerPage": { + "binding": { + "config": { + "path": "view.params.rowsPerPage" + }, + "type": "property" + } + }, + "props.style.minHeight": { + "binding": { + "config": { + "path": "view.params.tableMinHeight" + }, + "type": "property" + } + } + }, + "props": { + "path": "Framework/Table Card Layout/Table" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Cards" + }, + "propConfig": { + "props.params.data": { + "binding": { + "config": { + "path": "view.params.data" + }, + "type": "property" + } + }, + "props.params.viewPath": { + "binding": { + "config": { + "path": "view.params.cardViewPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Framework/Table Card Layout/Cards", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "custom": { + "filterEnabled": false + }, + "meta": { + "name": "root" + }, + "props": { + "breakpoint": 650, + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.breakpt" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Framework/Table Card Layout/Table/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Framework/Table Card Layout/Table/resource.json new file mode 100644 index 0000000..477652a --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Framework/Table Card Layout/Table/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "d2a7e540e7ba366f0d3e00e76bac26e9e6c09552dcc7a6b784cdfbd8023a6b00", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:09Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Framework/Table Card Layout/Table/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Framework/Table Card Layout/Table/thumbnail.png new file mode 100644 index 0000000..beebda0 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Framework/Table Card Layout/Table/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Framework/Table Card Layout/Table/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Framework/Table Card Layout/Table/view.json new file mode 100644 index 0000000..09594d9 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Framework/Table Card Layout/Table/view.json @@ -0,0 +1,151 @@ +{ + "custom": {}, + "params": { + "config": [], + "data": [], + "filterEnabled": false, + "header": true, + "pager": true, + "rowsPerPage": 10 + }, + "propConfig": { + "params.config": { + "paramDirection": "input" + }, + "params.data": { + "paramDirection": "input" + }, + "params.filterEnabled": { + "paramDirection": "input", + "persistent": true + }, + "params.header": { + "paramDirection": "input" + }, + "params.page": { + "paramDirection": "input" + }, + "params.pager": { + "paramDirection": "input" + }, + "params.r": { + "paramDirection": "input" + }, + "params.rows": { + "paramDirection": "input" + }, + "params.rowsPe": { + "paramDirection": "input" + }, + "params.rowsPer": { + "paramDirection": "input" + }, + "params.rowsPerP": { + "paramDirection": "input" + }, + "params.rowsPerPag": { + "paramDirection": "input" + }, + "params.rowsPerPage": { + "paramDirection": "input" + }, + "params.rowsPerp": { + "paramDirection": "input" + } + }, + "props": { + "defaultSize": { + "width": 1657 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Table" + }, + "position": { + "basis": "300px", + "grow": 1, + "shrink": 0 + }, + "propConfig": { + "props.columns": { + "binding": { + "config": { + "path": "view.params.config" + }, + "transforms": [ + { + "code": "\tretObj \u003d []\n\ttry:\n\t\tfor i in range(len(value)):\n\t\t\trowDict \u003d {\n\t\t\t\t\"field\": value[i][\"column\"],\n\t\t\t\t\"render\": \"view\" if len(value[i][\"viewPath\"]) else (value[i][\u0027render\u0027] if \u0027render\u0027 in value[i] else \"auto\"),\n\t\t\t\t\"align\": \"auto\" if len(value[i][\"viewPath\"]) else value[i][\"align\"],\n\t\t\t\t\"resizable\": True,\n\t\t\t\t\"sortable\": True,\n\t\t\t\t\"viewPath\": value[i][\"viewPath\"],\n\t\t\t\t\"numberFormat\": \"0,0.##\",\n\t\t\t\t\"dateFormat\": \"MM/DD/YYYY\",\n\t\t\t\t#\"width\": value[i][\"width\"],\n\t\t\t\t\"style\": {\n\t\t\t\t\t\"classes\": \"\"\n\t\t\t\t},\n\t\t\t\t\"header\": {\n\t\t\t\t\t\"title\": value[i][\"title\"],\n\t\t\t\t\t\"align\": value[i][\"align\"],\n\t\t\t\t\t\"style\": {\n\t\t\t\t\t\t\"classes\": \"\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\ttry:\n\t\t\t\trowDict[\"width\"] \u003d value[i][\"width\"];\n\t\t\texcept:\n\t\t\t\tpass\n\t\t\t\t\n\t\t\tretObj.append(rowDict)\n\texcept:\n\t\tpass\n\treturn retObj", + "type": "script" + } + ], + "type": "property" + } + }, + "props.data": { + "binding": { + "config": { + "path": "view.params.data" + }, + "transforms": [ + { + "code": "\tif len(value) \u003e 0:\n\t\treturn value\n\ttry:\n\t\temptyRow \u003d {}\n\t\tfor i in range(len(self.view.params.config)):\n\t\t\temptyRow[self.view.params.config[i][\u0027title\u0027]] \u003d \u0027\u0027 \n\t\treturn [emptyRow]\n\texcept:\n\t\treturn [{\"Table\":\"\"}]", + "type": "script" + } + ], + "type": "property" + } + }, + "props.filter.enabled": { + "binding": { + "config": { + "path": "view.params.filterEnabled" + }, + "type": "property" + } + }, + "props.pager.bottom": { + "binding": { + "config": { + "path": "view.params.pager" + }, + "type": "property" + } + }, + "props.pager.initialOption": { + "binding": { + "config": { + "path": "view.params.rowsPerPage" + }, + "type": "property" + } + } + }, + "props": { + "filter": {}, + "minRowHeight": 40, + "pager": {}, + "selection": { + "enableRowSelection": false, + "selectedColumn": "priority", + "selectedRow": 3 + }, + "style": { + "maxWidth": "100vw", + "width": "100%" + } + }, + "type": "ia.display.table" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Header BP Large/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Header BP Large/resource.json new file mode 100644 index 0000000..0248b6b --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Header BP Large/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "0292434aa875a8766faaaeeb3a4f626ed19a669227fbca086d9b321eeb801d84", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Header BP Large/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Header BP Large/thumbnail.png new file mode 100644 index 0000000..6eb92c9 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Header BP Large/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Header BP Large/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Header BP Large/view.json new file mode 100644 index 0000000..6ba0e12 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Header BP Large/view.json @@ -0,0 +1,48 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 58, + "width": 818 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Header Large" + }, + "position": { + "size": "large" + }, + "props": { + "params": { + "menuSize": "large" + }, + "path": "Header/Header" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Header BP Medium" + }, + "props": { + "path": "Header/Header BP Medium" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "breakpoint": 1024, + "style": { + "classes": "Header" + } + }, + "type": "ia.container.breakpt" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Header BP Medium/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Header BP Medium/resource.json new file mode 100644 index 0000000..749b2e7 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Header BP Medium/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "5e26861fe62995201db9f63ff4210419ce6295fa5953783ce7998c715acdcd99", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Header BP Medium/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Header BP Medium/thumbnail.png new file mode 100644 index 0000000..56855b5 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Header BP Medium/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Header BP Medium/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Header BP Medium/view.json new file mode 100644 index 0000000..e3d5526 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Header BP Medium/view.json @@ -0,0 +1,51 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 58, + "width": 306 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Header Medium" + }, + "position": { + "size": "large" + }, + "props": { + "params": { + "menuSize": "medium" + }, + "path": "Header/Header" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Header Small" + }, + "props": { + "params": { + "menuSize": "small" + }, + "path": "Header/Header" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "breakpoint": 500, + "style": { + "classes": "Header" + } + }, + "type": "ia.container.breakpt" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Header/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Header/resource.json new file mode 100644 index 0000000..012c53d --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Header/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "7795cbe487f62065350b2fd96190b5713840fb98417069140f05606cf87fe94c", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Header/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Header/thumbnail.png new file mode 100644 index 0000000..f13ed3f Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Header/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Header/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Header/view.json new file mode 100644 index 0000000..9647334 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Header/view.json @@ -0,0 +1,613 @@ +{ + "custom": { + "label": {} + }, + "params": { + "menuSize": "large" + }, + "propConfig": { + "custom.label.basis": { + "binding": { + "config": { + "path": "view.params.menuSize" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": "small", + "output": 0 + }, + { + "input": "medium", + "output": "auto" + }, + { + "input": "large", + "output": "auto" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.label.spacerBasis": { + "binding": { + "config": { + "path": "view.params.menuSize" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": "small", + "output": "0px" + }, + { + "input": "medium", + "output": "16px" + }, + { + "input": "large", + "output": "16px" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "custom.label.visible": { + "binding": { + "config": { + "path": "view.params.menuSize" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": "small", + "output": false + }, + { + "input": "medium", + "output": true + }, + { + "input": "large", + "output": true + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "params.key": { + "paramDirection": "input" + }, + "params.menuSize": { + "paramDirection": "input" + } + }, + "props": { + "defaultSize": { + "height": 58 + } + }, + "root": { + "children": [ + { + "meta": { + "hasDelegate": true, + "name": "Spacer Start" + }, + "position": { + "basis": "16px", + "shrink": 0 + }, + "props": { + "text": " " + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "basis": "175px" + }, + "props": { + "fit": { + "mode": "contain" + }, + "source": "/system/images/Prime Logo Medium.png", + "tint": { + "color": "#FFFFFF" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "hasDelegate": true, + "name": "Filler" + }, + "position": { + "grow": 1 + }, + "props": { + "text": " " + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "securityLevels": [ + "/Authenticated" + ] + }, + "scope": "C", + "type": "login" + } + } + }, + "meta": { + "name": "User" + }, + "position": { + "basis": "30px", + "shrink": 0 + }, + "props": { + "color": "#000000", + "path": "material/person", + "style": { + "classes": "", + "color": "#FFFFFF", + "cursor": "pointer" + } + }, + "type": "ia.display.icon" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "securityLevels": [ + "/Authenticated" + ] + }, + "scope": "C", + "type": "login" + } + } + }, + "meta": { + "hasDelegate": true, + "name": "Sign In" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.custom.label.visible" + }, + "type": "property" + } + }, + "position.basis": { + "binding": { + "config": { + "path": "view.custom.label.basis" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "path": "session.props.auth.user.userName" + }, + "transforms": [ + { + "expression": "if({value} \u003d null || len({value}) \u003d 0, \"Sign In\", {value})", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#000000", + "cursor": "pointer", + "marginLeft": "4px" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "hasDelegate": true, + "name": "Spacer 1" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.custom.label.visible" + }, + "type": "property" + } + }, + "position.basis": { + "binding": { + "config": { + "path": "view.custom.label.spacerBasis" + }, + "type": "property" + } + } + }, + "props": { + "text": " " + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "draggable": false, + "id": "alarm-popup", + "modal": false, + "overlayDismiss": true, + "position": { + "height": 350, + "right": 10, + "top": 50, + "width": 350 + }, + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewPath": "Header/Popups/Alarms" + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "Alarm Icon" + }, + "position": { + "basis": "26px", + "shrink": 0 + }, + "propConfig": { + "props.style.display": { + "binding": { + "config": { + "path": "view.params.menuSize" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": "small", + "output": "none" + }, + { + "input": "medium", + "output": "inline" + }, + { + "input": "large", + "output": "inline" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "color": "#000000", + "path": "material/alarm", + "style": { + "classes": "", + "cursor": "pointer" + } + }, + "type": "ia.display.icon" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "draggable": false, + "id": "alarm-popup", + "modal": false, + "overlayDismiss": true, + "position": { + "height": 350, + "right": 10, + "top": 50, + "width": 350 + }, + "resizable": true, + "showCloseIcon": false, + "type": "open", + "viewPath": "Header/Popups/Alarms" + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "hasDelegate": true, + "name": "Alarms" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "custom.numAlarms": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\treturn len(system.alarm.queryStatus(state\u003d[\"ActiveUnacked\"]))", + "type": "script" + } + ], + "type": "expr" + } + }, + "meta.visible": { + "binding": { + "config": { + "bidirectional": false, + "path": "view.custom.label.visible" + }, + "type": "property" + } + }, + "position.basis": { + "binding": { + "config": { + "bidirectional": false, + "path": "view.custom.label.basis" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "path": "this.custom.numAlarms" + }, + "transforms": [ + { + "expression": "numberFormat({value}, \"#,##0\") + \" alarm\" + if({value} \u003e 1 || {value} \u003d 0, \"s\", \"\")", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "color": "#000000", + "cursor": "pointer", + "marginLeft": "6px" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "draggable": false, + "id": "options-popup", + "modal": false, + "overlayDismiss": true, + "position": { + "height": 84, + "right": 10, + "top": 50, + "width": 200 + }, + "resizable": true, + "showCloseIcon": true, + "title": "Options", + "type": "toggle", + "viewPath": "Header/Popups/Options" + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "Options" + }, + "position": { + "basis": "30px", + "shrink": 0 + }, + "propConfig": { + "props.style.display": { + "binding": { + "config": { + "path": "view.params.menuSize" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": "small", + "output": "inline" + }, + { + "input": "medium", + "output": "none" + }, + { + "input": "large", + "output": "none" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "color": "#000000", + "path": "material/more_vert", + "style": { + "classes": "Header", + "cursor": "pointer" + } + }, + "type": "ia.display.icon" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "id": "menu", + "type": "toggle" + }, + "scope": "C", + "type": "dock" + } + } + }, + "meta": { + "name": "Menu Dock" + }, + "position": { + "basis": "24px", + "shrink": 0 + }, + "propConfig": { + "props.style.display": { + "binding": { + "config": { + "path": "view.params.menuSize" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": "small", + "output": "inline" + }, + { + "input": "medium", + "output": "inline" + }, + { + "input": "large", + "output": "none" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "color": "#000000", + "path": "material/menu", + "style": { + "backgroundColor": "#FFFFFF00", + "classes": "", + "cursor": "pointer", + "marginLeft": "10px", + "marginRight": "10px" + } + }, + "type": "ia.display.icon" + }, + { + "meta": { + "hasDelegate": true, + "name": "Spacer End" + }, + "position": { + "basis": "16px", + "shrink": 0 + }, + "props": { + "text": " " + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "classes": "Header" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Popups/Acknowledge/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Popups/Acknowledge/resource.json new file mode 100644 index 0000000..8a4c313 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Popups/Acknowledge/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "77aab9da6f701d4f39693c1a20247a396d8ab4eacb8cd7813d4c95105c5c7459", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:09Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Popups/Acknowledge/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Popups/Acknowledge/thumbnail.png new file mode 100644 index 0000000..4a66580 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Popups/Acknowledge/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Popups/Acknowledge/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Popups/Acknowledge/view.json new file mode 100644 index 0000000..1fbe433 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Popups/Acknowledge/view.json @@ -0,0 +1,247 @@ +{ + "root": { + "type": "ia.container.flex", + "props": { + "style": { + "overflow": "hidden" + } + }, + "meta": { + "name": "root" + }, + "children": [ + { + "type": "ia.input.button", + "props": { + "text": "Acknowledge", + "style": { + "padding": "5px", + "height": "100%" + } + }, + "meta": { + "name": "Ack Button" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "propConfig": { + "position.basis": { + "binding": { + "type": "expr", + "config": { + "expression": "if(!{view.custom.alarm.isAcked}, \"100%\", \"0px\")" + } + } + }, + "meta.visible": { + "binding": { + "type": "expr", + "config": { + "expression": "!{view.custom.alarm.isAcked}" + } + } + } + }, + "events": { + "dom": { + "onClick": { + "scope": "G", + "type": "script", + "config": { + "script": "\t\n\talarmId \u003d self.view.custom.alarm.id\n\tuser \u003d \"System\"\n\ttry:\n\t\tif self.session.auth.user.userName !\u003d None and self.session.auth.user.userName !\u003d \"\":\n\t\t\tuser \u003d self.session.auth.user.userName\n\texcept:\n\t\tpass\n\tsystem.alarm.acknowledge([alarmId], \"\", user)\n" + }, + "enabled": null, + "permissions": { + "type": "AllOf", + "securityLevels": [] + } + } + } + } + }, + { + "type": "ia.container.flex", + "props": { + "wrap": "wrap", + "style": { + "overflow": "visible", + "fontSize": "0.9em" + } + }, + "meta": { + "name": "Ack Data" + }, + "position": { + "grow": 1, + "shrink": 0 + }, + "propConfig": { + "position.basis": { + "binding": { + "type": "expr", + "config": { + "expression": "if(!{view.custom.alarm.isAcked}, \"0px\", \"100%\")" + } + } + }, + "meta.visible": { + "binding": { + "type": "property", + "config": { + "path": "view.custom.alarm.isAcked" + } + } + } + }, + "children": [ + { + "type": "ia.display.label", + "props": { + "alignVertical": "center", + "style": { + "marginBottom": "-5px" + } + }, + "meta": { + "name": "Label", + "hasDelegate": true + }, + "position": { + "grow": 0, + "shrink": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "type": "property", + "config": { + "path": "view.custom.alarm.eventTime" + } + } + }, + "position.basis": { + "binding": { + "type": "expr", + "config": { + "expression": "if(!{view.custom.alarm.isAcked}, \"0px\", \"auto\")" + } + } + } + } + }, + { + "type": "ia.display.label", + "props": { + "alignVertical": "center", + "style": { + "marginLeft": "5px", + "marginBottom": "-5px" + } + }, + "meta": { + "name": "Label_0", + "hasDelegate": true + }, + "position": { + "grow": 0, + "shrink": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "type": "property", + "config": { + "path": "view.custom.alarm.ackUser" + }, + "transforms": [ + { + "expression": "\"by \" + coalesce({value}, \"System\")", + "type": "expression" + } + ] + } + }, + "position.basis": { + "binding": { + "type": "expr", + "config": { + "expression": "if(!{view.custom.alarm.isAcked}, \"0px\", \"auto\")" + } + } + } + } + } + ] + } + ] + }, + "props": { + "defaultSize": { + "width": 323, + "height": 30 + } + }, + "custom": {}, + "params": { + "value": "{\"isAcked\":true, \"eventTime\":\"9/21/18 04:00:00 AM\", \"ackUser\":\"System\", \"id\":0}" + }, + "propConfig": { + "params.value2": { + "paramDirection": "input" + }, + "params.key": { + "paramDirection": "input" + }, + "params.va;lu": { + "paramDirection": "input" + }, + "params.a": { + "paramDirection": "input" + }, + "params.ac": { + "paramDirection": "input" + }, + "params.val": { + "paramDirection": "input" + }, + "params.value": { + "paramDirection": "input" + }, + "params.va;l": { + "paramDirection": "input" + }, + "params.ack": { + "paramDirection": "input" + }, + "params.va;": { + "paramDirection": "input" + }, + "params.valu": { + "paramDirection": "input" + }, + "params.valu2": { + "paramDirection": "input" + }, + "params.va": { + "paramDirection": "input" + }, + "custom.alarm": { + "binding": { + "type": "property", + "config": { + "path": "view.params.value" + }, + "transforms": [ + { + "code": "\t\n\treturn system.util.jsonDecode(value)\n", + "type": "script" + } + ] + } + } + }, + "events": null, + "permissions": null +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Popups/Alarms/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Popups/Alarms/resource.json new file mode 100644 index 0000000..a3ce68d --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Popups/Alarms/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "4af3a0961d1b3e0a0c2bc9e759f8b51b944a00f924502c7ffa6ae851854e581c", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Popups/Alarms/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Popups/Alarms/thumbnail.png new file mode 100644 index 0000000..c3e0124 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Popups/Alarms/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Popups/Alarms/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Popups/Alarms/view.json new file mode 100644 index 0000000..7349945 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Popups/Alarms/view.json @@ -0,0 +1,199 @@ +{ + "custom": {}, + "params": {}, + "propConfig": { + "custom.states[1]": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 350, + "width": 400 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Title" + }, + "position": { + "basis": "54px", + "shrink": 0 + }, + "props": { + "params": { + "icon": "material/alarm", + "label": "Active Alarms", + "popupId": "alarm-popup" + }, + "path": "Header/Popups/Popup Title" + }, + "type": "ia.display.view" + }, + { + "custom": { + "data": null + }, + "meta": { + "name": "Label" + }, + "position": { + "basis": "0px", + "shrink": 0 + }, + "props": { + "style": { + "classes": "Alarm_Label_None", + "overflow": "hidden" + }, + "text": "No Unackowledged Alarms" + }, + "type": "ia.display.label" + }, + { + "custom": { + "states": [ + "ActiveUnacked", + "ActiveAcked" + ] + }, + "meta": { + "name": "Table_0" + }, + "position": { + "basis": "600px", + "grow": 1 + }, + "propConfig": { + "custom.data": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tdata \u003d self.getAlarms(value, None)\n\tif data is not None and len(data) \u003e 0:\n\t\tself.props.data \u003d data\n\t\tself.position.basis \u003d \u0027600px\u0027\n\t\tself.getSibling(\u0027Label\u0027).position.basis \u003d \u00270px\u0027\n\telse:\n\t\tself.props.data \u003d [{\"name\":\"\", \"ack\":\"\", \"displayPath\":\"\"}]\n\t\tself.position.basis \u003d \u00270px\u0027\n\t\tself.getSibling(\u0027Label\u0027).position.basis \u003d \u0027auto\u0027\n\treturn data", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "columns": [ + { + "field": "displayPath", + "header": { + "align": "left", + "style": { + "classes": "" + }, + "title": "Site" + } + }, + { + "field": "name", + "header": { + "align": "left", + "style": { + "classes": "" + }, + "title": "Alarm" + } + }, + { + "field": "ack", + "header": { + "align": "left", + "style": { + "classes": "" + }, + "title": "Acknowledge" + }, + "render": "auto", + "viewPath": "Header/Popups/Acknowledge", + "width": 120 + } + ], + "data": [ + { + "ack": "{\"setpointA\":\"1.0\",\"activePipeline\":\"Jetta/CDP Alarms\",\"isAcked\":true,\"name\":\"Global_PLC_Comms_Fail\",\"eventTime\":\"5/31/22 03:06:30 PM\",\"label\":\"{PerspectivePage}Prime_L24_CDP\",\"displayPath\":\"Prime_L24_CDP \",\"id\":\"d624d2ed-7626-455e-b620-31a92c5a257b\",\"ackUser\":\"usr:System\",\"ackPipeline\":\"Jetta/CDP Alarms\"}", + "displayPath": "Prime_L24_CDP ", + "id": "d624d2ed-7626-455e-b620-31a92c5a257b", + "name": "Global_PLC_Comms_Fail", + "priority": "Low", + "priorityOrdinal": 1, + "state": 3, + "stateOrder": 2, + "timestamp": "5/18/22 07:15:37 PM", + "timestampMS": { + "$": [ + "ts", + 192, + 1654027656470 + ], + "$ts": 1652919337111 + }, + "value": "True" + }, + { + "ack": "{\"setpointA\":\"1.0\",\"activePipeline\":\"Jetta/CDP Alarms\",\"isAcked\":true,\"name\":\"HOA_Not_In_Auto\",\"eventTime\":\"5/31/22 03:06:32 PM\",\"label\":\"{PerspectivePage}Prime_L24_CDP\",\"displayPath\":\"Prime_L24_CDP \",\"id\":\"8e75076e-4667-473a-b267-b3b52005c719\",\"ackUser\":\"usr:System\",\"ackPipeline\":\"Jetta/CDP Alarms\"}", + "displayPath": "Prime_L24_CDP ", + "id": "8e75076e-4667-473a-b267-b3b52005c719", + "name": "HOA_Not_In_Auto", + "priority": "Low", + "priorityOrdinal": 1, + "state": 3, + "stateOrder": 2, + "timestamp": "5/18/22 07:15:37 PM", + "timestampMS": { + "$": [ + "ts", + 192, + 1654027656470 + ], + "$ts": 1652919337106 + }, + "value": "1" + } + ], + "minRowHeight": 40, + "pager": { + "bottom": false + }, + "selection": { + "enableRowSelection": false + }, + "style": { + "background": "white" + } + }, + "scripts": { + "customMethods": [ + { + "name": "getAlarms", + "params": [ + "value", + "app" + ], + "script": "\tstates \u003d []\n\tfor i in range(len(self.custom.states)):\n\t\tstates.append(self.custom.states[i])\n\talarms \u003d system.alarm.queryStatus(state\u003dstates, all_properties\u003d[(\u0027App\u0027, \u0027\u003d\u0027, app)])\n\tdata \u003d []\n\tfor alarm in alarms:\n\t\tdisplayPath \u003d alarm.getDisplayPath()\n\t\tpriority \u003d alarm.getPriority()\n\t\tpriorityOrdinal \u003d alarm.getPriority().ordinal()\n\t\tstate \u003d alarm.getState().ordinal() #0\u003dClearUnacked, 1\u003dClearAcked, 2\u003dActiveUnacked, 3\u003dActiveAcked\n\t\tstateOrder \u003d [1,0,3,2].index(state)\n\t\tid \u003d alarm.getId()\n\t\tname \u003d alarm.getName()\n\t\t\n\t\ttimestamp \u003d None\n\t\ttimestampMS \u003d None\n\t\teventValue \u003d None\n\t\t\n\t\tactive \u003d {}\n\t\tif alarm.getActiveData() !\u003d None:\n\t\t\tfor prop in alarm.getActiveData().getValues():\n\t\t\t\tactive[prop.getProperty().getName()] \u003d prop.getValue()\n\t\t\t\n\t\tclear \u003d {}\n\t\tif alarm.getClearedData() !\u003d None:\n\t\t\tfor prop in alarm.getClearedData().getValues():\n\t\t\t\tclear[prop.getProperty().getName()] \u003d prop.getValue()\n\t\t\n\t\tstateDict \u003d active if state in [2,3] else clear\n\t\tif \"eventTime\" in stateDict:\n\t\t\ttimestamp \u003d system.date.format(stateDict[\"eventTime\"], \"M/d/yy hh:mm:ss a\")\n\t\t\ttimestampMS \u003d stateDict[\"eventTime\"]\n\t\t\n\t\tif \"eventValue\" in stateDict:\n\t\t\teventValue \u003d str(stateDict[\"eventValue\"])\n\t\t\n\t\tack \u003d {\"isAcked\":False, \"id\":id}\n\t\tif state in [1,3]:\n\t\t\tack[\"isAcked\"] \u003d True\n\t\t\tfor prop in alarm.getAckData().getValues():\n\t\t\t\tpropValue \u003d str(prop.getValue())\n\t\t\t\tif prop.getProperty().getName() \u003d\u003d \"eventTime\":\n\t\t\t\t\tpropValue \u003d system.date.format(prop.getValue(), \"M/d/yy hh:mm:ss a\")\n\t\t\t\tack[prop.getProperty().getName()] \u003d propValue\n\t\tack \u003d system.util.jsonEncode(ack)\n\t\t\n\t\tdata.append({\"id\":id, \"displayPath\":displayPath, \"name\":name, \"priority\":priority, \"priorityOrdinal\":priorityOrdinal, \"state\":state, \"stateOrder\":stateOrder, \"timestamp\":timestamp, \"timestampMS\":timestampMS, \"value\":eventValue, \"ack\":ack})\n\t\n\tdata.sort(key\u003dlambda x: (x[\"stateOrder\"], x[\"priorityOrdinal\"], x[\"timestampMS\"]), reverse\u003dTrue)\n\treturn data" + } + ], + "extensionFunctions": null, + "messageHandlers": [] + }, + "type": "ia.display.table" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Popups/Options/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Popups/Options/resource.json new file mode 100644 index 0000000..dae3d06 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Popups/Options/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "768aac5d936b87f05b63c7c018ea6480f7a54ab044935f60e4ff06ebe0b4b51a", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Popups/Options/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Popups/Options/thumbnail.png new file mode 100644 index 0000000..04b733d Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Popups/Options/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Popups/Options/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Popups/Options/view.json new file mode 100644 index 0000000..5cf4b88 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Popups/Options/view.json @@ -0,0 +1,187 @@ +{ + "custom": {}, + "events": null, + "params": {}, + "permissions": null, + "propConfig": null, + "props": { + "defaultSize": { + "height": 54, + "width": 200 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Icon" + }, + "position": { + "basis": "22px", + "grow": 0, + "shrink": 0 + }, + "propConfig": { + "props.style.classes": { + "binding": { + "config": { + "path": "../Label.custom.numAlarms" + }, + "transforms": [ + { + "expression": "if({value} \u003e 0, \"Title_Text Header_Alarm_Active_Dark\", \"Title_Text\")", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "material/alarm", + "style": { + "backgroundColor": "unset", + "cursor": "pointer", + "marginLeft": "10px" + } + }, + "type": "ia.display.icon" + }, + { + "meta": { + "hasDelegate": true, + "name": "Label" + }, + "position": { + "basis": "auto", + "grow": 1, + "shrink": 1 + }, + "propConfig": { + "custom.numAlarms": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\treturn len(system.alarm.queryStatus(state\u003d[\"ActiveUnacked\"]))", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.classes": { + "binding": { + "config": { + "path": "this.custom.numAlarms" + }, + "transforms": [ + { + "expression": "if({value} \u003e 0, \"Title_Text Header_Alarm_Active_Dark\", \"Title_Text\")", + "type": "expression" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "path": "this.custom.numAlarms" + }, + "transforms": [ + { + "expression": "numberFormat({value}, \"#,##0\") + \" alarm\" + if({value} \u003e 1 || {value} \u003d 0, \"s\", \"\")", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "alignVertical": "center", + "style": { + "backgroundColor": "unset", + "cursor": "pointer" + } + }, + "type": "ia.display.label" + } + ], + "events": { + "dom": { + "onClick": [ + { + "config": { + "draggable": true, + "id": "options-popup", + "modal": false, + "overlayDismiss": false, + "resizable": true, + "showCloseIcon": true, + "type": "close", + "viewPath": "" + }, + "enabled": null, + "permissions": { + "securityLevels": [], + "type": "AllOf" + }, + "scope": "C", + "type": "popup" + }, + { + "config": { + "draggable": true, + "modal": false, + "overlayDismiss": false, + "resizable": true, + "showCloseIcon": true, + "type": "close", + "viewPath": "Header/Popups/Options" + }, + "enabled": null, + "permissions": { + "securityLevels": [], + "type": "AllOf" + }, + "scope": "C", + "type": "popup" + } + ] + } + }, + "meta": { + "name": "Alarms" + }, + "position": { + "basis": "54px", + "grow": 0, + "shrink": 0 + }, + "props": { + "style": { + "backgroundColor": "unset", + "classes": "Title" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Popups/Popup Title/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Popups/Popup Title/resource.json new file mode 100644 index 0000000..7e83c1c --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Popups/Popup Title/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "3612b35e894ebd02fa066f74e6dd5d695b001b9b88b48818b0d77e869a70d387", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Popups/Popup Title/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Popups/Popup Title/thumbnail.png new file mode 100644 index 0000000..82351fd Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Popups/Popup Title/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Popups/Popup Title/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Popups/Popup Title/view.json new file mode 100644 index 0000000..174e0b6 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Header/Popups/Popup Title/view.json @@ -0,0 +1,120 @@ +{ + "custom": {}, + "params": { + "icon": "material/home", + "label": "Language", + "popupId": "language-popup" + }, + "propConfig": { + "params.icon": { + "paramDirection": "input" + }, + "params.key": { + "paramDirection": "input" + }, + "params.label": { + "paramDirection": "input" + }, + "params.popupId": { + "paramDirection": "input" + } + }, + "props": { + "defaultSize": { + "height": 54, + "width": 200 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Icon" + }, + "position": { + "basis": "22px", + "shrink": 0 + }, + "propConfig": { + "props.path": { + "binding": { + "config": { + "path": "view.params.icon" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Title_Text", + "marginLeft": "10px" + } + }, + "type": "ia.display.icon" + }, + { + "meta": { + "hasDelegate": true, + "name": "Label" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Title_Text" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "id": "{view.params.popupId}", + "type": "close" + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "Close" + }, + "position": { + "basis": "24px" + }, + "props": { + "path": "material/close", + "style": { + "classes": "Title_Action", + "marginRight": "10px" + } + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "Title" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Alarm Summary Report/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Alarm Summary Report/resource.json new file mode 100644 index 0000000..6dfa930 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Alarm Summary Report/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "9aaf175e5e974f199cd652abdeaf78a41e9d7ec1977dae9b052c5cd92b4c5d8a", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Alarm Summary Report/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Alarm Summary Report/thumbnail.png new file mode 100644 index 0000000..4e34caf Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Alarm Summary Report/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Alarm Summary Report/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Alarm Summary Report/view.json new file mode 100644 index 0000000..bbbef0a --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Alarm Summary Report/view.json @@ -0,0 +1,27 @@ +{ + "custom": {}, + "params": {}, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "ReportViewer" + }, + "props": { + "page": 1, + "pageCount": 8, + "source": "Alarm Report Standard" + }, + "type": "ia.reporting.report-viewer" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/CDP/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/CDP/resource.json new file mode 100644 index 0000000..e10a740 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/CDP/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "9844b6bc6d4595b52f997e31886033530e011d6cb9a707c6bbbfaad139376410", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/CDP/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/CDP/thumbnail.png new file mode 100644 index 0000000..a772a87 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/CDP/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/CDP/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/CDP/view.json new file mode 100644 index 0000000..305b9d3 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/CDP/view.json @@ -0,0 +1,2566 @@ +{ + "custom": {}, + "events": null, + "params": { + "site": "Barstow 3652H" + }, + "permissions": null, + "propConfig": { + "custom.History.key": { + "persistent": true + }, + "custom.History[\u00270\u0027].key": { + "persistent": true + }, + "custom.History[\u00270\u0027][0]": { + "persistent": true + }, + "custom.History[\u00270\u0027][1]": { + "persistent": true + }, + "custom.History[\u00270\u0027][2]": { + "persistent": true + }, + "custom.History[0][0]": { + "persistent": true + }, + "custom.History[0][1]": { + "persistent": true + }, + "custom.History[0][2]": { + "persistent": true + }, + "custom.History[1]": { + "persistent": true + }, + "custom.History[1][0]": { + "persistent": true + }, + "custom.History[3]": { + "persistent": true + }, + "custom.History[3][0]": { + "persistent": true + }, + "custom.historyTags.key": { + "persistent": true + }, + "custom.historyTags.key-1": { + "persistent": true + }, + "custom.historyTags.key.key": { + "persistent": true + }, + "custom.historyTags.key.key-1": { + "persistent": true + }, + "custom.historyTags[\u00270\u0027][0]": { + "persistent": true + }, + "custom.historyTags[\u00270\u0027][1]": { + "persistent": true + }, + "custom.historyTags[\u00270\u0027][2]": { + "persistent": true + }, + "custom.key": { + "persistent": true + }, + "custom.key-1": { + "persistent": true + }, + "custom.key[0]": { + "persistent": true + }, + "custom.key[1]": { + "persistent": true + }, + "custom.key[2]": { + "persistent": true + }, + "params.site": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 926, + "width": 420 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label_24" + }, + "position": { + "height": 308.96875, + "width": 390.28125, + "x": 10.859375, + "y": 61.421875 + }, + "props": { + "alignVertical": "center", + "style": { + "borderStyle": "inset", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_25" + }, + "position": { + "height": 176.1875, + "width": 390.28125, + "x": 10.859375, + "y": 387.03125 + }, + "props": { + "alignVertical": "center", + "style": { + "borderStyle": "inset", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Dropdown" + }, + "position": { + "height": 30.31, + "width": 198.76, + "x": 202.375, + "y": 13.203125 + }, + "propConfig": { + "props.options[0].label": { + "persistent": true + }, + "props.options[0].value": { + "persistent": true + }, + "props.options[1].label": { + "persistent": true + }, + "props.options[1].value": { + "persistent": true + }, + "props.options[2].label": { + "persistent": true + }, + "props.options[2].value": { + "persistent": true + }, + "props.options[3].label": { + "persistent": true + }, + "props.options[3].value": { + "persistent": true + }, + "props.options[4].label": { + "persistent": true + }, + "props.options[4].value": { + "persistent": true + }, + "props.options[5].label": { + "persistent": true + }, + "props.options[5].value": { + "persistent": true + }, + "props.options[6].label": { + "persistent": true + }, + "props.options[6].value": { + "persistent": true + }, + "props.options[7].label": { + "persistent": true + }, + "props.options[7].value": { + "persistent": true + }, + "props.value": { + "binding": { + "config": { + "path": "view.params.site" + }, + "type": "property" + }, + "persistent": true + } + }, + "props": { + "key": "value", + "options": [ + { + "label": "Barstow 3652H", + "value": "Barstow 3652H" + }, + { + "label": "Cimarex_CDP", + "value": "Cimarex_CDP" + }, + { + "label": "Kate Unit", + "value": "Kate Unit" + }, + { + "label": "Mi Noche_1", + "value": "Mi Noche_1" + }, + { + "label": "Mi Noche_2", + "value": "Mi Noche_2" + }, + { + "label": "Silver Spike", + "value": "Silver Spike" + }, + { + "label": "Worsham_CDP", + "value": "Worsham_CDP" + }, + { + "label": "WTI", + "value": "WTI" + } + ], + "value": "Barstow 3652H" + }, + "type": "ia.input.dropdown" + }, + { + "meta": { + "name": "Label_7" + }, + "position": { + "height": 35.36, + "width": 185.49, + "x": 10.859375, + "y": 13.109375 + }, + "props": { + "style": { + "backgroundColor": "#2B2B2B", + "color": "#FFFFFF", + "fontSize": "22px", + "textAlign": "right" + }, + "text": "CDP: " + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_26" + }, + "position": { + "height": 33.359375, + "width": 175.046875, + "x": 30, + "y": 44 + }, + "props": { + "alignVertical": "center", + "style": { + "backgroundColor": "#2B2B2B", + "borderStyle": "none", + "color": "#FFFFFF", + "fontSize": "20px", + "fontStyle": "normal", + "fontWeight": "bold", + "lineHeight": "51px", + "textAlign": "center" + }, + "text": "Pipeline Overview" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_27" + }, + "position": { + "height": 31.359375, + "width": 150, + "x": 30, + "y": 371 + }, + "props": { + "alignVertical": "center", + "style": { + "backgroundColor": "#2B2B2B", + "borderStyle": "none", + "color": "#FFFFFF", + "fontSize": "20px", + "fontStyle": "normal", + "fontWeight": "bold", + "lineHeight": "51px", + "textAlign": "center" + }, + "text": "Pump Overview" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_28" + }, + "position": { + "height": 124.26562499999999, + "width": 390.28125, + "x": 10.859375, + "y": 580.4375 + }, + "props": { + "alignVertical": "center", + "style": { + "borderStyle": "inset", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_29" + }, + "position": { + "height": 33.359375, + "width": 137.109375, + "x": 30, + "y": 564 + }, + "props": { + "alignVertical": "center", + "style": { + "backgroundColor": "#2B2B2B", + "borderStyle": "none", + "color": "#FFFFFF", + "fontSize": "20px", + "fontStyle": "normal", + "fontWeight": "bold", + "lineHeight": "51px", + "textAlign": "center" + }, + "text": "Station Status" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_30" + }, + "position": { + "height": 33.359375, + "width": 184.140625, + "x": 30, + "y": 414 + }, + "props": { + "alignVertical": "center", + "style": { + "borderStyle": "none", + "color": "#FFFFFF" + }, + "text": "CS-640 (P1) Run Status:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_31" + }, + "position": { + "height": 33.359375, + "width": 190.140625, + "x": 30, + "y": 484 + }, + "props": { + "alignVertical": "center", + "style": { + "borderStyle": "none", + "color": "#FFFFFF" + }, + "text": "WC-9178 (P2) Run Status:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_32" + }, + "position": { + "height": 33.359375, + "width": 197.40625, + "x": 25, + "y": 594 + }, + "props": { + "alignVertical": "center", + "style": { + "borderStyle": "none", + "color": "#FFFFFF", + "fontSize": "20px" + }, + "text": "Station Control Mode:" + }, + "type": "ia.display.label" + }, + { + "custom": { + "historyTags": [ + { + "aggregate": "Minimum", + "alias": "Selected Tag" + } + ] + }, + "meta": { + "name": "Sparkline_3" + }, + "position": { + "height": 30.31, + "width": 95.72, + "x": 292.015625, + "y": 131.1875 + }, + "propConfig": { + "custom.History[0][1]": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027 + {parent.custom.site} + \u0027/Tank_02/Cur Top Gauge Feet}\u0027" + }, + "type": "expr" + } + }, + "custom.historyTags.key.path": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027 + {parent.custom.site} + \u0027/Tank_01/Cur Top Gauge Feet\u0027" + }, + "type": "expr" + } + }, + "custom.historyTags[\u00270\u0027].path": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027 + {parent.custom.site} + \u0027/Tank_02/Cur Top Gauge Feet}\u0027" + }, + "type": "expr" + } + }, + "custom.historyTags[0].path": { + "binding": { + "config": { + "expression": "\"[default]\" + {parent.custom.site} + \"/Tank_02/Cur Top Gauge Feet\"" + }, + "type": "expr" + } + }, + "custom.key[1]": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027+ {parent.custom.site} + \u0027/Tank_02/Cur Top Gauge Feet}\u0027" + }, + "type": "expr" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "if({../Tank 2 Tag.props.text} \u003d null, False, True)" + }, + "type": "expr" + } + }, + "props.points": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "24", + "mostRecentUnits": "HOUR" + }, + "ignoreBadQuality": false, + "polling": { + "enabled": false, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "100", + "type": "FIXED" + }, + "tags": "{this.custom.historyTags}", + "valueFormat": "DATASET" + }, + "transforms": [ + { + "code": "\t# convert the incoming value data\n\tpyData \u003d system.dataset.toPyDataSet(value)\n\t# create a blank list so we can append later\n\tnewList \u003d []\n\t \n\t# step through the rows\n\tfor row in pyData:\n\t # append the dictionary to list\n\t if row[1] is not None:\n\t newList.append(row[1])\n\t \n\t# return the results\n\treturn newList", + "type": "script" + } + ], + "type": "tag-history" + } + } + }, + "props": { + "stroke": "#FFFFFF", + "style": { + "backgroundColor": "#2B2B2B", + "borderColor": "#FFFFFF", + "color": "#FFFFFF", + "outlineColor": "#FFFFFF", + "stroke": "#FFFFFF" + } + }, + "type": "ia.display.sparkline" + }, + { + "custom": { + "historyTags": [ + { + "aggregate": "Minimum", + "alias": "Selected Tag" + } + ] + }, + "meta": { + "name": "Sparkline_4" + }, + "position": { + "height": 30.31, + "width": 95.72, + "x": 292.015625, + "y": 173.15625 + }, + "propConfig": { + "custom.History[0][1]": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027 + {parent.custom.site} + \u0027/Tank_02/Cur Top Gauge Feet}\u0027" + }, + "type": "expr" + } + }, + "custom.historyTags.key.path": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027 + {parent.custom.site} + \u0027/Tank_01/Cur Top Gauge Feet\u0027" + }, + "type": "expr" + } + }, + "custom.historyTags[\u00270\u0027].path": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027 + {parent.custom.site} + \u0027/Tank_02/Cur Top Gauge Feet}\u0027" + }, + "type": "expr" + } + }, + "custom.historyTags[0].path": { + "binding": { + "config": { + "expression": "\"[default]\" + {parent.custom.site} + \"/Tank_03/Cur Top Gauge Feet\"" + }, + "type": "expr" + } + }, + "custom.key[1]": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027+ {parent.custom.site} + \u0027/Tank_02/Cur Top Gauge Feet}\u0027" + }, + "type": "expr" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "if({../Tank 3 Tag.props.text} \u003d null, False, True)" + }, + "type": "expr" + } + }, + "props.points": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "24", + "mostRecentUnits": "HOUR" + }, + "ignoreBadQuality": false, + "polling": { + "enabled": false, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "100", + "type": "FIXED" + }, + "tags": "{this.custom.historyTags}", + "valueFormat": "DATASET" + }, + "transforms": [ + { + "code": "\t# convert the incoming value data\n\tpyData \u003d system.dataset.toPyDataSet(value)\n\t# create a blank list so we can append later\n\tnewList \u003d []\n\t \n\t# step through the rows\n\tfor row in pyData:\n\t # append the dictionary to list\n\t if row[1] is not None:\n\t newList.append(row[1])\n\t \n\t# return the results\n\treturn newList", + "type": "script" + } + ], + "type": "tag-history" + } + } + }, + "props": { + "stroke": "#FFFFFF", + "style": { + "backgroundColor": "#2B2B2B", + "borderColor": "#FFFFFF", + "color": "#FFFFFF", + "outlineColor": "#FFFFFF", + "stroke": "#FFFFFF" + } + }, + "type": "ia.display.sparkline" + }, + { + "custom": { + "historyTags": [ + { + "aggregate": "Minimum", + "alias": "Selected Tag" + } + ] + }, + "meta": { + "name": "Sparkline_5" + }, + "position": { + "height": 30.31, + "width": 95.72, + "x": 292.015625, + "y": 216.015625 + }, + "propConfig": { + "custom.History[0][1]": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027 + {parent.custom.site} + \u0027/Tank_02/Cur Top Gauge Feet}\u0027" + }, + "type": "expr" + } + }, + "custom.historyTags.key.path": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027 + {parent.custom.site} + \u0027/Tank_01/Cur Top Gauge Feet\u0027" + }, + "type": "expr" + } + }, + "custom.historyTags[\u00270\u0027].path": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027 + {parent.custom.site} + \u0027/Tank_02/Cur Top Gauge Feet}\u0027" + }, + "type": "expr" + } + }, + "custom.historyTags[0].path": { + "binding": { + "config": { + "expression": "\"[default]\" + {parent.custom.site} + \"/Tank_04/Cur Top Gauge Feet\"" + }, + "type": "expr" + } + }, + "custom.key[1]": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027+ {parent.custom.site} + \u0027/Tank_02/Cur Top Gauge Feet}\u0027" + }, + "type": "expr" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "if({../Tank 4 Tag.props.text} \u003d null, False, True)" + }, + "type": "expr" + } + }, + "props.points": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "24", + "mostRecentUnits": "HOUR" + }, + "ignoreBadQuality": false, + "polling": { + "enabled": false, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "100", + "type": "FIXED" + }, + "tags": "{this.custom.historyTags}", + "valueFormat": "DATASET" + }, + "transforms": [ + { + "code": "\t# convert the incoming value data\n\tpyData \u003d system.dataset.toPyDataSet(value)\n\t# create a blank list so we can append later\n\tnewList \u003d []\n\t \n\t# step through the rows\n\tfor row in pyData:\n\t # append the dictionary to list\n\t if row[1] is not None:\n\t newList.append(row[1])\n\t \n\t# return the results\n\treturn newList", + "type": "script" + } + ], + "type": "tag-history" + } + } + }, + "props": { + "stroke": "#FFFFFF", + "style": { + "backgroundColor": "#2B2B2B", + "borderColor": "#FFFFFF", + "color": "#FFFFFF", + "outlineColor": "#FFFFFF", + "stroke": "#FFFFFF" + } + }, + "type": "ia.display.sparkline" + }, + { + "custom": { + "historyTags": [ + { + "aggregate": "Minimum", + "alias": "Selected Tag" + } + ] + }, + "meta": { + "name": "Sparkline_6" + }, + "position": { + "height": 29.296875, + "width": 93.71875, + "x": 293.046875, + "y": 263.03125 + }, + "propConfig": { + "custom.History[0][1]": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027 + {parent.custom.site} + \u0027/Tank_02/Cur Top Gauge Feet}\u0027" + }, + "type": "expr" + } + }, + "custom.historyTags.key.path": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027 + {parent.custom.site} + \u0027/Tank_01/Cur Top Gauge Feet\u0027" + }, + "type": "expr" + } + }, + "custom.historyTags[\u00270\u0027].path": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027 + {parent.custom.site} + \u0027/Tank_02/Cur Top Gauge Feet}\u0027" + }, + "type": "expr" + } + }, + "custom.historyTags[0].path": { + "binding": { + "config": { + "expression": "\"[default]\" + {parent.custom.site} + \"/Tank_05/Cur Top Gauge Feet\"" + }, + "type": "expr" + } + }, + "custom.key[1]": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027+ {parent.custom.site} + \u0027/Tank_02/Cur Top Gauge Feet}\u0027" + }, + "type": "expr" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "if({../Tank 5 Tag.props.text} \u003d null, False, True)" + }, + "type": "expr" + } + }, + "props.points": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "24", + "mostRecentUnits": "HOUR" + }, + "ignoreBadQuality": false, + "polling": { + "enabled": false, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "100", + "type": "FIXED" + }, + "tags": "{this.custom.historyTags}", + "valueFormat": "DATASET" + }, + "transforms": [ + { + "code": "\t# convert the incoming value data\n\tpyData \u003d system.dataset.toPyDataSet(value)\n\t# create a blank list so we can append later\n\tnewList \u003d []\n\t \n\t# step through the rows\n\tfor row in pyData:\n\t # append the dictionary to list\n\t if row[1] is not None:\n\t newList.append(row[1])\n\t \n\t# return the results\n\treturn newList", + "type": "script" + } + ], + "type": "tag-history" + } + } + }, + "props": { + "stroke": "#FFFFFF", + "style": { + "backgroundColor": "#2B2B2B", + "borderColor": "#FFFFFF", + "color": "#FFFFFF", + "outlineColor": "#FFFFFF", + "stroke": "#FFFFFF" + } + }, + "type": "ia.display.sparkline" + }, + { + "custom": { + "historyTags": [ + { + "aggregate": "Minimum", + "alias": "Selected Tag" + } + ] + }, + "meta": { + "name": "Sparkline_7" + }, + "position": { + "height": 30.31, + "width": 95.72, + "x": 292.015625, + "y": 303.375 + }, + "propConfig": { + "custom.History[0][1]": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027 + {parent.custom.site} + \u0027/Tank_02/Cur Top Gauge Feet}\u0027" + }, + "type": "expr" + } + }, + "custom.historyTags.key.path": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027 + {parent.custom.site} + \u0027/Tank_01/Cur Top Gauge Feet\u0027" + }, + "type": "expr" + } + }, + "custom.historyTags[\u00270\u0027].path": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027 + {parent.custom.site} + \u0027/Tank_02/Cur Top Gauge Feet}\u0027" + }, + "type": "expr" + } + }, + "custom.historyTags[0].path": { + "binding": { + "config": { + "expression": "\"[default]\" + {parent.custom.site} + \"/Tank_06/Cur Top Gauge Feet\"" + }, + "type": "expr" + } + }, + "custom.key[1]": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027+ {parent.custom.site} + \u0027/Tank_02/Cur Top Gauge Feet}\u0027" + }, + "type": "expr" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "if({../Tank 6 Tag.props.text} \u003d null, False, True)" + }, + "type": "expr" + } + }, + "props.points": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "24", + "mostRecentUnits": "HOUR" + }, + "ignoreBadQuality": false, + "polling": { + "enabled": false, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "100", + "type": "FIXED" + }, + "tags": "{this.custom.historyTags}", + "valueFormat": "DATASET" + }, + "transforms": [ + { + "code": "\t# convert the incoming value data\n\tpyData \u003d system.dataset.toPyDataSet(value)\n\t# create a blank list so we can append later\n\tnewList \u003d []\n\t \n\t# step through the rows\n\tfor row in pyData:\n\t # append the dictionary to list\n\t if row[1] is not None:\n\t newList.append(row[1])\n\t \n\t# return the results\n\treturn newList", + "type": "script" + } + ], + "type": "tag-history" + } + } + }, + "props": { + "stroke": "#FFFFFF", + "style": { + "backgroundColor": "#2B2B2B", + "borderColor": "#FFFFFF", + "color": "#FFFFFF", + "outlineColor": "#FFFFFF", + "stroke": "#FFFFFF" + } + }, + "type": "ia.display.sparkline" + }, + { + "custom": { + "historyTags": [ + { + "aggregate": "Minimum", + "alias": "Selected Tag" + } + ] + }, + "meta": { + "name": "Sparkline_8" + }, + "position": { + "height": 30.31, + "width": 95.72, + "x": 292.046875, + "y": 345.40625 + }, + "propConfig": { + "custom.History[0][1]": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027 + {parent.custom.site} + \u0027/Tank_02/Cur Top Gauge Feet}\u0027" + }, + "type": "expr" + } + }, + "custom.historyTags.key.path": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027 + {parent.custom.site} + \u0027/Tank_01/Cur Top Gauge Feet\u0027" + }, + "type": "expr" + } + }, + "custom.historyTags[\u00270\u0027].path": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027 + {parent.custom.site} + \u0027/Tank_02/Cur Top Gauge Feet}\u0027" + }, + "type": "expr" + } + }, + "custom.historyTags[0].path": { + "binding": { + "config": { + "expression": "\"[default]\" + {parent.custom.site} + \"/Tank_07/Cur Top Gauge Feet\"" + }, + "type": "expr" + } + }, + "custom.key[1]": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027+ {parent.custom.site} + \u0027/Tank_02/Cur Top Gauge Feet}\u0027" + }, + "type": "expr" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "if({../Tank 7 Tag.props.text} \u003d null, False, True)" + }, + "type": "expr" + } + }, + "props.points": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "24", + "mostRecentUnits": "HOUR" + }, + "ignoreBadQuality": false, + "polling": { + "enabled": false, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "100", + "type": "FIXED" + }, + "tags": "{this.custom.historyTags}", + "valueFormat": "DATASET" + }, + "transforms": [ + { + "code": "\t# convert the incoming value data\n\tpyData \u003d system.dataset.toPyDataSet(value)\n\t# create a blank list so we can append later\n\tnewList \u003d []\n\t \n\t# step through the rows\n\tfor row in pyData:\n\t # append the dictionary to list\n\t if row[1] is not None:\n\t newList.append(row[1])\n\t \n\t# return the results\n\treturn newList", + "type": "script" + } + ], + "type": "tag-history" + } + } + }, + "props": { + "stroke": "#FFFFFF", + "style": { + "backgroundColor": "#2B2B2B", + "borderColor": "#FFFFFF", + "color": "#FFFFFF", + "outlineColor": "#FFFFFF", + "stroke": "#FFFFFF" + } + }, + "type": "ia.display.sparkline" + }, + { + "custom": { + "historyTags": [ + { + "aggregate": "Minimum", + "alias": "Selected Tag" + } + ] + }, + "meta": { + "name": "Sparkline_9" + }, + "position": { + "height": 30.31, + "width": 95.72, + "x": 292.015625, + "y": 393.359375 + }, + "propConfig": { + "custom.History[0][1]": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027 + {parent.custom.site} + \u0027/Tank_02/Cur Top Gauge Feet}\u0027" + }, + "type": "expr" + } + }, + "custom.historyTags.key.path": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027 + {parent.custom.site} + \u0027/Tank_01/Cur Top Gauge Feet\u0027" + }, + "type": "expr" + } + }, + "custom.historyTags[\u00270\u0027].path": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027 + {parent.custom.site} + \u0027/Tank_02/Cur Top Gauge Feet}\u0027" + }, + "type": "expr" + } + }, + "custom.historyTags[0].path": { + "binding": { + "config": { + "expression": "\"[default]\" + {parent.custom.site} + \"/Tank_08/Cur Top Gauge Feet\"" + }, + "type": "expr" + } + }, + "custom.key[1]": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027+ {parent.custom.site} + \u0027/Tank_02/Cur Top Gauge Feet}\u0027" + }, + "type": "expr" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "if({../Tank 8 Tag.props.text} \u003d null, False, True)" + }, + "type": "expr" + } + }, + "props.points": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "24", + "mostRecentUnits": "HOUR" + }, + "ignoreBadQuality": false, + "polling": { + "enabled": false, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "100", + "type": "FIXED" + }, + "tags": "{this.custom.historyTags}", + "valueFormat": "DATASET" + }, + "transforms": [ + { + "code": "\t# convert the incoming value data\n\tpyData \u003d system.dataset.toPyDataSet(value)\n\t# create a blank list so we can append later\n\tnewList \u003d []\n\t \n\t# step through the rows\n\tfor row in pyData:\n\t # append the dictionary to list\n\t if row[1] is not None:\n\t newList.append(row[1])\n\t \n\t# return the results\n\treturn newList", + "type": "script" + } + ], + "type": "tag-history" + } + } + }, + "props": { + "stroke": "#FFFFFF", + "style": { + "backgroundColor": "#2B2B2B", + "borderColor": "#FFFFFF", + "color": "#FFFFFF", + "outlineColor": "#FFFFFF", + "stroke": "#FFFFFF" + } + }, + "type": "ia.display.sparkline" + }, + { + "custom": { + "historyTags": [ + { + "aggregate": "Minimum", + "alias": "Selected Tag" + } + ] + }, + "meta": { + "name": "Sparkline_10" + }, + "position": { + "height": 30.31, + "width": 95.72, + "x": 292.015625, + "y": 87.71875 + }, + "propConfig": { + "custom.History[0][1]": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027 + {parent.custom.site} + \u0027/Tank_02/Cur Top Gauge Feet}\u0027" + }, + "type": "expr" + } + }, + "custom.historyTags.key.path": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027 + {parent.custom.site} + \u0027/Tank_01/Cur Top Gauge Feet\u0027" + }, + "type": "expr" + } + }, + "custom.historyTags[\u00270\u0027].path": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027 + {parent.custom.site} + \u0027/Tank_02/Cur Top Gauge Feet}\u0027" + }, + "type": "expr" + } + }, + "custom.historyTags[0].path": { + "binding": { + "config": { + "expression": "\"[default]\" + {parent.custom.site} + \"/Tank_01/Cur Top Gauge Feet\"" + }, + "type": "expr" + } + }, + "custom.key[1]": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027+ {parent.custom.site} + \u0027/Tank_02/Cur Top Gauge Feet}\u0027" + }, + "type": "expr" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "if({../Tank 1 Tag.props.text} \u003d null, False, True)" + }, + "type": "expr" + } + }, + "props.points": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "24", + "mostRecentUnits": "HOUR" + }, + "ignoreBadQuality": false, + "polling": { + "enabled": false, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "100", + "type": "FIXED" + }, + "tags": "{this.custom.historyTags}", + "valueFormat": "DATASET" + }, + "transforms": [ + { + "code": "\t# convert the incoming value data\n\tpyData \u003d system.dataset.toPyDataSet(value)\n\t# create a blank list so we can append later\n\tnewList \u003d []\n\t \n\t# step through the rows\n\tfor row in pyData:\n\t # append the dictionary to list\n\t if row[1] is not None:\n\t newList.append(row[1])\n\t \n\t# return the results\n\treturn newList", + "type": "script" + } + ], + "type": "tag-history" + } + } + }, + "props": { + "stroke": "#FFFFFF", + "style": { + "backgroundColor": "#2B2B2B", + "borderColor": "#FFFFFF", + "color": "#FFFFFF", + "outlineColor": "#FFFFFF", + "stroke": "#FFFFFF" + } + }, + "type": "ia.display.sparkline" + }, + { + "meta": { + "name": "Label_48" + }, + "position": { + "height": 33.359375, + "width": 229.140625, + "x": 30, + "y": 519 + }, + "props": { + "alignVertical": "center", + "style": { + "borderStyle": "none", + "color": "#FFFFFF" + }, + "text": "WC-9178 (P2) Speed Reference:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "baseline-fiber_manual_record-24px_2" + }, + "position": { + "height": 38.5, + "width": 33.609375, + "x": -171.109375, + "y": -7.390625 + }, + "propConfig": { + "props.elements[1].fill.paint": { + "binding": { + "config": { + "expression": "if(tag({parent.custom.site}+ \u0027/Status/Oil_HOA\u0027) , \"#00FF00\", \"#D5D5D5\")" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "d": "M24 24H0V0h24v24z", + "fill": { + "paint": "#2B2B2B" + }, + "name": "path", + "type": "path" + }, + { + "cx": "12", + "cy": "12", + "fill": {}, + "name": "circle", + "r": 8, + "type": "circle" + } + ], + "viewBox": "0 0 24 24" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Label_50" + }, + "position": { + "height": 33.359375, + "width": 142.140625, + "x": -135.375, + "y": -3.21875 + }, + "props": { + "alignVertical": "center", + "style": { + "borderStyle": "none", + "color": "#FFFFFF" + }, + "text": "Water HOA Status:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_52" + }, + "position": { + "height": 33.359375, + "width": 217.140625, + "x": 30, + "y": 449 + }, + "props": { + "alignVertical": "center", + "style": { + "borderStyle": "none", + "color": "#FFFFFF" + }, + "text": "CS-640 (P1) Speed Reference:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_51" + }, + "position": { + "height": 187.265625, + "width": 390.28125, + "x": 10.859375, + "y": 724 + }, + "props": { + "alignVertical": "center", + "style": { + "borderStyle": "inset", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_54" + }, + "position": { + "height": 33.359375, + "width": 147.109375, + "x": 30, + "y": 706 + }, + "props": { + "alignVertical": "center", + "style": { + "backgroundColor": "#2B2B2B", + "borderStyle": "none", + "color": "#FFFFFF", + "fontSize": "20px", + "fontStyle": "normal", + "fontWeight": "bold", + "lineHeight": "51px", + "textAlign": "center" + }, + "text": "Flow Statistics" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_55" + }, + "position": { + "height": 33.36, + "width": 140, + "x": 25, + "y": 85 + }, + "props": { + "alignVertical": "center", + "style": { + "borderStyle": "none", + "color": "#FFFFFF", + "textAlign": "right" + }, + "text": "Inlet DPT:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_56" + }, + "position": { + "height": 33.36, + "width": 140, + "x": 25, + "y": 125 + }, + "props": { + "alignVertical": "center", + "style": { + "borderStyle": "none", + "color": "#FFFFFF", + "textAlign": "right" + }, + "text": "Inlet Pressure:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_57" + }, + "position": { + "height": 33.36, + "width": 140, + "x": 25, + "y": 165 + }, + "props": { + "alignVertical": "center", + "style": { + "borderStyle": "none", + "color": "#FFFFFF", + "textAlign": "right" + }, + "text": "Temperature:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_58" + }, + "position": { + "height": 33.36, + "width": 140, + "x": 25, + "y": 205 + }, + "props": { + "alignVertical": "center", + "style": { + "borderStyle": "none", + "color": "#FFFFFF", + "textAlign": "right" + }, + "text": "Flow Rate:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_59" + }, + "position": { + "height": 33.359375, + "width": 140, + "x": 25, + "y": 245 + }, + "props": { + "alignVertical": "center", + "style": { + "borderStyle": "none", + "color": "#FFFFFF", + "textAlign": "right" + }, + "text": "PipeLine Pressure:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_60", + "rotate": { + "anchor": "65%" + }, + "visible": 1 + }, + "position": { + "height": 33.36, + "width": 109.12, + "x": 170, + "y": 165 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "mode": "indirect", + "references": { + "1": "{parent.custom.site}" + }, + "tagPath": "[default]{1}/Status/Inlet_Temp" + }, + "type": "tag" + } + } + }, + "props": { + "alignVertical": "center", + "style": { + "borderStyle": "outset", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_61", + "rotate": { + "anchor": "65%" + }, + "visible": 1 + }, + "position": { + "height": 33.36, + "width": 109.12, + "x": 170, + "y": 85 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "mode": "indirect", + "references": { + "1": "{parent.custom.site}" + }, + "tagPath": "[default]{1}/Status/Inlet_Strainer_DPT" + }, + "type": "tag" + } + } + }, + "props": { + "alignVertical": "center", + "style": { + "borderStyle": "outset", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_62", + "rotate": { + "anchor": "65%" + }, + "visible": 1 + }, + "position": { + "height": 33.36, + "width": 109.12, + "x": 170, + "y": 125 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "mode": "indirect", + "references": { + "1": "{parent.custom.site}" + }, + "tagPath": "[default]{1}/Status/Inlet_Pressure" + }, + "type": "tag" + } + } + }, + "props": { + "alignVertical": "center", + "style": { + "borderStyle": "outset", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_63", + "rotate": { + "anchor": "65%" + }, + "visible": 1 + }, + "position": { + "height": 33.36, + "width": 109.12, + "x": 170, + "y": 205 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "mode": "indirect", + "references": { + "1": "{parent.custom.site}" + }, + "tagPath": "[default]{1}/Status/Transfer_FlowRate" + }, + "type": "tag" + } + } + }, + "props": { + "alignVertical": "center", + "style": { + "borderStyle": "outset", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_64", + "rotate": { + "anchor": "65%" + }, + "visible": 1 + }, + "position": { + "height": 33.36, + "width": 109.12, + "x": 170, + "y": 245 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "mode": "indirect", + "references": { + "1": "{parent.custom.site}" + }, + "tagPath": "[default]{1}/Status/Pipeline_Pressure" + }, + "type": "tag" + } + } + }, + "props": { + "alignVertical": "center", + "style": { + "borderStyle": "outset", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_65" + }, + "position": { + "height": 33.36, + "width": 124.05, + "x": 285, + "y": 85 + }, + "props": { + "alignVertical": "center", + "style": { + "borderStyle": "none", + "color": "#FFFFFF" + }, + "text": "PSI" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_66" + }, + "position": { + "height": 33.36, + "width": 124.05, + "x": 285, + "y": 125 + }, + "props": { + "alignVertical": "center", + "style": { + "borderStyle": "none", + "color": "#FFFFFF" + }, + "text": "PSI" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_67" + }, + "position": { + "height": 33.36, + "width": 124.05, + "x": 285, + "y": 245 + }, + "props": { + "alignVertical": "center", + "style": { + "borderStyle": "none", + "color": "#FFFFFF" + }, + "text": "PSI" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_68" + }, + "position": { + "height": 33.36, + "width": 124.05, + "x": 285, + "y": 165 + }, + "props": { + "alignVertical": "center", + "style": { + "borderStyle": "none", + "color": "#FFFFFF" + }, + "text": "°F" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_69" + }, + "position": { + "height": 33.36, + "width": 124.05, + "x": 285, + "y": 205 + }, + "props": { + "alignVertical": "center", + "style": { + "borderStyle": "none", + "color": "#FFFFFF" + }, + "text": "BBL/Hr" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_70", + "rotate": { + "anchor": "65%" + }, + "visible": 1 + }, + "position": { + "height": 33.36, + "width": 109.12, + "x": 170, + "y": 285 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "if(tag({parent.custom.site}+ \u0027/PhysicalIO/Discharge_MOV_Opened\u0027) , \"Open\", \"Closed\")" + }, + "type": "expr" + } + } + }, + "props": { + "alignVertical": "center", + "style": { + "borderStyle": "outset", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_71", + "rotate": { + "anchor": "65%" + }, + "visible": 1 + }, + "position": { + "height": 33.36, + "width": 109.12, + "x": 170, + "y": 325 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "mode": "indirect", + "references": { + "1": "{parent.custom.site}" + }, + "tagPath": "[default]{1}/Status/FCV_Pos_Ref_AO" + }, + "type": "tag" + } + } + }, + "props": { + "alignVertical": "center", + "style": { + "borderStyle": "outset", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_72" + }, + "position": { + "height": 33.36, + "width": 124.05, + "x": 285, + "y": 325 + }, + "props": { + "alignVertical": "center", + "style": { + "borderStyle": "none", + "color": "#FFFFFF" + }, + "text": "%" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_73" + }, + "position": { + "height": 33.359375, + "width": 140, + "x": 25, + "y": 285 + }, + "props": { + "alignVertical": "center", + "style": { + "borderStyle": "none", + "color": "#FFFFFF", + "textAlign": "right" + }, + "text": "ESD Value:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_74" + }, + "position": { + "height": 33.359375, + "width": 140, + "x": 25, + "y": 325 + }, + "props": { + "alignVertical": "center", + "style": { + "borderStyle": "none", + "color": "#FFFFFF", + "textAlign": "right" + }, + "text": "Control Valve:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_75", + "rotate": { + "anchor": "65%" + }, + "visible": 1 + }, + "position": { + "height": 33.36, + "width": 109.12, + "x": 270, + "y": 449 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "mode": "indirect", + "references": { + "1": "{parent.custom.site}" + }, + "tagPath": "[default]{1}/PhysicalIO/CHEM_PUMP1_AO" + }, + "type": "tag" + } + } + }, + "props": { + "alignVertical": "center", + "style": { + "borderStyle": "outset", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_76", + "rotate": { + "anchor": "65%" + }, + "visible": 1 + }, + "position": { + "height": 33.36, + "width": 109.12, + "x": 270, + "y": 519 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "mode": "indirect", + "references": { + "1": "{parent.custom.site}" + }, + "tagPath": "[default]{1}/PhysicalIO/CHEM_PUMP2_AO" + }, + "type": "tag" + } + } + }, + "props": { + "alignVertical": "center", + "style": { + "borderStyle": "outset", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "baseline-fiber_manual_record-24px_1" + }, + "position": { + "height": 38.5, + "width": 33.61, + "x": 235, + "y": 634 + }, + "propConfig": { + "props.elements[1].fill.paint": { + "binding": { + "config": { + "expression": "if(tag({parent.custom.site}+ \u0027/Alarm/Global_PLC_Comms_Fail\u0027) , \"#D5D5D5\", \"#00FF00\")" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "d": "M24 24H0V0h24v24z", + "fill": { + "paint": "#2B2B2B" + }, + "name": "path", + "type": "path" + }, + { + "cx": "12", + "cy": "12", + "fill": {}, + "name": "circle", + "r": 8, + "type": "circle" + } + ], + "viewBox": "0 0 24 24" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "baseline-fiber_manual_record-24px_3" + }, + "position": { + "height": 38.5, + "width": 33.61, + "x": 235, + "y": 664 + }, + "propConfig": { + "props.elements[1].fill.paint": { + "binding": { + "config": { + "expression": "if(tag({parent.custom.site}+ \u0027/Status/PSD\u0027) , \"#D5D5D5\", \"#00FF00\")" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "d": "M24 24H0V0h24v24z", + "fill": { + "paint": "#2B2B2B" + }, + "name": "path", + "type": "path" + }, + { + "cx": "12", + "cy": "12", + "fill": {}, + "name": "circle", + "r": 8, + "type": "circle" + } + ], + "viewBox": "0 0 24 24" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Label_33" + }, + "position": { + "height": 33.359375, + "width": 197.40625, + "x": 25, + "y": 636 + }, + "props": { + "alignVertical": "center", + "style": { + "borderStyle": "none", + "color": "#FFFFFF", + "fontSize": "18px", + "textAlign": "right" + }, + "text": "Global Communications:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_34" + }, + "position": { + "height": 33.359375, + "width": 197.40625, + "x": 25, + "y": 666 + }, + "props": { + "alignVertical": "center", + "style": { + "borderStyle": "none", + "color": "#FFFFFF", + "fontSize": "18px", + "textAlign": "right" + }, + "text": "Battery ESD Status:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_77", + "rotate": { + "anchor": "65%" + }, + "visible": 1 + }, + "position": { + "height": 33.36, + "width": 109.12, + "x": 230, + "y": 594 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "case(tag({parent.custom.site}+ \u0027/HMI_CMDS/Station_Control_Mode\u0027), 0, \"OFF\", 1, \"Auto\", 2, \"Manual\",\"Error\")" + }, + "type": "expr" + } + } + }, + "props": { + "alignVertical": "center", + "style": { + "borderStyle": "outset", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_78", + "rotate": { + "anchor": "65%" + }, + "visible": 1 + }, + "position": { + "height": 33.36, + "width": 109.12, + "x": 210, + "y": 786 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "mode": "indirect", + "references": { + "1": "{parent.custom.site}" + }, + "tagPath": "[default]{1}/Status/Flow_Net_VOL_Ystdy" + }, + "type": "tag" + } + } + }, + "props": { + "alignVertical": "center", + "style": { + "borderStyle": "outset", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_79", + "rotate": { + "anchor": "65%" + }, + "visible": 1 + }, + "position": { + "height": 33.36, + "width": 109.12, + "x": 210, + "y": 866 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "mode": "indirect", + "references": { + "1": "{parent.custom.site}" + }, + "tagPath": "[default]{1}/Status/Flow_Gross_VOL_Ystdy" + }, + "type": "tag" + } + } + }, + "props": { + "alignVertical": "center", + "style": { + "borderStyle": "outset", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_80", + "rotate": { + "anchor": "65%" + }, + "visible": 1 + }, + "position": { + "height": 33.36, + "width": 109.12, + "x": 210, + "y": 826 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "mode": "indirect", + "references": { + "1": "{parent.custom.site}" + }, + "tagPath": "[default]{1}/Status/Flow_Gross_VOL_Today" + }, + "type": "tag" + } + } + }, + "props": { + "alignVertical": "center", + "style": { + "borderStyle": "outset", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_81", + "rotate": { + "anchor": "65%" + }, + "visible": 1 + }, + "position": { + "height": 33.36, + "width": 109.12, + "x": 210, + "y": 746 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "mode": "indirect", + "references": { + "1": "{parent.custom.site}" + }, + "tagPath": "[default]{1}/Status/Flow_Net_VOL_Today" + }, + "type": "tag" + } + } + }, + "props": { + "alignVertical": "center", + "style": { + "borderStyle": "outset", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_82" + }, + "position": { + "height": 33.359375, + "width": 178, + "x": 25, + "y": 746 + }, + "props": { + "alignVertical": "center", + "style": { + "borderStyle": "none", + "color": "#FFFFFF", + "textAlign": "right" + }, + "text": "Net Volume Today:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_83" + }, + "position": { + "height": 33.359375, + "width": 178, + "x": 25, + "y": 786 + }, + "props": { + "alignVertical": "center", + "style": { + "borderStyle": "none", + "color": "#FFFFFF", + "textAlign": "right" + }, + "text": "Net Volume Yesterday:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_84" + }, + "position": { + "height": 33.359375, + "width": 178, + "x": 25, + "y": 826 + }, + "props": { + "alignVertical": "center", + "style": { + "borderStyle": "none", + "color": "#FFFFFF", + "textAlign": "right" + }, + "text": "Gross Volume Today:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_85" + }, + "position": { + "height": 33.359375, + "width": 178, + "x": 25, + "y": 866 + }, + "props": { + "alignVertical": "center", + "style": { + "borderStyle": "none", + "color": "#FFFFFF", + "textAlign": "right" + }, + "text": "Gross Volume Yesterday:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_86", + "rotate": { + "anchor": "65%" + }, + "visible": 1 + }, + "position": { + "height": 33.36, + "width": 109.12, + "x": 270, + "y": 414 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "if(tag({parent.custom.site}+ \u0027/PhysicalIO/CHEM_PUMP1_AO\u0027) , \"ON\", \"OFF\")" + }, + "type": "expr" + } + } + }, + "props": { + "alignVertical": "center", + "style": { + "borderStyle": "outset", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_87", + "rotate": { + "anchor": "65%" + }, + "visible": 1 + }, + "position": { + "height": 33.36, + "width": 109.12, + "x": 270, + "y": 484 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "if(tag({parent.custom.site}+ \u0027/PhysicalIO/CHEM_PUMP2_AO\u0027) , \"ON\", \"OFF\")" + }, + "type": "expr" + } + } + }, + "props": { + "alignVertical": "center", + "style": { + "borderStyle": "outset", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "site": "Barstow 3652H" + }, + "meta": { + "name": "root" + }, + "propConfig": { + "custom.site": { + "binding": { + "config": { + "path": "./Dropdown.props.value" + }, + "type": "property" + }, + "persistent": true + } + }, + "props": { + "style": { + "backgroundColor": "#2B2B2B" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Embedded/Title/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Embedded/Title/resource.json new file mode 100644 index 0000000..af82641 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Embedded/Title/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "457181b59a56a23382a704f9e3ed46fbf724d9b5c43145f65e0408e005967cf9", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:11Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Embedded/Title/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Embedded/Title/thumbnail.png new file mode 100644 index 0000000..be0886a Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Embedded/Title/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Embedded/Title/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Embedded/Title/view.json new file mode 100644 index 0000000..1b435f0 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Embedded/Title/view.json @@ -0,0 +1,94 @@ +{ + "custom": {}, + "events": null, + "params": { + "feature": { + "icon": "", + "name": "" + } + }, + "permissions": null, + "propConfig": { + "params.feature": { + "paramDirection": "input" + }, + "params.key": { + "paramDirection": "input" + } + }, + "props": { + "defaultSize": { + "height": 56, + "width": 600 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Icon" + }, + "position": { + "basis": "24px", + "grow": 0, + "shrink": 1 + }, + "propConfig": { + "props.path": { + "binding": { + "config": { + "expression": "\"material/\" + {view.params.feature.icon}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "classes": "Title_Text", + "marginLeft": "10px" + } + }, + "type": "ia.display.icon" + }, + { + "meta": { + "hasDelegate": true, + "name": "Label" + }, + "position": { + "basis": "auto", + "grow": 1, + "shrink": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "bidirectional": false, + "path": "view.params.feature.name" + }, + "type": "property" + } + } + }, + "props": { + "alignVertical": "center", + "style": { + "classes": "Title_Text" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "Title" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/L24_CDP/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/L24_CDP/resource.json new file mode 100644 index 0000000..edd2b3a --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/L24_CDP/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "e543f75f572532d0135c60f716d6ef915b7fd847dfe34748292d48e2cd3a2b9f", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:09Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/L24_CDP/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/L24_CDP/thumbnail.png new file mode 100644 index 0000000..6898c3e Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/L24_CDP/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/L24_CDP/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/L24_CDP/view.json new file mode 100644 index 0000000..4a20334 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/L24_CDP/view.json @@ -0,0 +1,2452 @@ +{ + "custom": {}, + "params": { + "site": "Prime_L24_CDP" + }, + "propConfig": { + "custom.History.0.key": { + "persistent": true + }, + "custom.History.0[0]": { + "persistent": true + }, + "custom.History.0[1]": { + "persistent": true + }, + "custom.History.0[2]": { + "persistent": true + }, + "custom.History.key": { + "persistent": true + }, + "custom.History[0][0]": { + "persistent": true + }, + "custom.History[0][1]": { + "persistent": true + }, + "custom.History[0][2]": { + "persistent": true + }, + "custom.History[1]": { + "persistent": true + }, + "custom.History[1][0]": { + "persistent": true + }, + "custom.History[3]": { + "persistent": true + }, + "custom.History[3][0]": { + "persistent": true + }, + "custom.historyTags.0[0]": { + "persistent": true + }, + "custom.historyTags.0[1]": { + "persistent": true + }, + "custom.historyTags.0[2]": { + "persistent": true + }, + "custom.historyTags.key": { + "persistent": true + }, + "custom.historyTags.key-1": { + "persistent": true + }, + "custom.historyTags.key.key": { + "persistent": true + }, + "custom.historyTags.key.key-1": { + "persistent": true + }, + "custom.key": { + "persistent": true + }, + "custom.key-1": { + "persistent": true + }, + "custom.key[0]": { + "persistent": true + }, + "custom.key[1]": { + "persistent": true + }, + "custom.key[2]": { + "persistent": true + }, + "params.site": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 926, + "width": 420 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label_24" + }, + "position": { + "height": 308.96875, + "width": 390.28125, + "x": 10.859375, + "y": 61.421875 + }, + "props": { + "style": { + "borderStyle": "inset", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_25" + }, + "position": { + "height": 176.1875, + "width": 390.28125, + "x": 10.859375, + "y": 387.03125 + }, + "props": { + "style": { + "borderStyle": "inset", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Dropdown" + }, + "position": { + "height": 30.31, + "width": 198.76, + "x": 202.375, + "y": 16.2374 + }, + "propConfig": { + "props.options[0].label": { + "persistent": true + }, + "props.options[0].value": { + "persistent": true + }, + "props.options[1].label": { + "persistent": true + }, + "props.options[1].value": { + "persistent": true + }, + "props.value": { + "binding": { + "config": { + "path": "view.params.site" + }, + "type": "property" + }, + "persistent": true + } + }, + "props": { + "key": "value", + "options": [ + { + "label": "Prime L24 CDP", + "value": "Prime_L24_CDP" + } + ], + "value": "Prime_L24_CDP" + }, + "type": "ia.input.dropdown" + }, + { + "meta": { + "name": "Label_7" + }, + "position": { + "height": 35.36, + "width": 185.49, + "x": 10.859375, + "y": 13.109375 + }, + "props": { + "style": { + "backgroundColor": "#2B2B2B", + "color": "#FFFFFF", + "fontSize": "22px", + "textAlign": "right" + }, + "text": "CDP: " + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_26" + }, + "position": { + "height": 33.359375, + "width": 195, + "x": 27.28, + "y": 44.89 + }, + "props": { + "style": { + "backgroundColor": "#2B2B2B", + "borderStyle": "none", + "color": "#FFFFFF", + "fontSize": "20px", + "fontStyle": "normal", + "fontWeight": "bold", + "lineHeight": "51px", + "textAlign": "center" + }, + "text": "Pipeline Overview" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_27" + }, + "position": { + "height": 31.359375, + "width": 171, + "x": 30, + "y": 371 + }, + "props": { + "style": { + "backgroundColor": "#2B2B2B", + "borderStyle": "none", + "color": "#FFFFFF", + "fontSize": "20px", + "fontStyle": "normal", + "fontWeight": "bold", + "lineHeight": "51px", + "textAlign": "center" + }, + "text": "Pump Overview" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_28" + }, + "position": { + "height": 124.26562499999999, + "width": 390.28125, + "x": 10.859375, + "y": 580.4375 + }, + "props": { + "style": { + "borderStyle": "inset", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_29" + }, + "position": { + "height": 33.359375, + "width": 159, + "x": 30, + "y": 564 + }, + "props": { + "style": { + "backgroundColor": "#2B2B2B", + "borderStyle": "none", + "color": "#FFFFFF", + "fontSize": "20px", + "fontStyle": "normal", + "fontWeight": "bold", + "lineHeight": "51px", + "textAlign": "center" + }, + "text": "Station Status" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_30" + }, + "position": { + "height": 33.359375, + "width": 184.140625, + "x": 30, + "y": 403 + }, + "props": { + "style": { + "borderStyle": "none", + "color": "#FFFFFF" + }, + "text": "CS-640 (P1) Run Status:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_31" + }, + "position": { + "height": 33.359375, + "width": 190.140625, + "x": 30, + "y": 480 + }, + "props": { + "style": { + "borderStyle": "none", + "color": "#FFFFFF" + }, + "text": "WC-9178 (P2) Run Status:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_32" + }, + "position": { + "height": 33.359375, + "width": 197.40625, + "x": 25, + "y": 594 + }, + "props": { + "style": { + "borderStyle": "none", + "color": "#FFFFFF", + "fontSize": "18px", + "textAlign": "right" + }, + "text": "Station Control Mode:" + }, + "type": "ia.display.label" + }, + { + "custom": { + "historyTags": [ + { + "aggregate": "Minimum", + "alias": "Selected Tag" + } + ] + }, + "meta": { + "name": "Sparkline_3" + }, + "position": { + "height": 30.31, + "width": 95.72, + "x": 292.015625, + "y": 131.1875 + }, + "propConfig": { + "custom.History[0][1]": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027 + {parent.custom.site} + \u0027/Tank_02/Cur Top Gauge Feet}\u0027" + }, + "type": "expr" + } + }, + "custom.historyTags.0.path": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027 + {parent.custom.site} + \u0027/Tank_02/Cur Top Gauge Feet}\u0027" + }, + "type": "expr" + } + }, + "custom.historyTags.key.path": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027 + {parent.custom.site} + \u0027/Tank_01/Cur Top Gauge Feet\u0027" + }, + "type": "expr" + } + }, + "custom.historyTags[0].path": { + "binding": { + "config": { + "expression": "\"[default]\" + {parent.custom.site} + \"/Tank_02/Cur Top Gauge Feet\"" + }, + "type": "expr" + } + }, + "custom.key[1]": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027+ {parent.custom.site} + \u0027/Tank_02/Cur Top Gauge Feet}\u0027" + }, + "type": "expr" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "if({../Tank 2 Tag.props.text} \u003d null, False, True)" + }, + "type": "expr" + } + }, + "props.points": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "24", + "mostRecentUnits": "HOUR" + }, + "ignoreBadQuality": false, + "polling": { + "enabled": false, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "100", + "type": "FIXED" + }, + "tags": "{this.custom.historyTags}", + "valueFormat": "DATASET" + }, + "transforms": [ + { + "code": "\t# convert the incoming value data\n\tpyData \u003d system.dataset.toPyDataSet(value)\n\t# create a blank list so we can append later\n\tnewList \u003d []\n\t \n\t# step through the rows\n\tfor row in pyData:\n\t # append the dictionary to list\n\t if row[1] is not None:\n\t newList.append(row[1])\n\t \n\t# return the results\n\treturn newList", + "type": "script" + } + ], + "type": "tag-history" + } + } + }, + "props": { + "stroke": "#FFFFFF", + "style": { + "backgroundColor": "#2B2B2B", + "borderColor": "#FFFFFF", + "color": "#FFFFFF", + "outlineColor": "#FFFFFF", + "stroke": "#FFFFFF" + } + }, + "type": "ia.display.sparkline" + }, + { + "custom": { + "historyTags": [ + { + "aggregate": "Minimum", + "alias": "Selected Tag" + } + ] + }, + "meta": { + "name": "Sparkline_4" + }, + "position": { + "height": 30.31, + "width": 95.72, + "x": 292.015625, + "y": 173.15625 + }, + "propConfig": { + "custom.History[0][1]": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027 + {parent.custom.site} + \u0027/Tank_02/Cur Top Gauge Feet}\u0027" + }, + "type": "expr" + } + }, + "custom.historyTags.0.path": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027 + {parent.custom.site} + \u0027/Tank_02/Cur Top Gauge Feet}\u0027" + }, + "type": "expr" + } + }, + "custom.historyTags.key.path": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027 + {parent.custom.site} + \u0027/Tank_01/Cur Top Gauge Feet\u0027" + }, + "type": "expr" + } + }, + "custom.historyTags[0].path": { + "binding": { + "config": { + "expression": "\"[default]\" + {parent.custom.site} + \"/Tank_03/Cur Top Gauge Feet\"" + }, + "type": "expr" + } + }, + "custom.key[1]": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027+ {parent.custom.site} + \u0027/Tank_02/Cur Top Gauge Feet}\u0027" + }, + "type": "expr" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "if({../Tank 3 Tag.props.text} \u003d null, False, True)" + }, + "type": "expr" + } + }, + "props.points": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "24", + "mostRecentUnits": "HOUR" + }, + "ignoreBadQuality": false, + "polling": { + "enabled": false, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "100", + "type": "FIXED" + }, + "tags": "{this.custom.historyTags}", + "valueFormat": "DATASET" + }, + "transforms": [ + { + "code": "\t# convert the incoming value data\n\tpyData \u003d system.dataset.toPyDataSet(value)\n\t# create a blank list so we can append later\n\tnewList \u003d []\n\t \n\t# step through the rows\n\tfor row in pyData:\n\t # append the dictionary to list\n\t if row[1] is not None:\n\t newList.append(row[1])\n\t \n\t# return the results\n\treturn newList", + "type": "script" + } + ], + "type": "tag-history" + } + } + }, + "props": { + "stroke": "#FFFFFF", + "style": { + "backgroundColor": "#2B2B2B", + "borderColor": "#FFFFFF", + "color": "#FFFFFF", + "outlineColor": "#FFFFFF", + "stroke": "#FFFFFF" + } + }, + "type": "ia.display.sparkline" + }, + { + "custom": { + "historyTags": [ + { + "aggregate": "Minimum", + "alias": "Selected Tag" + } + ] + }, + "meta": { + "name": "Sparkline_5" + }, + "position": { + "height": 30.31, + "width": 95.72, + "x": 292.015625, + "y": 216.015625 + }, + "propConfig": { + "custom.History[0][1]": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027 + {parent.custom.site} + \u0027/Tank_02/Cur Top Gauge Feet}\u0027" + }, + "type": "expr" + } + }, + "custom.historyTags.0.path": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027 + {parent.custom.site} + \u0027/Tank_02/Cur Top Gauge Feet}\u0027" + }, + "type": "expr" + } + }, + "custom.historyTags.key.path": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027 + {parent.custom.site} + \u0027/Tank_01/Cur Top Gauge Feet\u0027" + }, + "type": "expr" + } + }, + "custom.historyTags[0].path": { + "binding": { + "config": { + "expression": "\"[default]\" + {parent.custom.site} + \"/Tank_04/Cur Top Gauge Feet\"" + }, + "type": "expr" + } + }, + "custom.key[1]": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027+ {parent.custom.site} + \u0027/Tank_02/Cur Top Gauge Feet}\u0027" + }, + "type": "expr" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "if({../Tank 4 Tag.props.text} \u003d null, False, True)" + }, + "type": "expr" + } + }, + "props.points": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "24", + "mostRecentUnits": "HOUR" + }, + "ignoreBadQuality": false, + "polling": { + "enabled": false, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "100", + "type": "FIXED" + }, + "tags": "{this.custom.historyTags}", + "valueFormat": "DATASET" + }, + "transforms": [ + { + "code": "\t# convert the incoming value data\n\tpyData \u003d system.dataset.toPyDataSet(value)\n\t# create a blank list so we can append later\n\tnewList \u003d []\n\t \n\t# step through the rows\n\tfor row in pyData:\n\t # append the dictionary to list\n\t if row[1] is not None:\n\t newList.append(row[1])\n\t \n\t# return the results\n\treturn newList", + "type": "script" + } + ], + "type": "tag-history" + } + } + }, + "props": { + "stroke": "#FFFFFF", + "style": { + "backgroundColor": "#2B2B2B", + "borderColor": "#FFFFFF", + "color": "#FFFFFF", + "outlineColor": "#FFFFFF", + "stroke": "#FFFFFF" + } + }, + "type": "ia.display.sparkline" + }, + { + "custom": { + "historyTags": [ + { + "aggregate": "Minimum", + "alias": "Selected Tag" + } + ] + }, + "meta": { + "name": "Sparkline_6" + }, + "position": { + "height": 29.296875, + "width": 93.71875, + "x": 293.046875, + "y": 263.03125 + }, + "propConfig": { + "custom.History[0][1]": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027 + {parent.custom.site} + \u0027/Tank_02/Cur Top Gauge Feet}\u0027" + }, + "type": "expr" + } + }, + "custom.historyTags.0.path": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027 + {parent.custom.site} + \u0027/Tank_02/Cur Top Gauge Feet}\u0027" + }, + "type": "expr" + } + }, + "custom.historyTags.key.path": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027 + {parent.custom.site} + \u0027/Tank_01/Cur Top Gauge Feet\u0027" + }, + "type": "expr" + } + }, + "custom.historyTags[0].path": { + "binding": { + "config": { + "expression": "\"[default]\" + {parent.custom.site} + \"/Tank_05/Cur Top Gauge Feet\"" + }, + "type": "expr" + } + }, + "custom.key[1]": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027+ {parent.custom.site} + \u0027/Tank_02/Cur Top Gauge Feet}\u0027" + }, + "type": "expr" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "if({../Tank 5 Tag.props.text} \u003d null, False, True)" + }, + "type": "expr" + } + }, + "props.points": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "24", + "mostRecentUnits": "HOUR" + }, + "ignoreBadQuality": false, + "polling": { + "enabled": false, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "100", + "type": "FIXED" + }, + "tags": "{this.custom.historyTags}", + "valueFormat": "DATASET" + }, + "transforms": [ + { + "code": "\t# convert the incoming value data\n\tpyData \u003d system.dataset.toPyDataSet(value)\n\t# create a blank list so we can append later\n\tnewList \u003d []\n\t \n\t# step through the rows\n\tfor row in pyData:\n\t # append the dictionary to list\n\t if row[1] is not None:\n\t newList.append(row[1])\n\t \n\t# return the results\n\treturn newList", + "type": "script" + } + ], + "type": "tag-history" + } + } + }, + "props": { + "stroke": "#FFFFFF", + "style": { + "backgroundColor": "#2B2B2B", + "borderColor": "#FFFFFF", + "color": "#FFFFFF", + "outlineColor": "#FFFFFF", + "stroke": "#FFFFFF" + } + }, + "type": "ia.display.sparkline" + }, + { + "custom": { + "historyTags": [ + { + "aggregate": "Minimum", + "alias": "Selected Tag" + } + ] + }, + "meta": { + "name": "Sparkline_7" + }, + "position": { + "height": 30.31, + "width": 95.72, + "x": 292.015625, + "y": 303.375 + }, + "propConfig": { + "custom.History[0][1]": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027 + {parent.custom.site} + \u0027/Tank_02/Cur Top Gauge Feet}\u0027" + }, + "type": "expr" + } + }, + "custom.historyTags.0.path": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027 + {parent.custom.site} + \u0027/Tank_02/Cur Top Gauge Feet}\u0027" + }, + "type": "expr" + } + }, + "custom.historyTags.key.path": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027 + {parent.custom.site} + \u0027/Tank_01/Cur Top Gauge Feet\u0027" + }, + "type": "expr" + } + }, + "custom.historyTags[0].path": { + "binding": { + "config": { + "expression": "\"[default]\" + {parent.custom.site} + \"/Tank_06/Cur Top Gauge Feet\"" + }, + "type": "expr" + } + }, + "custom.key[1]": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027+ {parent.custom.site} + \u0027/Tank_02/Cur Top Gauge Feet}\u0027" + }, + "type": "expr" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "if({../Tank 6 Tag.props.text} \u003d null, False, True)" + }, + "type": "expr" + } + }, + "props.points": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "24", + "mostRecentUnits": "HOUR" + }, + "ignoreBadQuality": false, + "polling": { + "enabled": false, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "100", + "type": "FIXED" + }, + "tags": "{this.custom.historyTags}", + "valueFormat": "DATASET" + }, + "transforms": [ + { + "code": "\t# convert the incoming value data\n\tpyData \u003d system.dataset.toPyDataSet(value)\n\t# create a blank list so we can append later\n\tnewList \u003d []\n\t \n\t# step through the rows\n\tfor row in pyData:\n\t # append the dictionary to list\n\t if row[1] is not None:\n\t newList.append(row[1])\n\t \n\t# return the results\n\treturn newList", + "type": "script" + } + ], + "type": "tag-history" + } + } + }, + "props": { + "stroke": "#FFFFFF", + "style": { + "backgroundColor": "#2B2B2B", + "borderColor": "#FFFFFF", + "color": "#FFFFFF", + "outlineColor": "#FFFFFF", + "stroke": "#FFFFFF" + } + }, + "type": "ia.display.sparkline" + }, + { + "custom": { + "historyTags": [ + { + "aggregate": "Minimum", + "alias": "Selected Tag" + } + ] + }, + "meta": { + "name": "Sparkline_8" + }, + "position": { + "height": 30.31, + "width": 95.72, + "x": 292.046875, + "y": 345.40625 + }, + "propConfig": { + "custom.History[0][1]": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027 + {parent.custom.site} + \u0027/Tank_02/Cur Top Gauge Feet}\u0027" + }, + "type": "expr" + } + }, + "custom.historyTags.0.path": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027 + {parent.custom.site} + \u0027/Tank_02/Cur Top Gauge Feet}\u0027" + }, + "type": "expr" + } + }, + "custom.historyTags.key.path": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027 + {parent.custom.site} + \u0027/Tank_01/Cur Top Gauge Feet\u0027" + }, + "type": "expr" + } + }, + "custom.historyTags[0].path": { + "binding": { + "config": { + "expression": "\"[default]\" + {parent.custom.site} + \"/Tank_07/Cur Top Gauge Feet\"" + }, + "type": "expr" + } + }, + "custom.key[1]": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027+ {parent.custom.site} + \u0027/Tank_02/Cur Top Gauge Feet}\u0027" + }, + "type": "expr" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "if({../Tank 7 Tag.props.text} \u003d null, False, True)" + }, + "type": "expr" + } + }, + "props.points": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "24", + "mostRecentUnits": "HOUR" + }, + "ignoreBadQuality": false, + "polling": { + "enabled": false, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "100", + "type": "FIXED" + }, + "tags": "{this.custom.historyTags}", + "valueFormat": "DATASET" + }, + "transforms": [ + { + "code": "\t# convert the incoming value data\n\tpyData \u003d system.dataset.toPyDataSet(value)\n\t# create a blank list so we can append later\n\tnewList \u003d []\n\t \n\t# step through the rows\n\tfor row in pyData:\n\t # append the dictionary to list\n\t if row[1] is not None:\n\t newList.append(row[1])\n\t \n\t# return the results\n\treturn newList", + "type": "script" + } + ], + "type": "tag-history" + } + } + }, + "props": { + "stroke": "#FFFFFF", + "style": { + "backgroundColor": "#2B2B2B", + "borderColor": "#FFFFFF", + "color": "#FFFFFF", + "outlineColor": "#FFFFFF", + "stroke": "#FFFFFF" + } + }, + "type": "ia.display.sparkline" + }, + { + "custom": { + "historyTags": [ + { + "aggregate": "Minimum", + "alias": "Selected Tag" + } + ] + }, + "meta": { + "name": "Sparkline_9" + }, + "position": { + "height": 30.31, + "width": 95.72, + "x": 292.015625, + "y": 393.359375 + }, + "propConfig": { + "custom.History[0][1]": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027 + {parent.custom.site} + \u0027/Tank_02/Cur Top Gauge Feet}\u0027" + }, + "type": "expr" + } + }, + "custom.historyTags.0.path": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027 + {parent.custom.site} + \u0027/Tank_02/Cur Top Gauge Feet}\u0027" + }, + "type": "expr" + } + }, + "custom.historyTags.key.path": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027 + {parent.custom.site} + \u0027/Tank_01/Cur Top Gauge Feet\u0027" + }, + "type": "expr" + } + }, + "custom.historyTags[0].path": { + "binding": { + "config": { + "expression": "\"[default]\" + {parent.custom.site} + \"/Tank_08/Cur Top Gauge Feet\"" + }, + "type": "expr" + } + }, + "custom.key[1]": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027+ {parent.custom.site} + \u0027/Tank_02/Cur Top Gauge Feet}\u0027" + }, + "type": "expr" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "if({../Tank 8 Tag.props.text} \u003d null, False, True)" + }, + "type": "expr" + } + }, + "props.points": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "24", + "mostRecentUnits": "HOUR" + }, + "ignoreBadQuality": false, + "polling": { + "enabled": false, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "100", + "type": "FIXED" + }, + "tags": "{this.custom.historyTags}", + "valueFormat": "DATASET" + }, + "transforms": [ + { + "code": "\t# convert the incoming value data\n\tpyData \u003d system.dataset.toPyDataSet(value)\n\t# create a blank list so we can append later\n\tnewList \u003d []\n\t \n\t# step through the rows\n\tfor row in pyData:\n\t # append the dictionary to list\n\t if row[1] is not None:\n\t newList.append(row[1])\n\t \n\t# return the results\n\treturn newList", + "type": "script" + } + ], + "type": "tag-history" + } + } + }, + "props": { + "stroke": "#FFFFFF", + "style": { + "backgroundColor": "#2B2B2B", + "borderColor": "#FFFFFF", + "color": "#FFFFFF", + "outlineColor": "#FFFFFF", + "stroke": "#FFFFFF" + } + }, + "type": "ia.display.sparkline" + }, + { + "custom": { + "historyTags": [ + { + "aggregate": "Minimum", + "alias": "Selected Tag" + } + ] + }, + "meta": { + "name": "Sparkline_10" + }, + "position": { + "height": 30.31, + "width": 95.72, + "x": 292.015625, + "y": 87.71875 + }, + "propConfig": { + "custom.History[0][1]": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027 + {parent.custom.site} + \u0027/Tank_02/Cur Top Gauge Feet}\u0027" + }, + "type": "expr" + } + }, + "custom.historyTags.0.path": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027 + {parent.custom.site} + \u0027/Tank_02/Cur Top Gauge Feet}\u0027" + }, + "type": "expr" + } + }, + "custom.historyTags.key.path": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027 + {parent.custom.site} + \u0027/Tank_01/Cur Top Gauge Feet\u0027" + }, + "type": "expr" + } + }, + "custom.historyTags[0].path": { + "binding": { + "config": { + "expression": "\"[default]\" + {parent.custom.site} + \"/Tank_01/Cur Top Gauge Feet\"" + }, + "type": "expr" + } + }, + "custom.key[1]": { + "binding": { + "config": { + "expression": "\u0027[default]\u0027+ {parent.custom.site} + \u0027/Tank_02/Cur Top Gauge Feet}\u0027" + }, + "type": "expr" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "if({../Tank 1 Tag.props.text} \u003d null, False, True)" + }, + "type": "expr" + } + }, + "props.points": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "24", + "mostRecentUnits": "HOUR" + }, + "ignoreBadQuality": false, + "polling": { + "enabled": false, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "100", + "type": "FIXED" + }, + "tags": "{this.custom.historyTags}", + "valueFormat": "DATASET" + }, + "transforms": [ + { + "code": "\t# convert the incoming value data\n\tpyData \u003d system.dataset.toPyDataSet(value)\n\t# create a blank list so we can append later\n\tnewList \u003d []\n\t \n\t# step through the rows\n\tfor row in pyData:\n\t # append the dictionary to list\n\t if row[1] is not None:\n\t newList.append(row[1])\n\t \n\t# return the results\n\treturn newList", + "type": "script" + } + ], + "type": "tag-history" + } + } + }, + "props": { + "stroke": "#FFFFFF", + "style": { + "backgroundColor": "#2B2B2B", + "borderColor": "#FFFFFF", + "color": "#FFFFFF", + "outlineColor": "#FFFFFF", + "stroke": "#FFFFFF" + } + }, + "type": "ia.display.sparkline" + }, + { + "meta": { + "name": "Label_48" + }, + "position": { + "height": 33.359375, + "width": 229.140625, + "x": 30, + "y": 519 + }, + "props": { + "style": { + "borderStyle": "none", + "color": "#FFFFFF" + }, + "text": "WC-9178 (P2) Speed Reference:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "baseline-fiber_manual_record-24px_2" + }, + "position": { + "height": 38.5, + "width": 33.609375, + "x": -171.109375, + "y": -7.390625 + }, + "propConfig": { + "props.elements[1].fill.paint": { + "binding": { + "config": { + "expression": "if(tag({parent.custom.site}+ \u0027/Status/Oil_HOA\u0027) , \"#00FF00\", \"#D5D5D5\")" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "d": "M24 24H0V0h24v24z", + "fill": { + "paint": "#2B2B2B" + }, + "name": "path", + "type": "path" + }, + { + "cx": "12", + "cy": "12", + "fill": {}, + "name": "circle", + "r": 8, + "type": "circle" + } + ], + "viewBox": "0 0 24 24" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Label_50" + }, + "position": { + "height": 33.359375, + "width": 142.140625, + "x": -135.375, + "y": -3.21875 + }, + "props": { + "style": { + "borderStyle": "none", + "color": "#FFFFFF" + }, + "text": "Water HOA Status:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_52" + }, + "position": { + "height": 33.359375, + "width": 217.140625, + "x": 30, + "y": 442 + }, + "props": { + "style": { + "borderStyle": "none", + "color": "#FFFFFF" + }, + "text": "CS-640 (P1) Speed Reference:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_51" + }, + "position": { + "height": 187.265625, + "width": 390.28125, + "x": 10.859375, + "y": 724 + }, + "props": { + "style": { + "borderStyle": "inset", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_54" + }, + "position": { + "height": 33.359375, + "width": 152, + "x": 30, + "y": 706 + }, + "props": { + "style": { + "backgroundColor": "#2B2B2B", + "borderStyle": "none", + "color": "#FFFFFF", + "fontSize": "20px", + "fontStyle": "normal", + "fontWeight": "bold", + "lineHeight": "51px", + "textAlign": "center" + }, + "text": "Flow Statistics" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_55" + }, + "position": { + "height": 33.36, + "width": 140, + "x": 25, + "y": 85 + }, + "props": { + "style": { + "borderStyle": "none", + "color": "#FFFFFF", + "textAlign": "right" + }, + "text": "Inlet DPT:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_56" + }, + "position": { + "height": 33.36, + "width": 140, + "x": 25, + "y": 125 + }, + "props": { + "style": { + "borderStyle": "none", + "color": "#FFFFFF", + "textAlign": "right" + }, + "text": "Inlet Pressure:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_57" + }, + "position": { + "height": 33.36, + "width": 140, + "x": 25, + "y": 165 + }, + "props": { + "style": { + "borderStyle": "none", + "color": "#FFFFFF", + "textAlign": "right" + }, + "text": "Temperature:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_58" + }, + "position": { + "height": 33.36, + "width": 140, + "x": 25, + "y": 205 + }, + "props": { + "style": { + "borderStyle": "none", + "color": "#FFFFFF", + "textAlign": "right" + }, + "text": "Flow Rate:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_59" + }, + "position": { + "height": 33.359375, + "width": 140, + "x": 25, + "y": 245 + }, + "props": { + "style": { + "borderStyle": "none", + "color": "#FFFFFF", + "textAlign": "right" + }, + "text": "PipeLine Pressure:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_60", + "visible": 1 + }, + "position": { + "height": 33.36, + "rotate": { + "anchor": "65%" + }, + "width": 109.12, + "x": 170, + "y": 165 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "mode": "indirect", + "references": { + "1": "{parent.custom.site}" + }, + "tagPath": "[default]{1}/Status/Inlet_Temp" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "borderStyle": "outset", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_61", + "visible": 1 + }, + "position": { + "height": 33.36, + "rotate": { + "anchor": "65%" + }, + "width": 109.12, + "x": 170, + "y": 85 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "mode": "indirect", + "references": { + "1": "{parent.custom.site}" + }, + "tagPath": "[default]{1}/Status/Inlet_Strainer_DPT" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "borderStyle": "outset", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_62", + "visible": 1 + }, + "position": { + "height": 33.36, + "rotate": { + "anchor": "65%" + }, + "width": 109.12, + "x": 170, + "y": 125 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "mode": "indirect", + "references": { + "1": "{parent.custom.site}" + }, + "tagPath": "[default]{1}/Status/Inlet_Pressure" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "borderStyle": "outset", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_63", + "visible": 1 + }, + "position": { + "height": 33.36, + "rotate": { + "anchor": "65%" + }, + "width": 109.12, + "x": 170, + "y": 205 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "mode": "indirect", + "references": { + "1": "{parent.custom.site}" + }, + "tagPath": "[default]{1}/Status/Transfer_FlowRate" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "borderStyle": "outset", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_64", + "visible": 1 + }, + "position": { + "height": 33.36, + "rotate": { + "anchor": "65%" + }, + "width": 109.12, + "x": 170, + "y": 245 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "mode": "indirect", + "references": { + "1": "{parent.custom.site}" + }, + "tagPath": "[default]{1}/Status/Pipeline_Pressure" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "borderStyle": "outset", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_65" + }, + "position": { + "height": 33.36, + "width": 124.05, + "x": 285, + "y": 85 + }, + "props": { + "style": { + "borderStyle": "none", + "color": "#FFFFFF" + }, + "text": "PSI" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_66" + }, + "position": { + "height": 33.36, + "width": 124.05, + "x": 285, + "y": 125 + }, + "props": { + "style": { + "borderStyle": "none", + "color": "#FFFFFF" + }, + "text": "PSI" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_67" + }, + "position": { + "height": 33.36, + "width": 124.05, + "x": 285, + "y": 245 + }, + "props": { + "style": { + "borderStyle": "none", + "color": "#FFFFFF" + }, + "text": "PSI" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_68" + }, + "position": { + "height": 33.36, + "width": 124.05, + "x": 285, + "y": 165 + }, + "props": { + "style": { + "borderStyle": "none", + "color": "#FFFFFF" + }, + "text": "°F" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_69" + }, + "position": { + "height": 33.36, + "width": 124.05, + "x": 285, + "y": 205 + }, + "props": { + "style": { + "borderStyle": "none", + "color": "#FFFFFF" + }, + "text": "BBL/Hr" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_70", + "visible": 1 + }, + "position": { + "height": 33.36, + "rotate": { + "anchor": "65%" + }, + "width": 109.12, + "x": 170, + "y": 285 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "if(tag({parent.custom.site}+ \u0027/PhysicalIO/Discharge_MOV_Opened\u0027) , \"Open\", \"Closed\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderStyle": "outset", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_71", + "visible": 1 + }, + "position": { + "height": 33.36, + "rotate": { + "anchor": "65%" + }, + "width": 109.12, + "x": 170, + "y": 325 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "mode": "indirect", + "references": { + "1": "{parent.custom.site}" + }, + "tagPath": "[default]{1}/Status/FCV_Pos_Ref_AO" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "borderStyle": "outset", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_72" + }, + "position": { + "height": 33.36, + "width": 124.05, + "x": 285, + "y": 325 + }, + "props": { + "style": { + "borderStyle": "none", + "color": "#FFFFFF" + }, + "text": "%" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_73" + }, + "position": { + "height": 33.359375, + "width": 140, + "x": 25, + "y": 285 + }, + "props": { + "style": { + "borderStyle": "none", + "color": "#FFFFFF", + "textAlign": "right" + }, + "text": "ESD Value:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_74" + }, + "position": { + "height": 33.359375, + "width": 140, + "x": 25, + "y": 325 + }, + "props": { + "style": { + "borderStyle": "none", + "color": "#FFFFFF", + "textAlign": "right" + }, + "text": "Control Valve:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_75", + "visible": 1 + }, + "position": { + "height": 33.36, + "rotate": { + "anchor": "65%" + }, + "width": 109.12, + "x": 270, + "y": 443 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "mode": "indirect", + "references": { + "1": "{parent.custom.site}" + }, + "tagPath": "[default]{1}/PhysicalIO/CHEM_PUMP1_AO" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "borderStyle": "outset", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_76", + "visible": 1 + }, + "position": { + "height": 33.36, + "rotate": { + "anchor": "65%" + }, + "width": 109.12, + "x": 270, + "y": 521 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "mode": "indirect", + "references": { + "1": "{parent.custom.site}" + }, + "tagPath": "[default]{1}/PhysicalIO/CHEM_PUMP2_AO" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "borderStyle": "outset", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "baseline-fiber_manual_record-24px_1" + }, + "position": { + "height": 38.5, + "width": 33.61, + "x": 235, + "y": 634 + }, + "propConfig": { + "props.elements[1].fill.paint": { + "binding": { + "config": { + "expression": "if(tag({parent.custom.site}+ \u0027/Alarm/Global_PLC_Comms_Fail\u0027) , \"#D5D5D5\", \"#00FF00\")" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "d": "M24 24H0V0h24v24z", + "fill": { + "paint": "#2B2B2B" + }, + "name": "path", + "type": "path" + }, + { + "cx": "12", + "cy": "12", + "fill": {}, + "name": "circle", + "r": 8, + "type": "circle" + } + ], + "viewBox": "0 0 24 24" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "baseline-fiber_manual_record-24px_3" + }, + "position": { + "height": 38.5, + "width": 33.61, + "x": 235, + "y": 664 + }, + "propConfig": { + "props.elements[1].fill.paint": { + "binding": { + "config": { + "expression": "if(tag({parent.custom.site}+ \u0027/Status/PSD\u0027) , \"#D5D5D5\", \"#00FF00\")" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "d": "M24 24H0V0h24v24z", + "fill": { + "paint": "#2B2B2B" + }, + "name": "path", + "type": "path" + }, + { + "cx": "12", + "cy": "12", + "fill": {}, + "name": "circle", + "r": 8, + "type": "circle" + } + ], + "viewBox": "0 0 24 24" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Label_33" + }, + "position": { + "height": 33.359375, + "width": 206, + "x": 16, + "y": 636 + }, + "props": { + "style": { + "borderStyle": "none", + "color": "#FFFFFF", + "fontSize": "18px", + "textAlign": "right" + }, + "text": "Global Comms:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_34" + }, + "position": { + "height": 33.359375, + "width": 197.40625, + "x": 25, + "y": 666 + }, + "props": { + "style": { + "borderStyle": "none", + "color": "#FFFFFF", + "fontSize": "18px", + "textAlign": "right" + }, + "text": "Battery ESD Status:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_77", + "visible": 1 + }, + "position": { + "height": 33.36, + "rotate": { + "anchor": "65%" + }, + "width": 109.12, + "x": 230, + "y": 594 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "case(tag({parent.custom.site}+ \u0027/HMI_CMDS/Station_Control_Mode\u0027), 0, \"OFF\", 1, \"Auto\", 2, \"Manual\",\"Error\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderStyle": "outset", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_78", + "visible": 1 + }, + "position": { + "height": 33.36, + "rotate": { + "anchor": "65%" + }, + "width": 109.12, + "x": 210, + "y": 786 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "mode": "indirect", + "references": { + "1": "{parent.custom.site}" + }, + "tagPath": "[default]{1}/Status/Flow_Net_VOL_Ystdy" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "borderStyle": "outset", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_79", + "visible": 1 + }, + "position": { + "height": 33.36, + "rotate": { + "anchor": "65%" + }, + "width": 109.12, + "x": 210, + "y": 866 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "mode": "indirect", + "references": { + "1": "{parent.custom.site}" + }, + "tagPath": "[default]{1}/Status/Flow_Gross_VOL_Ystdy" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "borderStyle": "outset", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_80", + "visible": 1 + }, + "position": { + "height": 33.36, + "rotate": { + "anchor": "65%" + }, + "width": 109.12, + "x": 210, + "y": 826 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "mode": "indirect", + "references": { + "1": "{parent.custom.site}" + }, + "tagPath": "[default]{1}/Status/Flow_Gross_VOL_Today" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "borderStyle": "outset", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_81", + "visible": 1 + }, + "position": { + "height": 33.36, + "rotate": { + "anchor": "65%" + }, + "width": 109.12, + "x": 210, + "y": 746 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "mode": "indirect", + "references": { + "1": "{parent.custom.site}" + }, + "tagPath": "[default]{1}/Status/Flow_Net_VOL_Today" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "borderStyle": "outset", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_82" + }, + "position": { + "height": 33.359375, + "width": 178, + "x": 25, + "y": 746 + }, + "props": { + "style": { + "borderStyle": "none", + "color": "#FFFFFF", + "textAlign": "right" + }, + "text": "Net Volume Today:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_83" + }, + "position": { + "height": 33.359375, + "width": 178, + "x": 25, + "y": 786 + }, + "props": { + "style": { + "borderStyle": "none", + "color": "#FFFFFF", + "textAlign": "right" + }, + "text": "Net Volume Yesterday:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_84" + }, + "position": { + "height": 33.359375, + "width": 178, + "x": 25, + "y": 826 + }, + "props": { + "style": { + "borderStyle": "none", + "color": "#FFFFFF", + "textAlign": "right" + }, + "text": "Gross Volume Today:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_85" + }, + "position": { + "height": 33.359375, + "width": 178, + "x": 25, + "y": 866 + }, + "props": { + "style": { + "borderStyle": "none", + "color": "#FFFFFF", + "textAlign": "right" + }, + "text": "Gross Volume Yesterday:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_86", + "visible": 1 + }, + "position": { + "height": 33.36, + "rotate": { + "anchor": "65%" + }, + "width": 109.12, + "x": 270, + "y": 405 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "if(tag({parent.custom.site}+ \u0027/PhysicalIO/CHEM_PUMP1_AO\u0027) , \"ON\", \"OFF\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderStyle": "outset", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_87", + "visible": 1 + }, + "position": { + "height": 33.36, + "rotate": { + "anchor": "65%" + }, + "width": 109.12, + "x": 270, + "y": 484 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "if(tag({parent.custom.site}+ \u0027/PhysicalIO/CHEM_PUMP2_AO\u0027) , \"ON\", \"OFF\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderStyle": "outset", + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "site": "Prime_L24_CDP" + }, + "meta": { + "name": "root" + }, + "propConfig": { + "custom.site": { + "binding": { + "config": { + "path": "./Dropdown.props.value" + }, + "type": "property" + }, + "persistent": true + } + }, + "props": { + "style": { + "backgroundColor": "#2B2B2B" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Map/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Map/resource.json new file mode 100644 index 0000000..bbb7457 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Map/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "2f3e3447ef5cda9ec1f24533c2f5a29fc29d96645dd8a0527d2c008cb31529f0", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Map/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Map/thumbnail.png new file mode 100644 index 0000000..1dbb065 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Map/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Map/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Map/view.json new file mode 100644 index 0000000..c40ef18 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Map/view.json @@ -0,0 +1,794 @@ +{ + "custom": {}, + "params": {}, + "props": {}, + "root": { + "children": [ + { + "meta": { + "name": "Map" + }, + "position": { + "basis": "799px", + "grow": 1, + "shrink": 0 + }, + "props": { + "init": { + "center": { + "lat": 35.148884, + "lng": -97.198665 + }, + "zoom": 6 + }, + "layers": { + "raster": { + "tile": [ + { + "WMS": { + "format": "image/jpeg", + "layers": "", + "styles": "", + "transparent": false, + "uppercase": false, + "version": "1.1.1" + }, + "options": { + "attribution": "Map data \u0026copy; \u003ca href\u003d\u0027https://www.openstreetmap.org/\u0027\u003eOpenStreetMap\u003c/a\u003e contributors, \u003ca href\u003d\u0027https://creativecommons.org/licenses/by-sa/2.0/\u0027\u003eCC-BY-SA\u003c/a\u003e", + "crossOrigin": false, + "detectRetina": false, + "errorTileUrl": "", + "opacity": 1, + "subdomains": [ + "a", + "b", + "c" + ], + "tileSize": { + "height": 256, + "width": 256 + }, + "tms": false, + "update": { + "interval": 200, + "whenIdle": false, + "whenZooming": true + }, + "zIndex": 1, + "zoom": { + "max": 18, + "min": 0, + "native": { + "max": null, + "min": null + }, + "offset": 0, + "reverse": false + } + }, + "url": "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png", + "urlTemplateParams": {} + } + ] + }, + "ui": { + "key": "value", + "marker": [ + { + "icon": { + "color": "#4190F7", + "path": "material/location_on", + "size": { + "height": 36, + "width": 36 + }, + "style": { + "classes": "" + } + }, + "lat": 36.195575, + "lng": -86.792662, + "name": "", + "opacity": 1, + "popup": { + "autoClose": true, + "closeButton": true, + "closeOnClick": null, + "closeOnEscapeKey": true, + "content": { + "text": "Prime Controls - Nashville", + "view": { + "params": {}, + "path": "" + } + }, + "enabled": false, + "height": { + "max": null + }, + "pan": { + "auto": true + }, + "width": { + "max": 300, + "min": 50 + } + }, + "tooltip": { + "content": { + "text": "", + "view": { + "params": {}, + "path": "" + } + }, + "direction": "auto", + "opacity": 1, + "permanent": false, + "sticky": false + } + }, + { + "icon": { + "color": "#4190F7", + "path": "material/location_on", + "size": { + "height": 36, + "width": 36 + }, + "style": { + "classes": "" + } + }, + "lat": 31.943913, + "lng": -102.273813, + "name": "Prime Controls - Midland", + "opacity": 1, + "popup": { + "autoClose": true, + "closeButton": true, + "closeOnClick": null, + "closeOnEscapeKey": true, + "content": { + "text": "Prime Control - Midland", + "view": { + "params": {}, + "path": "" + } + }, + "enabled": false, + "height": { + "max": null + }, + "pan": { + "auto": true + }, + "width": { + "max": 300, + "min": 50 + } + }, + "tooltip": { + "content": { + "text": "", + "view": { + "params": {}, + "path": "" + } + }, + "direction": "auto", + "opacity": 1, + "permanent": false, + "sticky": false + } + }, + { + "icon": { + "color": "#4190F7", + "path": "material/location_on", + "size": { + "height": 36, + "width": 36 + }, + "style": { + "classes": "" + } + }, + "lat": 33.020705, + "lng": -96.981087, + "name": "", + "opacity": 1, + "popup": { + "autoClose": true, + "closeButton": true, + "closeOnClick": null, + "closeOnEscapeKey": true, + "content": { + "text": "Prime Controls - Lewisville", + "view": { + "params": {}, + "path": "" + } + }, + "enabled": false, + "height": { + "max": null + }, + "pan": { + "auto": true + }, + "width": { + "max": 300, + "min": 50 + } + }, + "tooltip": { + "content": { + "text": "", + "view": { + "params": {}, + "path": "" + } + }, + "direction": "auto", + "opacity": 1, + "permanent": false, + "sticky": false + } + }, + { + "icon": { + "color": "#4190F7", + "path": "material/location_on", + "size": { + "height": 36, + "width": 36 + }, + "style": { + "classes": "" + } + }, + "lat": 29.562826, + "lng": -98.285638, + "name": "", + "opacity": 1, + "popup": { + "autoClose": true, + "closeButton": true, + "closeOnClick": null, + "closeOnEscapeKey": true, + "content": { + "text": "Prime Controls - Shertz", + "view": { + "params": {}, + "path": "" + } + }, + "enabled": false, + "height": { + "max": null + }, + "pan": { + "auto": true + }, + "width": { + "max": 300, + "min": 50 + } + }, + "tooltip": { + "content": { + "text": "", + "view": { + "params": {}, + "path": "" + } + }, + "direction": "auto", + "opacity": 1, + "permanent": false, + "sticky": false + } + }, + { + "icon": { + "color": "#4190F7", + "path": "material/location_on", + "size": { + "height": 36, + "width": 36 + }, + "style": { + "classes": "" + } + }, + "lat": 29.643666, + "lng": -95.598704, + "name": "", + "opacity": 1, + "popup": { + "autoClose": true, + "closeButton": true, + "closeOnClick": null, + "closeOnEscapeKey": true, + "content": { + "text": "Prime Controls - Houston", + "view": { + "params": {}, + "path": "" + } + }, + "enabled": true, + "height": { + "max": null + }, + "pan": { + "auto": true + }, + "width": { + "max": 300, + "min": 50 + } + }, + "tooltip": { + "content": { + "text": "", + "view": { + "params": {}, + "path": "" + } + }, + "direction": "auto", + "opacity": 1, + "permanent": false, + "sticky": false + } + }, + { + "icon": { + "color": "#4190F7", + "path": "material/location_on", + "size": { + "height": 36, + "width": 36 + }, + "style": { + "classes": "" + } + }, + "lat": 29.976097, + "lng": -90.180403, + "name": "", + "opacity": 1, + "popup": { + "autoClose": true, + "closeButton": true, + "closeOnClick": null, + "closeOnEscapeKey": true, + "content": { + "text": "Prime Controls - Louisiana", + "view": { + "params": {}, + "path": "" + } + }, + "enabled": false, + "height": { + "max": null + }, + "pan": { + "auto": true + }, + "width": { + "max": 300, + "min": 50 + } + }, + "tooltip": { + "content": { + "text": "", + "view": { + "params": {}, + "path": "" + } + }, + "direction": "auto", + "opacity": 1, + "permanent": false, + "sticky": false + } + }, + { + "icon": { + "color": "#4190F7", + "path": "material/location_on", + "size": { + "height": 36, + "width": 36 + }, + "style": { + "classes": "" + } + }, + "lat": 33.420966, + "lng": -111.963025, + "name": "", + "opacity": 1, + "popup": { + "autoClose": true, + "closeButton": true, + "closeOnClick": null, + "closeOnEscapeKey": true, + "content": { + "text": "Prime Controls - Arizona", + "view": { + "params": {}, + "path": "" + } + }, + "enabled": false, + "height": { + "max": null + }, + "pan": { + "auto": true + }, + "width": { + "max": 300, + "min": 50 + } + }, + "tooltip": { + "content": { + "text": "", + "view": { + "params": {}, + "path": "" + } + }, + "direction": "auto", + "opacity": 1, + "permanent": false, + "sticky": false + } + }, + { + "icon": { + "color": "#4190F7", + "path": "material/location_on", + "size": { + "height": 36, + "width": 36 + }, + "style": { + "classes": "" + } + }, + "lat": 39.827864, + "lng": -104.964553, + "name": "", + "opacity": 1, + "popup": { + "autoClose": true, + "closeButton": true, + "closeOnClick": null, + "closeOnEscapeKey": true, + "content": { + "text": "Prime Controls - Colorado", + "view": { + "params": {}, + "path": "" + } + }, + "enabled": false, + "height": { + "max": null + }, + "pan": { + "auto": true + }, + "width": { + "max": 300, + "min": 50 + } + }, + "tooltip": { + "content": { + "text": "", + "view": { + "params": {}, + "path": "" + } + }, + "direction": "auto", + "opacity": 1, + "permanent": false, + "sticky": false + } + }, + { + "icon": { + "color": "#4190F7", + "path": "material/location_on", + "size": { + "height": 36, + "width": 36 + }, + "style": { + "classes": "" + } + }, + "lat": 30.470678, + "lng": -97.663526, + "name": "", + "opacity": 1, + "popup": { + "autoClose": true, + "closeButton": true, + "closeOnClick": null, + "closeOnEscapeKey": true, + "content": { + "text": "Prime Controls - Austin", + "view": { + "params": {}, + "path": "" + } + }, + "enabled": false, + "height": { + "max": null + }, + "pan": { + "auto": true + }, + "width": { + "max": 300, + "min": 50 + } + }, + "tooltip": { + "content": { + "text": "", + "view": { + "params": {}, + "path": "" + } + }, + "direction": "auto", + "opacity": 1, + "permanent": false, + "sticky": false + } + }, + { + "icon": { + "color": "#4190F7", + "path": "material/location_on", + "size": { + "height": 36, + "width": 36 + }, + "style": { + "classes": "" + } + }, + "lat": 31.989742, + "lng": -95.273849, + "name": "", + "opacity": 1, + "popup": { + "autoClose": true, + "closeButton": true, + "closeOnClick": null, + "closeOnEscapeKey": true, + "content": { + "text": "Prime Controls - East Texas", + "view": { + "params": {}, + "path": "" + } + }, + "enabled": false, + "height": { + "max": null + }, + "pan": { + "auto": true + }, + "width": { + "max": 300, + "min": 50 + } + }, + "tooltip": { + "content": { + "text": "", + "view": { + "params": {}, + "path": "" + } + }, + "direction": "auto", + "opacity": 1, + "permanent": false, + "sticky": false + } + }, + { + "icon": { + "color": "#4190F7", + "path": "material/location_on", + "size": { + "height": 36, + "width": 36 + }, + "style": { + "classes": "" + } + }, + "lat": 35.142773, + "lng": -101.882459, + "name": "", + "opacity": 1, + "popup": { + "autoClose": true, + "closeButton": true, + "closeOnClick": null, + "closeOnEscapeKey": true, + "content": { + "text": "Prime Controls - Amarillo", + "view": { + "params": {}, + "path": "" + } + }, + "enabled": false, + "height": { + "max": null + }, + "pan": { + "auto": true + }, + "width": { + "max": 300, + "min": 50 + } + }, + "tooltip": { + "content": { + "text": "", + "view": { + "params": {}, + "path": "" + } + }, + "direction": "auto", + "opacity": 1, + "permanent": false, + "sticky": false + } + }, + { + "icon": { + "color": "#4190F7", + "path": "material/location_on", + "size": { + "height": 36, + "width": 36 + }, + "style": { + "classes": "" + } + }, + "lat": 33.678335, + "lng": -112.062834, + "name": "", + "opacity": 1, + "popup": { + "autoClose": true, + "closeButton": true, + "closeOnClick": null, + "closeOnEscapeKey": true, + "content": { + "text": "Prime Controls - Arizona North", + "view": { + "params": {}, + "path": "" + } + }, + "enabled": false, + "height": { + "max": null + }, + "pan": { + "auto": true + }, + "width": { + "max": 300, + "min": 50 + } + }, + "tooltip": { + "content": { + "text": "", + "view": { + "params": {}, + "path": "" + } + }, + "direction": "auto", + "opacity": 1, + "permanent": false, + "sticky": false + } + } + ], + "popup": [ + { + "autoClose": true, + "closeButton": true, + "closeOnClick": null, + "closeOnEscapeKey": true, + "content": { + "text": "", + "view": { + "params": {}, + "path": "" + } + }, + "enabled": false, + "height": { + "max": null + }, + "lat": null, + "lng": null, + "pan": { + "auto": true + }, + "width": { + "max": 300, + "min": 50 + } + }, + { + "autoClose": true, + "closeButton": true, + "closeOnClick": null, + "closeOnEscapeKey": true, + "content": { + "text": "", + "view": { + "params": {}, + "path": "" + } + }, + "enabled": true, + "height": { + "max": null + }, + "lat": null, + "lng": null, + "pan": { + "auto": true + }, + "width": { + "max": 300, + "min": 50 + } + } + ] + } + } + }, + "type": "ia.display.map" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/PlantPAX_Instances/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/PlantPAX_Instances/resource.json new file mode 100644 index 0000000..a2cdea4 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/PlantPAX_Instances/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "52ad6658fd1d281344ad0786e4251cbc7e8b1d1fe9520c05d280626efe85661f", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/PlantPAX_Instances/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/PlantPAX_Instances/thumbnail.png new file mode 100644 index 0000000..b01f2e0 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/PlantPAX_Instances/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/PlantPAX_Instances/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/PlantPAX_Instances/view.json new file mode 100644 index 0000000..6c12617 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/PlantPAX_Instances/view.json @@ -0,0 +1,898 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 900, + "width": 1750 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "AlarmStatusTable" + }, + "position": { + "height": 237, + "width": 1749, + "x": 0.86, + "y": 658 + }, + "props": { + "filters": { + "active": { + "conditions": { + "source": "*prov:default:/tag:Test_Tags*" + }, + "states": { + "activeAcked": false, + "clearUnacked": false + } + } + }, + "pager": { + "hide": true, + "initialOption": 100 + }, + "toolbar": { + "enableConfiguration": false, + "enableFilter": false, + "enableFilterResults": false, + "enablePreFilters": false, + "enableShelvedTab": false + } + }, + "type": "ia.display.alarmstatustable" + }, + { + "meta": { + "name": "AnalogTrend_0" + }, + "position": { + "height": 33, + "width": 55, + "x": 827.4200000000001, + "y": 154.55 + }, + "props": { + "params": { + "appereance": "p\u0026id", + "showLabel": true, + "tagPath": "Test_Tags/P_Ain" + }, + "path": "Plant PAX/Faceplates/AnalogTrend" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "AnalogTrend_1" + }, + "position": { + "height": 36, + "width": 55, + "x": 300.40200000000004, + "y": 345.514 + }, + "props": { + "params": { + "appereance": "p\u0026id", + "showLabel": true, + "tagPath": "Test_Tags/P_Ain" + }, + "path": "Plant PAX/Faceplates/AnalogTrend" + }, + "type": "ia.display.view" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Desc" + }, + "position": { + "basis": "10px", + "grow": 1, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Popups/label", + "color": "#2B2B2B", + "fontWeight": "bold", + "textAlign": "center" + }, + "text": "Prime Controls - PlantPAX Graphics Library" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Header" + }, + "position": { + "basis": 650, + "grow": 1, + "shrink": 0 + }, + "props": { + "alignItems": "center", + "style": { + "borderBottomStyle": "ridge", + "classes": "Popups/General/core", + "fontSize": "16px", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "height": 41, + "rotate": { + "anchor": "38% 50%" + }, + "width": 1749, + "x": -0.16, + "y": -1.27 + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "P_AIn" + }, + "position": { + "height": 44, + "width": 140, + "x": 48.322, + "y": 92.859 + }, + "props": { + "params": { + "showLabel": true, + "tagPath": "[default]Test_Tags/P_AIn" + }, + "path": "Plant PAX/Faceplates/P_AIn/P_AIn1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "P_Motor_PumpR" + }, + "position": { + "height": 75, + "width": 140, + "x": 560.422, + "y": 254.2 + }, + "props": { + "params": { + "showLabel": true, + "tagPath": "[default]Test_Tags/P_Motor" + }, + "path": "Plant PAX/Faceplates/P_Motor/P_Motor_PumpR" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "P_Motor_PumpR_0" + }, + "position": { + "height": 75, + "width": 140, + "x": 561.422, + "y": 168.7 + }, + "props": { + "params": { + "showLabel": true, + "tagPath": "[default]Test_Tags/P_Motor" + }, + "path": "Plant PAX/Faceplates/P_Motor/P_Motor_MotorR" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "P_DOut1" + }, + "position": { + "height": 44, + "width": 140, + "x": 47.422, + "y": 497.234 + }, + "props": { + "params": { + "showLabel": true, + "tagPath": "[default]Test_Tags/P_DOut" + }, + "path": "Plant PAX/Faceplates/P_DOut/P_DOut1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 33.00000000000001, + "width": 204, + "x": 47.422000000000025, + "y": 54.87 + }, + "props": { + "style": { + "borderBottomColor": "#3F3F3F", + "borderBottomStyle": "solid", + "borderBottomWidth": "1px", + "color": "#3F3F3F", + "fontWeight": "bold" + }, + "text": "P_AIn" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 33, + "width": 204, + "x": 47.422000000000025, + "y": 187.9 + }, + "props": { + "style": { + "borderBottomColor": "#3F3F3F", + "borderBottomStyle": "solid", + "borderBottomWidth": "1px", + "color": "#3F3F3F", + "fontWeight": "bold" + }, + "text": "P_AOut" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "P_AOut1" + }, + "position": { + "height": 44, + "width": 140, + "x": 47.422, + "y": 226.871 + }, + "props": { + "params": { + "frameColor": "#91919161", + "showFrame": true, + "showLabel": true, + "tagPath": "[default]Test_Tags/SC_01" + }, + "path": "Plant PAX/Faceplates/P_AOut/P_AOut1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "P_DIn3" + }, + "position": { + "height": 42, + "width": 140, + "x": 47.4, + "y": 359.871 + }, + "props": { + "params": { + "showLabel": true, + "tagPath": "[default]Test_Tags/P_Din" + }, + "path": "Plant PAX/Faceplates/P_DIn/P_DIn1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "height": 33, + "width": 204, + "x": 47.422000000000025, + "y": 320.9 + }, + "props": { + "style": { + "borderBottomColor": "#3F3F3F", + "borderBottomStyle": "solid", + "borderBottomWidth": "1px", + "color": "#3F3F3F", + "fontWeight": "bold" + }, + "text": "P_DIn" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "height": 33, + "width": 204, + "x": 47.422000000000025, + "y": 453.9 + }, + "props": { + "style": { + "borderBottomColor": "#3F3F3F", + "borderBottomStyle": "solid", + "borderBottomWidth": "1px", + "color": "#3F3F3F", + "fontWeight": "bold" + }, + "text": "P_DOut" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_3" + }, + "position": { + "height": 33.00000000000001, + "width": 414, + "x": 272.432, + "y": 54.01 + }, + "props": { + "style": { + "borderBottomColor": "#3F3F3F", + "borderBottomStyle": "solid", + "borderBottomWidth": "1px", + "color": "#3F3F3F", + "fontWeight": "bold" + }, + "text": "P_Motor" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "P_Motor_InlineL" + }, + "position": { + "height": 69, + "width": 179, + "x": 270.29999999999995, + "y": 87.2 + }, + "props": { + "params": { + "showLabel": true, + "tagPath": "[default]Test_Tags/P_Motor" + }, + "path": "Plant PAX/Faceplates/P_Motor/P_Motor_InlineL" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "P_Motor_InlineR" + }, + "position": { + "height": 69, + "width": 179, + "x": 361.422, + "y": 87.2 + }, + "props": { + "params": { + "showLabel": true, + "tagPath": "[default]Test_Tags/P_Motor" + }, + "path": "Plant PAX/Faceplates/P_Motor/P_Motor_InlineR" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "P_Motor_InlineU" + }, + "position": { + "height": 77, + "width": 140, + "x": 560.665, + "y": 87.243 + }, + "props": { + "params": { + "showLabel": true, + "tagPath": "[default]Test_Tags/P_Motor" + }, + "path": "Plant PAX/Faceplates/P_Motor/P_Motor_InlineU" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "P_Motor_MotorD" + }, + "position": { + "height": 82, + "width": 140, + "x": 270.29999999999995, + "y": 166.2 + }, + "props": { + "params": { + "showLabel": true, + "tagPath": "[default]Test_Tags/P_Motor" + }, + "path": "Plant PAX/Faceplates/P_Motor/P_Motor_MotorD" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "P_Motor_MotorU" + }, + "position": { + "height": 82, + "width": 140, + "x": 412.62199999999996, + "y": 166.2 + }, + "props": { + "params": { + "showLabel": true, + "tagPath": "[default]Test_Tags/P_Motor" + }, + "path": "Plant PAX/Faceplates/P_Motor/P_Motor_MotorU" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "P_Motor_PumpU" + }, + "position": { + "height": 75, + "width": 140, + "x": 270.29999999999995, + "y": 255.2 + }, + "props": { + "params": { + "showLabel": true, + "tagPath": "[default]Test_Tags/P_Motor" + }, + "path": "Plant PAX/Faceplates/P_Motor/P_Motor_PumpU" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "P_Motor_PumpL" + }, + "position": { + "height": 75, + "width": 140, + "x": 411.62199999999996, + "y": 254.2 + }, + "props": { + "params": { + "showLabel": true, + "tagPath": "[default]Test_Tags/P_Motor" + }, + "path": "Plant PAX/Faceplates/P_Motor/P_Motor_PumpL" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label_4" + }, + "position": { + "height": 33, + "width": 413, + "x": 268.43100000000004, + "y": 453.9 + }, + "props": { + "style": { + "borderBottomColor": "#3F3F3F", + "borderBottomStyle": "solid", + "borderBottomWidth": "1px", + "color": "#3F3F3F", + "fontWeight": "bold" + }, + "text": "P_ValveC" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_5" + }, + "position": { + "height": 32, + "width": 413, + "x": 701.422, + "y": 454.009 + }, + "props": { + "style": { + "borderBottomColor": "#3F3F3F", + "borderBottomStyle": "solid", + "borderBottomWidth": "1px", + "color": "#3F3F3F", + "fontWeight": "bold" + }, + "text": "P_ValveSO" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_6" + }, + "position": { + "height": 33, + "width": 413, + "x": 706.422, + "y": 54.0112 + }, + "props": { + "style": { + "borderBottomColor": "#3F3F3F", + "borderBottomStyle": "solid", + "borderBottomWidth": "1px", + "color": "#3F3F3F", + "fontWeight": "bold" + }, + "text": "P_VSD" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "P_ValveSO_Hor_0" + }, + "position": { + "height": 77, + "width": 140, + "x": 698.293, + "y": 485.871 + }, + "props": { + "params": { + "showLabel": true, + "tagPath": "[default]Test_Tags/P_ValveSO" + }, + "path": "Plant PAX/Faceplates/P_ValveSO/P_ValveSO_Hor" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "P_ValveSO_VerLeft" + }, + "position": { + "height": 77, + "width": 140, + "x": 835.29, + "y": 485.871 + }, + "props": { + "params": { + "showLabel": true, + "tagPath": "[default]Test_Tags/P_ValveSO" + }, + "path": "Plant PAX/Faceplates/P_ValveSO/P_ValveSO_VerLeft" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "P_ValveSO_VerRight" + }, + "position": { + "height": 77, + "width": 140, + "x": 977.29, + "y": 485.871 + }, + "props": { + "params": { + "showLabel": true, + "tagPath": "[default]Test_Tags/P_ValveSO" + }, + "path": "Plant PAX/Faceplates/P_ValveSO/P_ValveSO_VerRight" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "P_VSD_MotorD" + }, + "position": { + "height": 100, + "width": 145, + "x": 703.32, + "y": 96.9 + }, + "props": { + "params": { + "showLabel": true, + "tagPath": "[default]Test_Tags/P_VSD" + }, + "path": "Plant PAX/Faceplates/P_VSD/P_VSD_MotorD" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "P_VSD_MotorU" + }, + "position": { + "height": 101, + "width": 148, + "x": 842.3199999999999, + "y": 96.9 + }, + "props": { + "params": { + "showLabel": true, + "tagPath": "[default]Test_Tags/P_VSD" + }, + "path": "Plant PAX/Faceplates/P_VSD/P_VSD_MotorU" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "P_VSD_MotorR" + }, + "position": { + "height": 96, + "width": 142, + "x": 989.3199999999999, + "y": 96.9 + }, + "props": { + "params": { + "showLabel": true, + "tagPath": "[default]Test_Tags/P_VSD" + }, + "path": "Plant PAX/Faceplates/P_VSD/P_VSD_MotorR" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "P_VSD_PumpU" + }, + "position": { + "height": 96, + "width": 142, + "x": 702.322, + "y": 198.9 + }, + "props": { + "params": { + "showLabel": true, + "tagPath": "[default]Test_Tags/P_VSD" + }, + "path": "Plant PAX/Faceplates/P_VSD/P_VSD_PumpU" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "P_VSD_PumpL" + }, + "position": { + "height": 96, + "width": 142, + "x": 842.3199999999999, + "y": 198.4 + }, + "props": { + "params": { + "showLabel": true, + "tagPath": "[default]Test_Tags/P_VSD" + }, + "path": "Plant PAX/Faceplates/P_VSD/P_VSD_PumpL" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "P_VSD_PumpR" + }, + "position": { + "height": 96, + "width": 142, + "x": 988.3199999999999, + "y": 198.4 + }, + "props": { + "params": { + "showLabel": true, + "tagPath": "[default]Test_Tags/P_VSD" + }, + "path": "Plant PAX/Faceplates/P_VSD/P_VSD_PumpR" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "P_ValveC" + }, + "position": { + "height": 95, + "width": 140, + "x": 271.422, + "y": 487 + }, + "props": { + "params": { + "showLabel": true, + "tagPath": "[default]Test_Tags/P_Valve_C" + }, + "path": "Plant PAX/Faceplates/P_ValveC/P_ValveC" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "P_ValveC_VerLeft" + }, + "position": { + "height": 59, + "width": 201, + "x": 415.422, + "y": 487 + }, + "props": { + "params": { + "showLabel": true, + "tagPath": "[default]Test_Tags/P_Valve_C" + }, + "path": "Plant PAX/Faceplates/P_ValveC/P_ValveC_VerLeft" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "P_ValveC_VerRight" + }, + "position": { + "height": 59, + "width": 201, + "x": 414.422, + "y": 549 + }, + "props": { + "params": { + "showLabel": true, + "tagPath": "[default]Test_Tags/P_Valve_C" + }, + "path": "Plant PAX/Faceplates/P_ValveC/P_ValveC_VerRight" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label_7" + }, + "position": { + "height": 33.00000000000001, + "width": 240, + "x": 1131, + "y": 54.01 + }, + "props": { + "style": { + "borderBottomColor": "#3F3F3F", + "borderBottomStyle": "solid", + "borderBottomWidth": "1px", + "color": "#3F3F3F", + "fontWeight": "bold" + }, + "text": "P_PIDE" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "P_PIDE" + }, + "position": { + "height": 77, + "width": 143, + "x": 1177.86, + "y": 94.871 + }, + "props": { + "params": { + "showLabel": true, + "tagPath": "[default]Test_Tags/Flow_PID" + }, + "path": "Plant PAX/Faceplates/P_PIDE/P_PIDE" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "P_DIn1CircleWLabel" + }, + "position": { + "height": 42, + "width": 140, + "x": 47.4, + "y": 407.5 + }, + "props": { + "params": { + "frameColor": "#91919161", + "showFrame": true, + "showLabel": true, + "tagPath": "[default]Test_Tags/P_Din" + }, + "path": "Plant PAX/Faceplates/P_DIn/P_DIn1CircleWLabel" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "P_DIn1Circle" + }, + "position": { + "height": 42, + "width": 52, + "x": 194.234, + "y": 407.5 + }, + "props": { + "params": { + "frameColor": "#91919161", + "showFrame": true, + "showLabel": true, + "tagPath": "[default]Test_Tags/P_Din" + }, + "path": "Plant PAX/Faceplates/P_DIn/P_DIn1Circle" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": -101, + "y": 121.578125 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Popup/Examples/CV_Control/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Popup/Examples/CV_Control/resource.json new file mode 100644 index 0000000..930d1a6 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Popup/Examples/CV_Control/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "e6db92be42dec072595eccfcc38358f2913b02dd83eba02c28960a1de663d553", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Popup/Examples/CV_Control/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Popup/Examples/CV_Control/thumbnail.png new file mode 100644 index 0000000..1ad9e22 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Popup/Examples/CV_Control/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Popup/Examples/CV_Control/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Popup/Examples/CV_Control/view.json new file mode 100644 index 0000000..724c354 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Popup/Examples/CV_Control/view.json @@ -0,0 +1,645 @@ +{ + "custom": { + "program_mode": "[default]Hackberry CDP/FCV_201_MAN", + "tag_path": "[default]Hackberry CDP/CV_201_FB", + "valve_cmd_path": "[default]Hackberry CDP/CV_201_Out" + }, + "params": {}, + "permissions": { + "securityLevels": [], + "type": "AnyOf" + }, + "propConfig": { + "custom.program_mode": { + "persistent": true + }, + "custom.tag_path": { + "persistent": true + }, + "custom.valve_cmd_path": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 432, + "width": 381 + } + }, + "root": { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\t\n\tsystem.tag.write(self.parent.custom.valve_cmd_path, 100)" + }, + "permissions": { + "securityLevels": [ + { + "children": [ + { + "children": [], + "name": "Administrator" + }, + { + "children": [], + "name": "Operator" + } + ], + "name": "Authenticated" + } + ], + "type": "AnyOf" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Open" + }, + "position": { + "height": 48.99999999999999, + "width": 165, + "x": 16, + "y": 373 + }, + "props": { + "style": { + "classes": "Button" + }, + "text": "Open Valve" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.parent.custom.valve_cmd_path, 0)" + }, + "permissions": { + "securityLevels": [ + { + "children": [ + { + "children": [], + "name": "Administrator" + }, + { + "children": [], + "name": "Operator" + } + ], + "name": "Authenticated" + } + ], + "type": "AnyOf" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Close" + }, + "position": { + "height": 49, + "width": 165, + "x": 195, + "y": 372 + }, + "props": { + "style": { + "classes": "Button" + }, + "text": "Close Valve" + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "3-D Gate valve" + }, + "position": { + "height": 61, + "width": 116, + "x": 130, + "y": 60 + }, + "propConfig": { + "props.elements[0].elements[0].fill.paint.stops[0].style.stopColor": { + "binding": { + "config": { + "path": "parent.custom.valve_color" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].fill.paint.stops[1].style.stopColor": { + "binding": { + "config": { + "path": "parent.custom.valve_color" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].fill.paint.stops[2].style.stopColor": { + "binding": { + "config": { + "path": "parent.custom.valve_color" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].fill.paint.stops[3].style.stopColor": { + "binding": { + "config": { + "path": "parent.custom.valve_color" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].fill.paint.stops[4].style.stopColor": { + "binding": { + "config": { + "path": "parent.custom.valve_color" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].fill.paint.stops[5].style.stopColor": { + "binding": { + "config": { + "path": "parent.custom.valve_color" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].fill.paint.stops[0].style.stopColor": { + "binding": { + "config": { + "path": "parent.custom.valve_color" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].fill.paint.stops[1].style.stopColor": { + "binding": { + "config": { + "path": "parent.custom.valve_color" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].fill.paint.stops[2].style.stopColor": { + "binding": { + "config": { + "path": "parent.custom.valve_color" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].fill.paint.stops[3].style.stopColor": { + "binding": { + "config": { + "path": "parent.custom.valve_color" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].fill.paint.stops[4].style.stopColor": { + "binding": { + "config": { + "path": "parent.custom.valve_color" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].fill.paint.stops[5].style.stopColor": { + "binding": { + "config": { + "path": "parent.custom.valve_color" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M56.25,28.181l56.249,28.181V0", + "fill": { + "paint": { + "gradientUnits": "userSpaceOnUse", + "stops": [ + { + "offset": "0", + "style": {} + }, + { + "offset": "0.45", + "style": {} + }, + { + "offset": "0.55", + "style": {} + }, + { + "offset": "0.76", + "style": {} + }, + { + "offset": "0.77", + "style": {} + }, + { + "offset": "1", + "style": {} + } + ], + "type": "linear", + "x1": "84.374", + "x2": "84.374", + "y1": "56.3613", + "y2": "4.882813e-004" + } + }, + "name": "path", + "type": "path" + } + ], + "name": "Group_Port1", + "type": "group" + }, + { + "elements": [ + { + "d": "M0.001,56.361V0L56.25,28.181", + "fill": { + "paint": { + "gradientUnits": "userSpaceOnUse", + "stops": [ + { + "offset": "0", + "style": {} + }, + { + "offset": "0.45", + "style": {} + }, + { + "offset": "0.55", + "style": {} + }, + { + "offset": "0.76", + "style": {} + }, + { + "offset": "0.77", + "style": {} + }, + { + "offset": "1", + "style": {} + } + ], + "type": "linear", + "x1": "28.1255", + "x2": "28.1255", + "y1": "56.3613", + "y2": "4.882813e-004" + } + }, + "name": "path", + "type": "path" + } + ], + "name": "Group_Port2", + "type": "group" + } + ], + "viewBox": "0 0 112.5 56.36" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 29, + "width": 291, + "x": 48, + "y": 14 + }, + "props": { + "style": { + "color": "#FFFFFF", + "fontSize": "30px", + "textAlign": "center" + }, + "text": "CV-201 Control" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 29, + "width": 249, + "x": 70.5, + "y": 134.5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "\"Valve Feedback: \" + numberformat(tag({view.custom.tag_path}),\"#0.0\") + \" %\"" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#FFFFFF", + "fontSize": "20px", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\t\n\tsystem.tag.write(self.parent.custom.valve_cmd_path, self.getSibling(\"NumericEntryField\").props.value)" + }, + "permissions": { + "securityLevels": [ + { + "children": [ + { + "children": [], + "name": "Administrator" + }, + { + "children": [], + "name": "Operator" + } + ], + "name": "Authenticated" + } + ], + "type": "AnyOf" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Open_0" + }, + "position": { + "height": 49, + "width": 165, + "x": 108, + "y": 315 + }, + "props": { + "style": { + "classes": "Button" + }, + "text": "Open Man Refrence" + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "height": 25, + "width": 93, + "x": 254, + "y": 202 + }, + "props": { + "style": { + "fontSize": "17px", + "fontWeight": "bold", + "textAlign": "center" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "height": 29, + "width": 223, + "x": 21, + "y": 202 + }, + "props": { + "style": { + "color": "#FFFFFF", + "fontSize": "20px", + "textAlign": "center" + }, + "text": "Position Man Refrence:" + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\t\n\tsystem.tag.write(self.view.custom.program_mode, True)" + }, + "permissions": { + "securityLevels": [ + { + "children": [ + { + "children": [], + "name": "Administrator" + }, + { + "children": [], + "name": "Operator" + } + ], + "name": "Authenticated" + } + ], + "type": "AnyOf" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Manual Control" + }, + "position": { + "height": 48.99999999999999, + "width": 165, + "x": 105.5, + "y": 254 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.custom.program_mode}), True,False)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FF0000" + }, + "text": "Turn on Manual Control" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.custom.program_mode, False)" + }, + "permissions": { + "securityLevels": [ + { + "children": [ + { + "children": [], + "name": "Administrator" + }, + { + "children": [], + "name": "Operator" + } + ], + "name": "Authenticated" + } + ], + "type": "AnyOf" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Auto Control" + }, + "position": { + "height": 49, + "width": 165, + "x": 105.5, + "y": 254 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.custom.program_mode}), False,True)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#00FF00", + "color": "#000000" + }, + "text": "Turn on Auto Control" + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "height": 29, + "width": 249, + "x": 70.5, + "y": 169 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "\"Program Mode: \" + if(tag(\"Hackberry CDP/FCV_201_MAN\"),\"Manual\",\"Auto\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#FFFFFF", + "fontSize": "20px", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "valve_color": "#D5D5D5" + }, + "meta": { + "name": "root" + }, + "propConfig": { + "custom.tag_path": { + "binding": { + "config": { + "path": "view.custom.tag_path" + }, + "type": "property" + } + }, + "custom.valve_cmd_path": { + "binding": { + "config": { + "path": "view.custom.valve_cmd_path" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#2B2B2B" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Popup/Examples/Chiller Data/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Popup/Examples/Chiller Data/resource.json new file mode 100644 index 0000000..978fcc9 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Popup/Examples/Chiller Data/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "89c83655bbec1529c3ffa893e1968cf1d30b9a0cd01c451893f4f33a86818763", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Popup/Examples/Chiller Data/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Popup/Examples/Chiller Data/thumbnail.png new file mode 100644 index 0000000..6df9a1d Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Popup/Examples/Chiller Data/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Popup/Examples/Chiller Data/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Popup/Examples/Chiller Data/view.json new file mode 100644 index 0000000..4d06be6 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Popup/Examples/Chiller Data/view.json @@ -0,0 +1,1085 @@ +{ + "custom": {}, + "params": { + "site": "Hermosa Modbus" + }, + "propConfig": { + "custom.History.0.key": { + "persistent": true + }, + "custom.History.0[0]": { + "persistent": true + }, + "custom.History.0[1]": { + "persistent": true + }, + "custom.History.0[2]": { + "persistent": true + }, + "custom.History.key": { + "persistent": true + }, + "custom.History[0][0]": { + "persistent": true + }, + "custom.History[0][1]": { + "persistent": true + }, + "custom.History[0][2]": { + "persistent": true + }, + "custom.History[1]": { + "persistent": true + }, + "custom.History[1][0]": { + "persistent": true + }, + "custom.History[3]": { + "persistent": true + }, + "custom.History[3][0]": { + "persistent": true + }, + "custom.historyTags.0[0]": { + "persistent": true + }, + "custom.historyTags.0[1]": { + "persistent": true + }, + "custom.historyTags.0[2]": { + "persistent": true + }, + "custom.historyTags.key": { + "persistent": true + }, + "custom.historyTags.key-1": { + "persistent": true + }, + "custom.historyTags.key.key": { + "persistent": true + }, + "custom.historyTags.key.key-1": { + "persistent": true + }, + "custom.key": { + "persistent": true + }, + "custom.key-1": { + "persistent": true + }, + "custom.key[0]": { + "persistent": true + }, + "custom.key[1]": { + "persistent": true + }, + "custom.key[2]": { + "persistent": true + }, + "params.site": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 568, + "width": 605 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "baseline-fiber_manual_record-24px_2" + }, + "position": { + "height": 38.43, + "width": 33.62, + "x": -165.13, + "y": -7.38 + }, + "propConfig": { + "props.elements[1].fill.paint": { + "binding": { + "config": { + "expression": "if(tag({parent.custom.site}+ \u0027/Status/Oil_HOA\u0027) , \"#00FF00\", \"#D5D5D5\")" + }, + "type": "expr" + } + } + }, + "props": { + "elements": [ + { + "d": "M24 24H0V0h24v24z", + "fill": { + "paint": "#2B2B2B" + }, + "name": "path", + "type": "path" + }, + { + "cx": "12", + "cy": "12", + "fill": {}, + "name": "circle", + "r": 8, + "type": "circle" + } + ], + "viewBox": "0 0 24 24" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Label_93" + }, + "position": { + "height": 33.39, + "width": 138.98, + "x": 96.49, + "y": 194.22 + }, + "props": { + "style": { + "borderStyle": "none", + "color": "black", + "textAlign": "right" + }, + "text": "Data 4" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_95", + "visible": "True" + }, + "position": { + "height": 33.39, + "rotate": { + "anchor": "65%" + }, + "width": 109.09, + "x": 246.87, + "y": 194.22 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "numberFormat(tag({parent.custom.site} + \"/Flow_Data/Today_Total\"), \"#,##0\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderStyle": "outset", + "color": "black", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_97" + }, + "position": { + "height": 33.39, + "width": 81.26, + "x": 366.23, + "y": 194.31 + }, + "props": { + "style": { + "borderStyle": "none", + "color": "black" + }, + "text": "units" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_98", + "visible": "True" + }, + "position": { + "height": 33.39, + "rotate": { + "anchor": "65%" + }, + "width": 109.09, + "x": 246.31, + "y": 152.37 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "numberFormat(tag({parent.custom.site} + \"/Flow_Data/Last_Hr\"), \"#,##0.#\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderStyle": "outset", + "color": "black", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_99" + }, + "position": { + "height": 33.39, + "width": 141.97, + "x": 92.94, + "y": 154.35 + }, + "props": { + "style": { + "borderStyle": "none", + "color": "black", + "textAlign": "right" + }, + "text": "Data 3" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_100" + }, + "position": { + "height": 33.39, + "width": 140.1, + "x": 96.49, + "y": 112.59 + }, + "props": { + "style": { + "borderStyle": "none", + "color": "black", + "textAlign": "right" + }, + "text": "Data 2" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_101" + }, + "position": { + "height": 33.39, + "width": 81.26, + "x": 365.86, + "y": 152.37 + }, + "props": { + "style": { + "borderStyle": "none", + "color": "black" + }, + "text": "units" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_43" + }, + "position": { + "height": 33.39, + "width": 135.99, + "x": 100.41, + "y": 69.66 + }, + "props": { + "style": { + "borderStyle": "none", + "color": "black", + "textAlign": "right" + }, + "text": "PIT-100" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_39", + "visible": "True" + }, + "position": { + "height": 33.39, + "rotate": { + "anchor": "65%" + }, + "width": 109.09, + "x": 244.62, + "y": 69.66 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "numberFormat({[default]Test_Tags/P_Ain/Val}, \"#,##0.#\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderStyle": "outset", + "color": "black", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_47" + }, + "position": { + "height": 33.39, + "width": 81.26, + "x": 363.99, + "y": 69.66 + }, + "props": { + "style": { + "borderStyle": "none", + "color": "black" + }, + "text": "psi" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_102", + "visible": "True" + }, + "position": { + "height": 33.39, + "rotate": { + "anchor": "65%" + }, + "width": 109.09, + "x": 244.62, + "y": 112.5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "numberFormat(tag({parent.custom.site} + \"/Flow_Data/Current_Hr\"), \"#,##0.#\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderStyle": "outset", + "color": "black", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_103" + }, + "position": { + "height": 33.39, + "width": 81.26, + "x": 363.99, + "y": 112.59 + }, + "props": { + "style": { + "borderStyle": "none", + "color": "black" + }, + "text": "units" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_104" + }, + "position": { + "height": 33.39, + "width": 138.98, + "x": 97.24, + "y": 277.29 + }, + "props": { + "style": { + "borderStyle": "none", + "color": "black", + "textAlign": "right" + }, + "text": "Data 6" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_105", + "visible": "True" + }, + "position": { + "height": 33.39, + "rotate": { + "anchor": "65%" + }, + "width": 109.09, + "x": 246.68, + "y": 277.29 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "numberFormat(tag({parent.custom.site} + \"/Flow_Data/Month_Total\"), \"#,##0.#\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderStyle": "outset", + "color": "black", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_106" + }, + "position": { + "height": 33.39, + "width": 81.26, + "x": 366.04, + "y": 277.29 + }, + "props": { + "style": { + "borderStyle": "none", + "color": "black" + }, + "text": "units" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_107" + }, + "position": { + "height": 33.39, + "width": 81.26, + "x": 366.79, + "y": 235.35 + }, + "props": { + "style": { + "borderStyle": "none", + "color": "black" + }, + "text": "units" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_108", + "visible": "True" + }, + "position": { + "height": 33.39, + "rotate": { + "anchor": "65%" + }, + "width": 109.09, + "x": 247.05, + "y": 235.35 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "numberFormat(tag({parent.custom.site} + \"/Flow_Data/Yesterday_Total\"), \"#,##0.#\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderStyle": "outset", + "color": "black", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_109" + }, + "position": { + "height": 33.39, + "width": 141.97, + "x": 93.69, + "y": 237.33 + }, + "props": { + "style": { + "borderStyle": "none", + "color": "black", + "textAlign": "right" + }, + "text": "Data 5" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_112" + }, + "position": { + "height": 33.39, + "width": 141.97, + "x": 93.69, + "y": 356.31 + }, + "props": { + "style": { + "borderStyle": "none", + "color": "black", + "textAlign": "right" + }, + "text": "Data 8" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_113" + }, + "position": { + "height": 33.39, + "width": 138.98, + "x": 96.49, + "y": 313.29 + }, + "props": { + "style": { + "borderStyle": "none", + "color": "black", + "textAlign": "right" + }, + "text": "Data 7" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_114", + "visible": "True" + }, + "position": { + "height": 33.39, + "rotate": { + "anchor": "65%" + }, + "width": 109.09, + "x": 246.87, + "y": 313.29 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "numberFormat(tag({parent.custom.site} + \"/Flow_Data/Prev_Month_Total\"), \"#,##0\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderStyle": "outset", + "color": "black", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_115", + "visible": "True" + }, + "position": { + "height": 33.39, + "rotate": { + "anchor": "65%" + }, + "width": 109.09, + "x": 247.05, + "y": 354.33 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "numberFormat(tag({parent.custom.site} + \"/Flow_Data/Total_Accum\"), \"#,##0.#\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderStyle": "outset", + "color": "black", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_116" + }, + "position": { + "height": 33.39, + "width": 81.26, + "x": 366.79, + "y": 354.33 + }, + "props": { + "style": { + "borderStyle": "none", + "color": "black" + }, + "text": "units" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_124" + }, + "position": { + "height": 33.39, + "width": 81.26, + "x": 366.23, + "y": 313.29 + }, + "props": { + "style": { + "borderStyle": "none", + "color": "black" + }, + "text": "units" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_125" + }, + "position": { + "height": 33.39, + "width": 81.26, + "x": 366.79, + "y": 520.38 + }, + "props": { + "style": { + "borderStyle": "none", + "color": "black" + }, + "text": "units" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_126", + "visible": "True" + }, + "position": { + "height": 33.39, + "rotate": { + "anchor": "65%" + }, + "width": 109.09, + "x": 247.05, + "y": 520.38 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "numberFormat(tag({parent.custom.site} + \"/Flow_Data/Pressure\"), \"#,##0.#\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderStyle": "outset", + "color": "black", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_132" + }, + "position": { + "height": 33.39, + "width": 141.97, + "x": 93.69, + "y": 522.36 + }, + "props": { + "style": { + "borderStyle": "none", + "color": "black", + "textAlign": "right" + }, + "text": "Data 12" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_133" + }, + "position": { + "height": 33.39, + "width": 138.98, + "x": 96.49, + "y": 479.25 + }, + "props": { + "style": { + "borderStyle": "none", + "color": "black", + "textAlign": "right" + }, + "text": "Data 11" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_134", + "visible": "True" + }, + "position": { + "height": 33.39, + "rotate": { + "anchor": "65%" + }, + "width": 109.09, + "x": 246.87, + "y": 479.25 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "numberFormat(tag({parent.custom.site} + \"/Flow_Data/Density\"), \"#,##0\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderStyle": "outset", + "color": "black", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_135" + }, + "position": { + "height": 33.39, + "width": 81.26, + "x": 366.23, + "y": 479.25 + }, + "props": { + "style": { + "borderStyle": "none", + "color": "black" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_136" + }, + "position": { + "height": 33.39, + "width": 138.98, + "x": 97.24, + "y": 436.23 + }, + "props": { + "style": { + "borderStyle": "none", + "color": "black", + "textAlign": "right" + }, + "text": "Data 10" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_137", + "visible": "True" + }, + "position": { + "height": 33.39, + "rotate": { + "anchor": "65%" + }, + "width": 109.09, + "x": 246.68, + "y": 436.23 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "numberFormat(tag({parent.custom.site} + \"/Flow_Data/BSnW\"), \"#,##0.#\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderStyle": "outset", + "color": "black", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_138" + }, + "position": { + "height": 33.39, + "width": 81.26, + "x": 366.04, + "y": 436.32 + }, + "props": { + "style": { + "borderStyle": "none", + "color": "black" + }, + "text": "units" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_139" + }, + "position": { + "height": 33.39, + "width": 141.97, + "x": 93.69, + "y": 396.36 + }, + "props": { + "style": { + "borderStyle": "none", + "color": "black", + "textAlign": "right" + }, + "text": "Data 9" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_140", + "visible": "True" + }, + "position": { + "height": 33.39, + "rotate": { + "anchor": "65%" + }, + "width": 109.09, + "x": 247.05, + "y": 394.38 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "numberFormat(tag({parent.custom.site} + \"/Flow_Data/Temperature\"), \"#,##0.##\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderStyle": "outset", + "color": "black", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_141" + }, + "position": { + "height": 33.39, + "width": 81.26, + "x": 366.79, + "y": 394.38 + }, + "props": { + "style": { + "borderStyle": "none", + "color": "black" + }, + "text": "units" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_143" + }, + "position": { + "height": 33.39, + "width": 81.26, + "x": 366.23, + "y": 479.79 + }, + "props": { + "style": { + "borderStyle": "none", + "color": "black" + }, + "text": "units" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Desc" + }, + "position": { + "basis": "10px", + "grow": 1, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Popups/label", + "textAlign": "center" + }, + "text": "Chiller Data" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Header" + }, + "position": { + "height": 47, + "width": 604, + "y": -1.98 + }, + "props": { + "alignItems": "center", + "style": { + "borderBottomStyle": "ridge", + "classes": "Popups/General/core", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "custom": { + "site": "Hackberry CDP", + "tag_path": "[default]Bubbles/Digital In/Valve_Feedback" + }, + "meta": { + "name": "root" + }, + "position": { + "x": -55.71875, + "y": 5.1875 + }, + "propConfig": { + "custom.valve_color": { + "binding": { + "config": { + "expression": "if(tag({this.custom.tag_path}),\"#00FF00\", \"#ac0000\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Popup/Examples/SDV_Control/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Popup/Examples/SDV_Control/resource.json new file mode 100644 index 0000000..41fcd12 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Popup/Examples/SDV_Control/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "4c3a0f0ff4ea59a1309d377fd313a8e2bb560d0d734149b6a300a2ffaeebbf6e", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Popup/Examples/SDV_Control/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Popup/Examples/SDV_Control/thumbnail.png new file mode 100644 index 0000000..3badaae Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Popup/Examples/SDV_Control/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Popup/Examples/SDV_Control/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Popup/Examples/SDV_Control/view.json new file mode 100644 index 0000000..6c91cf2 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Popup/Examples/SDV_Control/view.json @@ -0,0 +1,613 @@ +{ + "custom": { + "program_mode": "[default]Hackberry CDP/SDV_200_MAN", + "tag_path_closed_status": "[default]Hackberry CDP/SDV_200_Closed_Status", + "tag_path_open_status": "[default]Hackberry CDP/SDV_200_Open_Status", + "valve_cmd_path": "[default]Hackberry CDP/SDV_200_Valve_CMD", + "valve_state": 1 + }, + "params": {}, + "permissions": { + "securityLevels": [ + { + "children": [ + { + "children": [], + "name": "Administrator" + }, + { + "children": [], + "name": "Operator" + } + ], + "name": "Authenticated" + } + ], + "type": "AnyOf" + }, + "propConfig": { + "custom.program_mode": { + "persistent": true + }, + "custom.tag_path_closed_status": { + "persistent": true + }, + "custom.tag_path_open_status": { + "persistent": true + }, + "custom.valve_cmd_path": { + "persistent": true + }, + "custom.valve_state": { + "binding": { + "config": { + "expression": "if(tag({view.custom.tag_path_open_status}), 1, if(tag({view.custom.tag_path_closed_status}), 0, 2))" + }, + "type": "expr" + }, + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 351, + "width": 381 + } + }, + "root": { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\t\n\tsystem.tag.write(self.view.custom.valve_cmd_path, True)" + }, + "permissions": { + "securityLevels": [ + { + "children": [ + { + "children": [], + "name": "Administrator" + }, + { + "children": [], + "name": "Operator" + } + ], + "name": "Authenticated" + } + ], + "type": "AnyOf" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Open" + }, + "position": { + "height": 48.99999999999999, + "width": 165, + "x": 16, + "y": 290 + }, + "props": { + "style": { + "classes": "Button" + }, + "text": "Open Valve" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.custom.valve_cmd_path, False)" + }, + "permissions": { + "securityLevels": [ + { + "children": [ + { + "children": [], + "name": "Administrator" + }, + { + "children": [], + "name": "Operator" + } + ], + "name": "Authenticated" + } + ], + "type": "AnyOf" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Close" + }, + "position": { + "height": 49, + "width": 165, + "x": 195, + "y": 289 + }, + "props": { + "style": { + "classes": "Button" + }, + "text": "Close Valve" + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "3-D Gate valve" + }, + "position": { + "height": 61, + "width": 116, + "x": 130, + "y": 57 + }, + "propConfig": { + "props.elements[0].elements[0].fill.paint.stops[0].style.stopColor": { + "binding": { + "config": { + "path": "parent.custom.valve_color" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].fill.paint.stops[1].style.stopColor": { + "binding": { + "config": { + "path": "parent.custom.valve_color" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].fill.paint.stops[2].style.stopColor": { + "binding": { + "config": { + "path": "parent.custom.valve_color" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].fill.paint.stops[3].style.stopColor": { + "binding": { + "config": { + "path": "parent.custom.valve_color" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].fill.paint.stops[4].style.stopColor": { + "binding": { + "config": { + "path": "parent.custom.valve_color" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].fill.paint.stops[5].style.stopColor": { + "binding": { + "config": { + "path": "parent.custom.valve_color" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].fill.paint.stops[0].style.stopColor": { + "binding": { + "config": { + "path": "parent.custom.valve_color" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].fill.paint.stops[1].style.stopColor": { + "binding": { + "config": { + "path": "parent.custom.valve_color" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].fill.paint.stops[2].style.stopColor": { + "binding": { + "config": { + "path": "parent.custom.valve_color" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].fill.paint.stops[3].style.stopColor": { + "binding": { + "config": { + "path": "parent.custom.valve_color" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].fill.paint.stops[4].style.stopColor": { + "binding": { + "config": { + "path": "parent.custom.valve_color" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].fill.paint.stops[5].style.stopColor": { + "binding": { + "config": { + "path": "parent.custom.valve_color" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M56.25,28.181l56.249,28.181V0", + "fill": { + "paint": { + "gradientUnits": "userSpaceOnUse", + "stops": [ + { + "offset": "0", + "style": {} + }, + { + "offset": "0.45", + "style": {} + }, + { + "offset": "0.55", + "style": {} + }, + { + "offset": "0.76", + "style": {} + }, + { + "offset": "0.77", + "style": {} + }, + { + "offset": "1", + "style": {} + } + ], + "type": "linear", + "x1": "84.374", + "x2": "84.374", + "y1": "56.3613", + "y2": "4.882813e-004" + } + }, + "name": "path", + "type": "path" + } + ], + "name": "Group_Port1", + "type": "group" + }, + { + "elements": [ + { + "d": "M0.001,56.361V0L56.25,28.181", + "fill": { + "paint": { + "gradientUnits": "userSpaceOnUse", + "stops": [ + { + "offset": "0", + "style": {} + }, + { + "offset": "0.45", + "style": {} + }, + { + "offset": "0.55", + "style": {} + }, + { + "offset": "0.76", + "style": {} + }, + { + "offset": "0.77", + "style": {} + }, + { + "offset": "1", + "style": {} + } + ], + "type": "linear", + "x1": "28.1255", + "x2": "28.1255", + "y1": "56.3613", + "y2": "4.882813e-004" + } + }, + "name": "path", + "type": "path" + } + ], + "name": "Group_Port2", + "type": "group" + } + ], + "viewBox": "0 0 112.5 56.36" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 29, + "width": 207, + "x": 81, + "y": 14 + }, + "props": { + "style": { + "color": "#FFFFFF", + "fontSize": "30px", + "textAlign": "center" + }, + "text": "SDV Control" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 29, + "width": 381.296875, + "x": -0.34375, + "y": 130 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "\"Valve Position: \" + case({view.custom.valve_state}, 1, \"Open\",0, \"Closed\",2, \"In Travel\", \"Error\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#FFFFFF", + "fontSize": "20px", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.custom.program_mode, False)" + }, + "permissions": { + "securityLevels": [ + { + "children": [ + { + "children": [], + "name": "Administrator" + }, + { + "children": [], + "name": "Operator" + } + ], + "name": "Authenticated" + } + ], + "type": "AnyOf" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Auto_Control" + }, + "position": { + "height": 49, + "width": 165, + "x": 105.5, + "y": 232 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.custom.program_mode}), False,True)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#00FF00", + "color": "#000000" + }, + "text": "Turn on Auto Control" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\t\n\tsystem.tag.write(self.view.custom.program_mode, True)" + }, + "permissions": { + "securityLevels": [ + { + "children": [ + { + "children": [], + "name": "Administrator" + }, + { + "children": [], + "name": "Operator" + } + ], + "name": "Authenticated" + } + ], + "type": "AnyOf" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Manual Control" + }, + "position": { + "height": 48.99999999999999, + "width": 165, + "x": 105.5, + "y": 232 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.custom.program_mode}), True,False)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FF0000" + }, + "text": "Turn on Manual Control" + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "height": 29, + "width": 380, + "x": 1, + "y": 191 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "\"Program Mode: \" + if(tag(\"Hackberry CDP/SDV_200_MAN\"),\"Manual\", \"Auto\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#FFFFFF", + "fontSize": "20px", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "height": 29, + "width": 380, + "x": 1, + "y": 160 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "\"HOA Switch: \" + if(tag(\"Hackberry CDP/SDV_200_Auto\"), \"In Auto\", if(tag(\"Hackberry CDP/SDV_200_Hand\"), \"Hand\", \"OFF\"))" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#FFFFFF", + "fontSize": "20px", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "custom.valve_cmd_path": { + "binding": { + "config": { + "path": "view.custom.valve_cmd_path" + }, + "type": "property" + } + }, + "custom.valve_color": { + "binding": { + "config": { + "expression": "case({view.custom.valve_state}, 1, \"#00ac34\", 0, \"#ac0000\", 2,\"#FF8C00\",\"#FF8C00\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#2B2B2B" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Popup/Examples/Trend/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Popup/Examples/Trend/resource.json new file mode 100644 index 0000000..cf6457f --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Popup/Examples/Trend/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "561c961ef92be69f6d0658bfd79d1beeebb6a54f3b0afee5c98745b7028fad72", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Popup/Examples/Trend/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Popup/Examples/Trend/thumbnail.png new file mode 100644 index 0000000..eda9b22 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Popup/Examples/Trend/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Popup/Examples/Trend/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Popup/Examples/Trend/view.json new file mode 100644 index 0000000..e79b0d7 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Popup/Examples/Trend/view.json @@ -0,0 +1,82 @@ +{ + "custom": {}, + "params": { + "tagPath": "[default]Test_Tags/P_Ain/Val" + }, + "propConfig": { + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 99, + "width": 242 + } + }, + "root": { + "children": [ + { + "custom": { + "key": [ + { + "aggregate": "Average", + "alias": "" + } + ] + }, + "meta": { + "name": "Sparkline" + }, + "position": { + "basis": "100px" + }, + "propConfig": { + "custom.key[0].path": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "props.points": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "5", + "mostRecentUnits": "MIN" + }, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "10" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "100", + "type": "FIXED" + }, + "tags": "{this.custom.key}", + "valueFormat": "DATASET" + }, + "type": "tag-history" + } + } + }, + "type": "ia.display.sparkline" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Popup/Examples/Valve_Control/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Popup/Examples/Valve_Control/resource.json new file mode 100644 index 0000000..5bae65d --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Popup/Examples/Valve_Control/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "8cb40140b348ab06f31487e4d169e6616a72b864910b613bb1d2fc4e9525677c", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Popup/Examples/Valve_Control/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Popup/Examples/Valve_Control/thumbnail.png new file mode 100644 index 0000000..7dfc7c1 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Popup/Examples/Valve_Control/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Popup/Examples/Valve_Control/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Popup/Examples/Valve_Control/view.json new file mode 100644 index 0000000..b12ca61 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/Popup/Examples/Valve_Control/view.json @@ -0,0 +1,430 @@ +{ + "custom": { + "tag_path": "[default]Bubbles/Digital In/Valve_Feedback", + "valve_cmd_path": "[default]Bubbles/Digital Out/Valve_Command" + }, + "params": {}, + "permissions": { + "securityLevels": [ + { + "children": [ + { + "children": [], + "name": "Administrator" + }, + { + "children": [], + "name": "Operator" + } + ], + "name": "Authenticated" + } + ], + "type": "AnyOf" + }, + "propConfig": { + "custom.tag_path": { + "persistent": true + }, + "custom.valve_cmd_path": { + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 225, + "width": 381 + } + }, + "root": { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\t\n\tsystem.tag.write(self.parent.custom.valve_cmd_path, True)" + }, + "permissions": { + "securityLevels": [ + { + "children": [ + { + "children": [], + "name": "Administrator" + }, + { + "children": [], + "name": "Operator" + } + ], + "name": "Authenticated" + } + ], + "type": "AnyOf" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Open" + }, + "position": { + "height": 48.99999999999999, + "width": 165, + "x": 16, + "y": 152 + }, + "props": { + "style": { + "classes": "Button" + }, + "text": "Open Valve" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.parent.custom.valve_cmd_path, False)" + }, + "permissions": { + "securityLevels": [ + { + "children": [ + { + "children": [], + "name": "Administrator" + }, + { + "children": [], + "name": "Operator" + } + ], + "name": "Authenticated" + } + ], + "type": "AnyOf" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Close" + }, + "position": { + "height": 49, + "width": 165, + "x": 195, + "y": 151 + }, + "props": { + "style": { + "classes": "Button" + }, + "text": "Close Valve" + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "3-D Gate valve" + }, + "position": { + "height": 61, + "width": 116, + "x": 130, + "y": 51 + }, + "propConfig": { + "props.elements[0].elements[0].fill.paint.stops[0].style.stopColor": { + "binding": { + "config": { + "path": "parent.custom.valve_color" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].fill.paint.stops[1].style.stopColor": { + "binding": { + "config": { + "path": "parent.custom.valve_color" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].fill.paint.stops[2].style.stopColor": { + "binding": { + "config": { + "path": "parent.custom.valve_color" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].fill.paint.stops[3].style.stopColor": { + "binding": { + "config": { + "path": "parent.custom.valve_color" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].fill.paint.stops[4].style.stopColor": { + "binding": { + "config": { + "path": "parent.custom.valve_color" + }, + "type": "property" + } + }, + "props.elements[0].elements[0].fill.paint.stops[5].style.stopColor": { + "binding": { + "config": { + "path": "parent.custom.valve_color" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].fill.paint.stops[0].style.stopColor": { + "binding": { + "config": { + "path": "parent.custom.valve_color" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].fill.paint.stops[1].style.stopColor": { + "binding": { + "config": { + "path": "parent.custom.valve_color" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].fill.paint.stops[2].style.stopColor": { + "binding": { + "config": { + "path": "parent.custom.valve_color" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].fill.paint.stops[3].style.stopColor": { + "binding": { + "config": { + "path": "parent.custom.valve_color" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].fill.paint.stops[4].style.stopColor": { + "binding": { + "config": { + "path": "parent.custom.valve_color" + }, + "type": "property" + } + }, + "props.elements[1].elements[0].fill.paint.stops[5].style.stopColor": { + "binding": { + "config": { + "path": "parent.custom.valve_color" + }, + "type": "property" + } + } + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M56.25,28.181l56.249,28.181V0", + "fill": { + "paint": { + "gradientUnits": "userSpaceOnUse", + "stops": [ + { + "offset": "0", + "style": {} + }, + { + "offset": "0.45", + "style": {} + }, + { + "offset": "0.55", + "style": {} + }, + { + "offset": "0.76", + "style": {} + }, + { + "offset": "0.77", + "style": {} + }, + { + "offset": "1", + "style": {} + } + ], + "type": "linear", + "x1": "84.374", + "x2": "84.374", + "y1": "56.3613", + "y2": "4.882813e-004" + } + }, + "name": "path", + "type": "path" + } + ], + "name": "Group_Port1", + "type": "group" + }, + { + "elements": [ + { + "d": "M0.001,56.361V0L56.25,28.181", + "fill": { + "paint": { + "gradientUnits": "userSpaceOnUse", + "stops": [ + { + "offset": "0", + "style": {} + }, + { + "offset": "0.45", + "style": {} + }, + { + "offset": "0.55", + "style": {} + }, + { + "offset": "0.76", + "style": {} + }, + { + "offset": "0.77", + "style": {} + }, + { + "offset": "1", + "style": {} + } + ], + "type": "linear", + "x1": "28.1255", + "x2": "28.1255", + "y1": "56.3613", + "y2": "4.882813e-004" + } + }, + "name": "path", + "type": "path" + } + ], + "name": "Group_Port2", + "type": "group" + } + ], + "viewBox": "0 0 112.5 56.36" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 29, + "width": 207, + "x": 81, + "y": 14 + }, + "props": { + "style": { + "color": "#FFFFFF", + "fontSize": "30px", + "textAlign": "center" + }, + "text": "SDV Control" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 29, + "width": 207, + "x": 91, + "y": 119 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "\"Valve Position: \" + if(tag({parent.custom.tag_path}), \"Open\", \"Closed\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#FFFFFF", + "fontSize": "20px", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "custom.tag_path": { + "binding": { + "config": { + "path": "view.custom.tag_path" + }, + "type": "property" + } + }, + "custom.valve_cmd_path": { + "binding": { + "config": { + "path": "view.custom.valve_cmd_path" + }, + "type": "property" + } + }, + "custom.valve_color": { + "binding": { + "config": { + "expression": "if(tag({this.custom.tag_path}),\"00FF00\", \"#ac0000\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#2B2B2B" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/hmidemo/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/hmidemo/resource.json new file mode 100644 index 0000000..5753ca6 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/hmidemo/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "fa86f9b8ac685ca335719c69320bba089233cf66b186e392a2458f6a80b2ad66", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/hmidemo/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/hmidemo/thumbnail.png new file mode 100644 index 0000000..f3f1569 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/hmidemo/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/hmidemo/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/hmidemo/view.json new file mode 100644 index 0000000..145dbae --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Main Windows/hmidemo/view.json @@ -0,0 +1,1533 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 900, + "width": 1750 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label_15" + }, + "position": { + "height": 168, + "width": 158, + "x": 1586, + "y": 114.234375 + }, + "props": { + "style": { + "borderBottomLeftRadius": 10, + "borderBottomRightRadius": 10, + "borderStyle": "solid", + "borderTopLeftRadius": 10, + "borderTopRightRadius": 10, + "borderWidth": 1 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Simple Tank" + }, + "position": { + "height": 181, + "width": 133, + "x": 275.984, + "y": 386.615 + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M0.388,98.035c0,0,1.688,13.84,27.814,13.84c25.869,0,27.93-13.84,27.93-13.84V14.477 c0,0-0.902-13.964-27.929-13.964c-25.226,0-27.815,13.964-27.815,13.964V98.035z", + "fill": { + "paint": "#EEEEEE" + }, + "name": "path", + "stroke": { + "paint": "#424242" + }, + "type": "path" + }, + { + "d": "M0.451,98.086h55.744", + "fill": { + "paint": "none" + }, + "name": "path", + "stroke": { + "paint": "#424242", + "width": "0.25" + }, + "type": "path" + }, + { + "d": "M0.451,14.527h55.744", + "fill": { + "paint": "none" + }, + "name": "path", + "stroke": { + "paint": "#424242", + "width": "0.25" + }, + "type": "path" + } + ], + "name": "Group_TankBody", + "type": "group" + } + ], + "preserveAspectRatio": "none", + "viewBox": "0 0 56.758 112.5" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Sparkline_0" + }, + "position": { + "height": 128, + "width": 100, + "x": 306.18, + "y": 412.1 + }, + "propConfig": { + "props.points": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "1", + "mostRecentUnits": "HOUR" + }, + "enableValueCache": true, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "5" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "delay": "1", + "delayUnits": "MIN", + "type": "INTERVAL" + }, + "tags": [ + { + "path": "[default]Test_Tags/P_Ain/Val" + } + ], + "valueFormat": "DATASET" + }, + "type": "tag-history" + } + } + }, + "props": { + "desired": { + "fill": { + "color": "#FFFFFF" + }, + "high": 80, + "low": 20 + }, + "marker": { + "first": { + "stroke": { + "color": "#080000" + } + }, + "last": { + "fill": { + "color": "#000000" + } + } + }, + "range": { + "high": 100, + "low": 0 + }, + "style": { + "backgroundColor": "#EAF6FF" + } + }, + "type": "ia.display.sparkline" + }, + { + "meta": { + "name": "Short horizontal pipe" + }, + "position": { + "height": 3, + "width": 441, + "x": 184, + "y": 541 + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M112.5,29.924H0V0.224h112.5V29.924z", + "fill": { + "paint": { + "gradientTransform": "", + "gradientUnits": "", + "stops": [ + { + "offset": "0.01", + "style": { + "stopColor": "#646566" + } + }, + { + "offset": "0.16", + "style": { + "stopColor": "#909091" + } + }, + { + "offset": "0.49", + "style": { + "stopColor": "#E0E0E0" + } + }, + { + "offset": "1", + "style": { + "stopColor": "#646566" + } + } + ], + "type": "linear", + "x1": "94.2881", + "x2": "123.9873", + "y1": "-23.0383", + "y2": "-23.0383" + } + }, + "name": "path", + "type": "path" + } + ], + "name": "Group_Horizonatal_Short", + "type": "group" + } + ], + "preserveAspectRatio": "none", + "viewBox": "0 0 112.5 29.924" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Short horizontal pipe_0" + }, + "position": { + "height": 3, + "rotate": { + "angle": 90 + }, + "width": 325, + "x": 347.488, + "y": 380 + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M112.5,29.924H0V0.224h112.5V29.924z", + "fill": { + "paint": { + "gradientTransform": "", + "gradientUnits": "", + "stops": [ + { + "offset": "0.01", + "style": { + "stopColor": "#646566" + } + }, + { + "offset": "0.16", + "style": { + "stopColor": "#909091" + } + }, + { + "offset": "0.49", + "style": { + "stopColor": "#E0E0E0" + } + }, + { + "offset": "1", + "style": { + "stopColor": "#646566" + } + } + ], + "type": "linear", + "x1": "94.2881", + "x2": "123.9873", + "y1": "-23.0383", + "y2": "-23.0383" + } + }, + "name": "path", + "type": "path" + } + ], + "name": "Group_Horizonatal_Short", + "type": "group" + } + ], + "preserveAspectRatio": "none", + "viewBox": "0 0 112.5 29.924" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Short horizontal pipe_2" + }, + "position": { + "height": 3, + "width": 636, + "x": 655.18, + "y": 528.61 + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M112.5,29.924H0V0.224h112.5V29.924z", + "fill": { + "paint": { + "gradientTransform": "", + "gradientUnits": "", + "stops": [ + { + "offset": "0.01", + "style": { + "stopColor": "#646566" + } + }, + { + "offset": "0.16", + "style": { + "stopColor": "#909091" + } + }, + { + "offset": "0.49", + "style": { + "stopColor": "#E0E0E0" + } + }, + { + "offset": "1", + "style": { + "stopColor": "#646566" + } + } + ], + "type": "linear", + "x1": "94.2881", + "x2": "123.9873", + "y1": "-23.0383", + "y2": "-23.0383" + } + }, + "name": "path", + "type": "path" + } + ], + "name": "Group_Horizonatal_Short", + "type": "group" + } + ], + "preserveAspectRatio": "none", + "viewBox": "0 0 112.5 29.924" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "MovingAnalogIndicator_0" + }, + "position": { + "height": 181, + "width": 65, + "x": 869.99, + "y": 284.474 + }, + "propConfig": { + "props.processValue": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "path": "{../AnalogInput.props.params.tagPath}" + }, + "tagPath": "{path}/Val" + }, + "type": "tag" + } + } + }, + "props": { + "desiredHigh": 80, + "desiredLow": 20, + "highAlarm": 800, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 10, + "lowInterlock": null, + "lowLowAlarm": null + }, + "type": "ia.display.moving-analog-indicator" + }, + { + "meta": { + "name": "Short horizontal pipe_3" + }, + "position": { + "height": 3, + "width": 773, + "x": 509.67, + "y": 217.66 + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M112.5,29.924H0V0.224h112.5V29.924z", + "fill": { + "paint": { + "gradientTransform": "", + "gradientUnits": "", + "stops": [ + { + "offset": "0.01", + "style": { + "stopColor": "#646566" + } + }, + { + "offset": "0.16", + "style": { + "stopColor": "#909091" + } + }, + { + "offset": "0.49", + "style": { + "stopColor": "#E0E0E0" + } + }, + { + "offset": "1", + "style": { + "stopColor": "#646566" + } + } + ], + "type": "linear", + "x1": "94.2881", + "x2": "123.9873", + "y1": "-23.0383", + "y2": "-23.0383" + } + }, + "name": "path", + "type": "path" + } + ], + "name": "Group_Horizonatal_Short", + "type": "group" + } + ], + "preserveAspectRatio": "none", + "viewBox": "0 0 112.5 29.924" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "Label_10" + }, + "position": { + "height": 125.00000000000001, + "width": 308, + "x": 23, + "y": 51.74 + }, + "props": { + "style": { + "borderBottomLeftRadius": 10, + "borderBottomRightRadius": 10, + "borderStyle": "solid", + "borderTopLeftRadius": 10, + "borderTopRightRadius": 10, + "borderWidth": 1 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "PSD_Status" + }, + "position": { + "height": 32, + "width": 94, + "x": 121.906, + "y": 66.4856 + }, + "props": { + "text": "PSD Status:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_12" + }, + "position": { + "height": 32, + "width": 91, + "x": 231.094, + "y": 66.4846 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "{this.props.text}" + }, + "transforms": [ + { + "code": "\tif value \u003d\u003d \u0027Normal\u0027:\n\t\treturn \u0027#FFFFFF\u0027\n\treturn \u0027#FF0000\u0027", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{[default]Prime_L24_CDP/Alarm/PSD}" + }, + "transforms": [ + { + "code": "\tif value \u003d\u003d 0:\n\t\treturn \"Normal\"\n\treturn \"Alarm\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "ValveSolenoid" + }, + "position": { + "height": 77, + "width": 140, + "x": 579.35, + "y": 182.341 + }, + "props": { + "params": { + "appearance": "", + "highPerformance": true, + "rotate": false, + "showLabel": true, + "tagPath": "[default]Test_Tags/P_ValveSO" + }, + "path": "Plant PAX/Faceplates/P_ValveSO/P_ValveSO_Hor" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Short horizontal pipe_4" + }, + "position": { + "height": 3, + "rotate": { + "angle": 90 + }, + "width": 18, + "x": 890.488, + "y": 519.524 + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M112.5,29.924H0V0.224h112.5V29.924z", + "fill": { + "paint": { + "gradientTransform": "", + "gradientUnits": "", + "stops": [ + { + "offset": "0.01", + "style": { + "stopColor": "#646566" + } + }, + { + "offset": "0.16", + "style": { + "stopColor": "#909091" + } + }, + { + "offset": "0.49", + "style": { + "stopColor": "#E0E0E0" + } + }, + { + "offset": "1", + "style": { + "stopColor": "#646566" + } + } + ], + "type": "linear", + "x1": "94.2881", + "x2": "123.9873", + "y1": "-23.0383", + "y2": "-23.0383" + } + }, + "name": "path", + "type": "path" + } + ], + "name": "Group_Horizonatal_Short", + "type": "group" + } + ], + "preserveAspectRatio": "none", + "viewBox": "0 0 112.5 29.924" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "AlarmStatusTable" + }, + "position": { + "height": 237, + "width": 1749, + "x": 0.86, + "y": 658 + }, + "props": { + "filters": { + "active": { + "conditions": { + "source": "*prov:default:/tag:Test_Tags*" + }, + "states": { + "activeAcked": false, + "clearUnacked": false + } + } + }, + "pager": { + "hide": true, + "initialOption": 100 + }, + "toolbar": { + "enableConfiguration": false, + "enableFilter": false, + "enableFilterResults": false, + "enablePreFilters": false, + "enableShelvedTab": false + } + }, + "type": "ia.display.alarmstatustable" + }, + { + "meta": { + "name": "Short horizontal pipe_5" + }, + "position": { + "height": 3, + "rotate": { + "angle": 90 + }, + "width": 18, + "x": 888.488, + "y": 210.001 + }, + "props": { + "elements": [ + { + "elements": [ + { + "d": "M112.5,29.924H0V0.224h112.5V29.924z", + "fill": { + "paint": { + "gradientTransform": "", + "gradientUnits": "", + "stops": [ + { + "offset": "0.01", + "style": { + "stopColor": "#646566" + } + }, + { + "offset": "0.16", + "style": { + "stopColor": "#909091" + } + }, + { + "offset": "0.49", + "style": { + "stopColor": "#E0E0E0" + } + }, + { + "offset": "1", + "style": { + "stopColor": "#646566" + } + } + ], + "type": "linear", + "x1": "94.2881", + "x2": "123.9873", + "y1": "-23.0383", + "y2": "-23.0383" + } + }, + "name": "path", + "type": "path" + } + ], + "name": "Group_Horizonatal_Short", + "type": "group" + } + ], + "preserveAspectRatio": "none", + "viewBox": "0 0 112.5 29.924" + }, + "type": "ia.shapes.svg" + }, + { + "meta": { + "name": "DigitalInput" + }, + "position": { + "height": 72, + "width": 94, + "x": 23.8906, + "y": 75.406 + }, + "props": { + "params": { + "showLabel": "True", + "tagPath": "[default]Test_Tags/P_Din" + }, + "path": "Plant PAX/Faceplates/DigitalInput" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "DigitalInputClassic" + }, + "position": { + "height": 43, + "width": 141, + "x": 270.94, + "y": 333.02 + }, + "props": { + "params": { + "showLabel": true, + "tagPath": "[default]Test_Tags/P_Din" + }, + "path": "Plant PAX/Faceplates/P_DIn/P_DIn1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "AnalogInput_2" + }, + "position": { + "height": 44, + "width": 140, + "x": 829.991, + "y": 468.471 + }, + "props": { + "params": { + "appereance": "p\u0026id", + "showLabel": true, + "tagPath": "Test_Tags/P_Ain" + }, + "path": "Plant PAX/Faceplates/P_AIn/P_AIn1" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "AnalogTrend_0" + }, + "position": { + "height": 33, + "width": 55, + "x": 773.991, + "y": 475.487 + }, + "props": { + "params": { + "appereance": "p\u0026id", + "showLabel": true, + "tagPath": "Test_Tags/P_Ain" + }, + "path": "Plant PAX/Faceplates/AnalogTrend" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "OneShotButton" + }, + "position": { + "height": 57.000000000000014, + "rotate": { + "anchor": "186% -114%" + }, + "width": 148, + "x": 140.451, + "y": 108.344 + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[default]Test_Tags/Control/HMI_SD_PB" + }, + "type": "tag" + } + } + }, + "props": { + "confirm": { + "enabled": true + }, + "readyState": { + "icon": { + "style": { + "height": "24px", + "width": "2rem" + } + }, + "style": { + "borderStyle": "solid", + "classes": "Popups/General/background", + "color": "#555555" + }, + "text": "PSD" + }, + "style": { + "borderStyle": "solid", + "classes": "Popups/General/background" + }, + "writingState": { + "icon": { + "path": "material/hourglass_empty", + "style": { + "height": "24px", + "width": "2rem" + } + }, + "style": { + "borderStyle": "solid", + "classes": "Popups/General/background", + "color": "#555555" + }, + "text": "Writing..." + } + }, + "type": "ia.input.oneshotbutton" + }, + { + "meta": { + "name": "OneShotButton_1" + }, + "position": { + "height": 57, + "rotate": { + "anchor": "186% -114%" + }, + "width": 163, + "x": 1581, + "y": 49.73 + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[default]Test_Tags/Control/Alm_Rst" + }, + "type": "tag" + } + } + }, + "props": { + "confirm": { + "enabled": true + }, + "readyState": { + "icon": { + "style": { + "height": "24px", + "width": "2rem" + } + }, + "style": { + "borderStyle": "solid", + "classes": "Popups/General/background", + "color": "#555555" + }, + "text": "Alarm Reset" + }, + "style": { + "borderStyle": "solid", + "classes": "Popups/General/background", + "color": "#555555" + }, + "writingState": { + "icon": { + "path": "material/hourglass_empty", + "style": { + "height": "24px", + "width": "2rem" + } + }, + "style": { + "borderStyle": "solid", + "classes": "Popups/General/background", + "color": "#555555" + }, + "text": "Writing..." + } + }, + "type": "ia.input.oneshotbutton" + }, + { + "meta": { + "name": "MovingAnalogIndicator_1" + }, + "position": { + "height": 128, + "width": 30, + "x": 279.06, + "y": 412.02 + }, + "propConfig": { + "props.processValue": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "path": "{../AnalogInput.props.params.tagPath}" + }, + "tagPath": "{path}/Val" + }, + "type": "tag" + } + } + }, + "props": { + "desiredHigh": 80, + "desiredLow": 20, + "highAlarm": 800, + "highHighAlarm": null, + "highInterlock": null, + "lowAlarm": 10, + "lowInterlock": null, + "lowLowAlarm": null, + "style": { + "backgroundColor": "#EAF6FF" + } + }, + "type": "ia.display.moving-analog-indicator" + }, + { + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 36, + "width": 153.18000000000006, + "x": 1586.84, + "y": 119.69437499999998 + }, + "propConfig": { + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "direct", + "publishInitial": false, + "tagPath": "[default]Test_Tags/Control/Simulated_Close" + }, + "type": "tag" + } + } + }, + "props": { + "text": "Simulated Closed" + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "Checkbox_0" + }, + "position": { + "height": 36, + "width": 153.18000000000006, + "x": 1587.83, + "y": 156.69437499999998 + }, + "propConfig": { + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[default]Test_Tags/Control/Simulated_Open" + }, + "type": "tag" + } + } + }, + "props": { + "text": "Simulated Open" + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "Checkbox_1" + }, + "position": { + "height": 35.99999999999997, + "width": 134.56000000000017, + "x": 1587.82, + "y": 194.82437499999997 + }, + "propConfig": { + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "direct", + "publishInitial": false, + "tagPath": "[default]Test_Tags/Control/Simulated_FB" + }, + "type": "tag" + } + } + }, + "props": { + "text": "Simulated Fdbk" + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "chiller" + }, + "position": { + "height": 37, + "rotate": { + "anchor": "50% 25%" + }, + "width": 135, + "x": 1290.83, + "y": 512.12 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/custom/perspective_nav_arrow.svg", + "tint": { + "color": "#D5D5D5", + "enabled": true + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label_16" + }, + "position": { + "height": 125, + "width": 164, + "x": 1282, + "y": 158.125 + }, + "props": { + "style": { + "borderBottomLeftRadius": 10, + "borderBottomRightRadius": 10, + "borderStyle": "solid", + "borderTopLeftRadius": 10, + "borderTopRightRadius": 10, + "borderWidth": 1 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_5" + }, + "position": { + "height": 32, + "width": 76, + "x": 1368, + "y": 240.125 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderBottomLeftRadius": 3, + "borderBottomRightRadius": 3, + "borderColor": "black", + "borderStyle": "solid", + "borderTopLeftRadius": 3, + "borderTopRightRadius": 3, + "borderWidth": "1px", + "color": "#000000", + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "center" + }, + "text": "68 °F" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_22" + }, + "position": { + "height": 32, + "rotate": { + "anchor": "50% 38%" + }, + "width": 72, + "x": 1370, + "y": 203.125 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "{this.props.text}" + }, + "transforms": [ + { + "code": "\tif value \u003d\u003d \u0027Running\u0027:\n\t\treturn \u0027#FFFFFF\u0027\n\treturn \u0027#FF0000\u0027", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "textAlign": "center" + }, + "text": "Running" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_23" + }, + "position": { + "height": 32, + "width": 82, + "x": 1285, + "y": 202.125 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "\"Status: \"" + }, + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_24" + }, + "position": { + "height": 32, + "width": 82, + "x": 1285, + "y": 241.125 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "\"Temp: \"" + }, + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_17" + }, + "position": { + "height": 23, + "width": 69, + "x": 1328, + "y": 167.125 + }, + "props": { + "style": { + "borderBottomLeftRadius": 10, + "borderBottomRightRadius": 10, + "borderStyle": "none", + "borderTopLeftRadius": 10, + "borderTopRightRadius": 10, + "borderWidth": 1, + "textAlign": "center" + }, + "text": "Chiller" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Icon_0", + "tooltip": { + "enabled": true, + "text": "Chiller Data" + } + }, + "position": { + "height": 30, + "rotate": { + "anchor": "50% 62%" + }, + "width": 30, + "x": 1410, + "y": 163.125 + }, + "props": { + "color": "#555555", + "path": "material/settings" + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "chiller_0" + }, + "position": { + "height": 158, + "rotate": { + "anchor": "50% 25%" + }, + "width": 172, + "x": 1282.83, + "y": 299.809 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if({../RadioGroup.props.index} \u003d 2, True, False)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/chiller.png", + "tint": { + "color": "#D5D5D5", + "enabled": true + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label_14" + }, + "position": { + "height": 32, + "width": 107, + "x": 1296, + "y": 514.61 + }, + "props": { + "text": "To Equipment" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Checkbox_2" + }, + "position": { + "height": 36, + "width": 134, + "x": 1589, + "y": 238.234375 + }, + "propConfig": { + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[default]Test_Tags/Control/Simulated_Din" + }, + "type": "tag" + } + } + }, + "props": { + "text": "Simulated Din" + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "chiller_1" + }, + "position": { + "height": 37, + "rotate": { + "anchor": "50% 25%" + }, + "width": 140, + "x": 47, + "y": 523.61 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/custom/perspective_nav_arrow.svg", + "tint": { + "color": "#D5D5D5", + "enabled": true + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label_18" + }, + "position": { + "height": 32, + "width": 109.99999999999999, + "x": 54.17, + "y": 526.1 + }, + "props": { + "text": "Supply Water" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Desc" + }, + "position": { + "basis": "10px", + "grow": 1, + "shrink": 0 + }, + "props": { + "style": { + "classes": "Popups/label", + "color": "#2B2B2B", + "fontWeight": "bold", + "textAlign": "center" + }, + "text": "Prime Controls Process Objects Demo" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Header" + }, + "position": { + "basis": 650, + "grow": 1, + "shrink": 0 + }, + "props": { + "alignItems": "center", + "style": { + "borderBottomStyle": "ridge", + "classes": "Popups/General/core", + "fontSize": "16px", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "height": 41, + "rotate": { + "anchor": "38% 50%" + }, + "width": 1749, + "x": -0.16, + "y": -1.27 + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "P_VSD_PumpR" + }, + "position": { + "height": 96, + "width": 142, + "x": 575.891, + "y": 504.11 + }, + "props": { + "params": { + "showLabel": true, + "tagPath": "[default]Test_Tags/P_VSD" + }, + "path": "Plant PAX/Faceplates/P_VSD/P_VSD_PumpR" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "AnalogInput_3" + }, + "position": { + "height": 44, + "width": 140, + "x": 827.135, + "y": 159.945 + }, + "props": { + "params": { + "appereance": "p\u0026id", + "showLabel": true, + "tagPath": "Test_Tags/P_Ain" + }, + "path": "Plant PAX/Faceplates/P_AIn/P_AIn1" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "position": { + "x": -101, + "y": 121.578125 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/AnalogInput/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/AnalogInput/resource.json new file mode 100644 index 0000000..3bae22d --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/AnalogInput/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "379df44378dcb9d69bc1e1d29c45e44967ab3a0ace9f858cd3b3a2eb1d68a1eb", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:18Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/AnalogInput/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/AnalogInput/thumbnail.png new file mode 100644 index 0000000..4e4b1bf Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/AnalogInput/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/AnalogInput/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/AnalogInput/view.json new file mode 100644 index 0000000..673376d --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/AnalogInput/view.json @@ -0,0 +1,153 @@ +{ + "custom": {}, + "params": { + "appereance": "p\u0026id", + "showLabel": true, + "tagPath": "Test_Tags/P_Ain" + }, + "propConfig": { + "params.appearance": { + "paramDirection": "input", + "persistent": true + }, + "params.appereance": { + "paramDirection": "input", + "persistent": true + }, + "params.highPerformance": { + "paramDirection": "input", + "persistent": true + }, + "params.rotate": { + "paramDirection": "input", + "persistent": true + }, + "params.showLabel": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.valveOrientation": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 99, + "width": 70 + }, + "dropConfig": { + "udts": [ + { + "action": "path", + "param": "tagPath", + "type": "ROL_DataTypes/DigitalInput" + } + ] + } + }, + "root": { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "{view.params.tagPath}", + "modal": false, + "overlayDismiss": false, + "resizable": true, + "showCloseIcon": true, + "title": "{/root.meta.tooltip.text}", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}" + }, + "viewPath": "Plant PAX/Popups/AnalogInput/Popup", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "Sensor" + }, + "position": { + "basis": "50px", + "grow": 1, + "shrink": 0 + }, + "propConfig": { + "props.appearance": { + "binding": { + "config": { + "path": "view.params.appereance" + }, + "type": "property" + } + }, + "props.label.location": { + "binding": { + "config": { + "expression": "if({view.params.showLabel}, \"top\", \"hidden\")" + }, + "type": "expr" + } + }, + "props.label.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Tag\")" + }, + "type": "expr" + } + }, + "props.value.text": { + "binding": { + "config": { + "expression": "numberformat(tag({view.params.tagPath}+ \"/Val\"), \"#0.00\") + \" \"+ tag({view.params.tagPath} + \"/Cfg_EU\")" + }, + "type": "expr" + } + } + }, + "props": { + "label": {}, + "value": { + "style": { + "backgroundColor": "#555555" + } + } + }, + "type": "ia.symbol.sensor" + } + ], + "meta": { + "name": "root", + "tooltip": { + "enabled": true + } + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_tag\") + \" - \" + tag({view.params.tagPath}+\"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/AnalogInputClassic/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/AnalogInputClassic/resource.json new file mode 100644 index 0000000..53d31a6 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/AnalogInputClassic/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "4d52606a1af4ebaa4d420f646f374a5e84324260bd0c6d58cb663759972fb150", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:18Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/AnalogInputClassic/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/AnalogInputClassic/thumbnail.png new file mode 100644 index 0000000..e1283ad Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/AnalogInputClassic/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/AnalogInputClassic/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/AnalogInputClassic/view.json new file mode 100644 index 0000000..b622bc5 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/AnalogInputClassic/view.json @@ -0,0 +1,188 @@ +{ + "custom": {}, + "params": { + "tagPath": "Test_Tags/P_Ain" + }, + "propConfig": { + "params.appearance": { + "paramDirection": "input", + "persistent": true + }, + "params.highPerformance": { + "paramDirection": "input", + "persistent": true + }, + "params.rotate": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.valveOrientation": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 55, + "width": 131 + }, + "dropConfig": { + "udts": [ + { + "action": "path", + "param": "tagPath", + "type": "ROL_DataTypes/DigitalInput" + } + ] + } + }, + "root": { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "{view.params.tagPath}", + "modal": false, + "overlayDismiss": false, + "resizable": true, + "showCloseIcon": true, + "title": "{/root.meta.tooltip.text}", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}" + }, + "viewPath": "Plant PAX/Popups/AnalogInput/Popup", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "Label_3" + }, + "position": { + "basis": "10px", + "grow": 1, + "shrink": 0 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Tag\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#808080", + "borderStyle": "none", + "borderWidth": "1px", + "color": "#2B2B2B", + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "{view.params.tagPath}", + "modal": false, + "overlayDismiss": false, + "resizable": true, + "showCloseIcon": true, + "title": "{/root.meta.tooltip.text}", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}" + }, + "viewPath": "Plant PAX/Popups/AnalogInput/Popup", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "Label_4" + }, + "position": { + "basis": "25px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Val_Fault\") \u003e 0 || tag({view.params.tagPath} + \"/Sts_RdyReset\") \u003d True, \"Red\", \"#FFFFFF00\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "numberformat(tag({view.params.tagPath}+ \"/Val\"), \"#0.00\") + \" \"+ tag({view.params.tagPath} + \"/Cfg_EU\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 3, + "borderBottomRightRadius": 3, + "borderColor": "#808080", + "borderStyle": "solid", + "borderTopLeftRadius": 3, + "borderTopRightRadius": 3, + "borderWidth": "1px", + "color": "#000000", + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root", + "tooltip": { + "enabled": true + } + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_tag\") + \" - \" + tag({view.params.tagPath}+\"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/AnalogInput_OLD/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/AnalogInput_OLD/resource.json new file mode 100644 index 0000000..c090b04 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/AnalogInput_OLD/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "cc258cc93a90e29ca56aaaed09861dd9debcf190310e553f409beb141ca9c430", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:18Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/AnalogInput_OLD/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/AnalogInput_OLD/thumbnail.png new file mode 100644 index 0000000..57cafe7 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/AnalogInput_OLD/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/AnalogInput_OLD/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/AnalogInput_OLD/view.json new file mode 100644 index 0000000..246966f --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/AnalogInput_OLD/view.json @@ -0,0 +1,77 @@ +{ + "custom": {}, + "params": { + "appereance": "p\u0026id", + "showLabel": true, + "tagPath": "Test_Tags/P_Ain" + }, + "propConfig": { + "params.appearance": { + "paramDirection": "input", + "persistent": true + }, + "params.appereance": { + "paramDirection": "input", + "persistent": true + }, + "params.highPerformance": { + "paramDirection": "input", + "persistent": true + }, + "params.rotate": { + "paramDirection": "input", + "persistent": true + }, + "params.showLabel": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.valveOrientation": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 44, + "width": 140 + }, + "dropConfig": { + "udts": [ + { + "action": "path", + "param": "tagPath", + "type": "Plant PAX/P_Ain" + } + ] + } + }, + "root": { + "children": [ + { + "meta": { + "name": "CoordinateContainer" + }, + "position": { + "basis": "200px" + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root", + "tooltip": { + "enabled": true, + "text": "P_AIn - Flow Meter" + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/AnalogTrend/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/AnalogTrend/resource.json new file mode 100644 index 0000000..3115619 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/AnalogTrend/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "8902fd39bf195738953959d136d2b87ffd26d3793e6e74f329e345c27d0426e0", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:18Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/AnalogTrend/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/AnalogTrend/thumbnail.png new file mode 100644 index 0000000..e2d3fba Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/AnalogTrend/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/AnalogTrend/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/AnalogTrend/view.json new file mode 100644 index 0000000..e8f2ca0 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/AnalogTrend/view.json @@ -0,0 +1,208 @@ +{ + "custom": {}, + "params": { + "tagPath": "[DH1]Block 1/Process/Sensor/PT_11" + }, + "propConfig": { + "params.appearance": { + "paramDirection": "input", + "persistent": true + }, + "params.appereance": { + "paramDirection": "input", + "persistent": true + }, + "params.highPerformance": { + "paramDirection": "input", + "persistent": true + }, + "params.rotate": { + "paramDirection": "input", + "persistent": true + }, + "params.showLabel": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.valveOrientation": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 34, + "width": 106 + }, + "dropConfig": { + "udts": [ + { + "action": "path", + "param": "tagPath", + "type": "ROL_DataTypes/DigitalInput" + } + ] + } + }, + "root": { + "children": [ + { + "custom": { + "historyTags": [ + { + "aggregate": "Minimum", + "alias": "Selected Tag" + } + ] + }, + "meta": { + "name": "Sparkline_1" + }, + "position": { + "basis": "33px", + "grow": 1, + "shrink": 0 + }, + "propConfig": { + "custom.historyTags[0].path": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "transforms": [ + { + "expression": "{value} + \"/Val\"", + "type": "expression" + } + ], + "type": "property" + } + }, + "props.points": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "30", + "mostRecentUnits": "MIN" + }, + "enableValueCache": true, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "5" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "delay": "1", + "delayUnits": "MIN", + "type": "INTERVAL" + }, + "tags": "{this.custom.historyTags}", + "valueFormat": "DATASET" + }, + "type": "tag-history" + } + }, + "props.range.high": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Cfg_PVEUMax" + }, + "type": "tag" + } + }, + "props.range.low": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Cfg_PVEUMin" + }, + "type": "tag" + } + } + }, + "props": { + "color": "#2B2B2B", + "desired": { + "fill": { + "color": "#FFFFFF" + }, + "stroke": { + "color": "#000000" + } + }, + "marker": { + "first": { + "shape": "triangle", + "size": 0, + "stroke": { + "color": "#080000", + "width": 0 + } + }, + "high": { + "size": 0 + }, + "last": { + "fill": { + "color": "#00000000", + "opacity": 0 + }, + "shape": "triangle", + "size": 0, + "stroke": { + "opacity": 0, + "width": 0 + } + }, + "low": { + "size": 0 + } + }, + "range": {}, + "style": { + "backgroundColor": "#D5D5D500" + }, + "width": ".9" + }, + "type": "ia.display.sparkline" + } + ], + "meta": { + "name": "root", + "tooltip": { + "enabled": true + } + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_tag\") + \" - \" + tag({view.params.tagPath}+\"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/DigitalInput/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/DigitalInput/resource.json new file mode 100644 index 0000000..34cc4a0 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/DigitalInput/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "dd1ffe40b325e1a1df99c1e206984190865e8dec37d4b465076ab8e38b71001e", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:18Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/DigitalInput/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/DigitalInput/thumbnail.png new file mode 100644 index 0000000..02d7285 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/DigitalInput/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/DigitalInput/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/DigitalInput/view.json new file mode 100644 index 0000000..95b5f3d --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/DigitalInput/view.json @@ -0,0 +1,212 @@ +{ + "custom": {}, + "params": { + "showLabel": "True", + "tagPath": "[default]Test_Tags/P_Din" + }, + "propConfig": { + "params.appearance": { + "paramDirection": "input", + "persistent": true + }, + "params.highPerformance": { + "paramDirection": "input", + "persistent": true + }, + "params.rotate": { + "paramDirection": "input", + "persistent": true + }, + "params.showLabel": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.valveOrientation": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 72, + "width": 94 + }, + "dropConfig": { + "udts": [ + { + "action": "path", + "param": "tagPath", + "type": "ROL_DataTypes/DigitalInput" + } + ] + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label_3" + }, + "position": { + "basis": "10px", + "grow": 1, + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": "view.params.showLabel" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Tag\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#808080", + "borderStyle": "none", + "borderWidth": "1px", + "color": "#2B2B2B", + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "circle", + "tooltip": { + "location": "bottom" + } + }, + "propConfig": { + "props.style.classes": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "TagPath": "{view.params.tagPath}" + }, + "tagPath": "{TagPath}/Sts" + }, + "transforms": [ + { + "fallback": "States/DigitalInput/off", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "States/DigitalInput/off" + }, + { + "input": true, + "output": "States/DigitalInput/on" + } + ], + "outputType": "style-list", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "cx": 250, + "cy": "250", + "r": "210", + "style": { + "stroke": "#000000", + "strokeWidth": 3 + } + }, + "type": "ia.shapes.circle" + } + ], + "meta": { + "name": "Esb_FillPipe" + }, + "position": { + "basis": "32px", + "grow": 1 + }, + "props": { + "viewBox": "0 0 500 500" + }, + "type": "ia.container.drawing" + } + ], + "events": { + "dom": { + "onClick": [ + { + "config": { + "draggable": true, + "id": "{view.params.tagPath}", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "{/root.meta.tooltip.text}", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}" + }, + "viewPath": "Plant PAX/Popups/DigitalInput/Popup", + "viewportBound": false + }, + "enabled": false, + "scope": "C", + "type": "popup" + }, + { + "config": { + "script": "\tbreakpoint \u003d self.session.custom.breakpoint\n\twidth \u003d self.page.props.dimensions.screen.width\n\theight \u003d self.page.props.dimensions.screen.height\n\tself.props.style\n\tif (width \u003c\u003d breakpoint):\n\t\tsystem.perspective.openPopup({self.view.params.tagPath},\u0027Plant PAX/Popups/DigitalInput/Popup\u0027, params \u003d {\u0027tagPath\u0027:{self.view.params.tagPath}}, showCloseIcon \u003d True, resizable \u003d False, position \u003d {\u0027width\u0027:width,\u0027height\u0027:height})\n\telif (width \u003e breakpoint):\n\t\tsystem.perspective.openPopup({self.view.params.tagPath},\u0027Plant PAX/Popups/DigitalInput/Popup\u0027, params \u003d {\u0027tagPath\u0027:{self.view.params.tagPath}}, showCloseIcon \u003d True, resizable \u003d False)\n\t\n\t\n\t" + }, + "scope": "G", + "type": "script" + } + ] + } + }, + "meta": { + "name": "root", + "tooltip": { + "enabled": true + } + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_Tag\") + \" - \" + tag({view.params.tagPath}+\"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/DigitalInputClassic/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/DigitalInputClassic/resource.json new file mode 100644 index 0000000..e4310b4 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/DigitalInputClassic/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "2db226bc3e0934037fd3347b9b9071e7875b4210a46013d58748278c217c5101", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:18Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/DigitalInputClassic/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/DigitalInputClassic/thumbnail.png new file mode 100644 index 0000000..013b06b Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/DigitalInputClassic/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/DigitalInputClassic/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/DigitalInputClassic/view.json new file mode 100644 index 0000000..2c88c7a --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/DigitalInputClassic/view.json @@ -0,0 +1,192 @@ +{ + "custom": {}, + "params": { + "showLabel": "True", + "tagPath": "[default]Test_Tags/P_Din" + }, + "propConfig": { + "params.Off_label": { + "paramDirection": "input", + "persistent": true + }, + "params.On_label": { + "paramDirection": "input", + "persistent": true + }, + "params.appearance": { + "paramDirection": "input", + "persistent": true + }, + "params.highPerformance": { + "paramDirection": "input", + "persistent": true + }, + "params.rotate": { + "paramDirection": "input", + "persistent": true + }, + "params.showLabel": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.valveOrientation": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 55, + "width": 101 + }, + "dropConfig": { + "udts": [ + { + "action": "path", + "param": "tagPath", + "type": "ROL_DataTypes/DigitalInput" + } + ] + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label_3" + }, + "position": { + "basis": "10px", + "grow": 1, + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": "view.params.showLabel" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Tag\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#808080", + "borderStyle": "none", + "borderWidth": "1px", + "color": "#2B2B2B", + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_4", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "basis": "25px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/TgtDisagree/Alarm\") \u003d True, \"Red\", \"#FFFFFF00\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath}+ \"/Sts\"), tag({view.params.tagPath}+ \"/Cfg_1stText\"), tag({view.params.tagPath}+ \"/Cfg_0stText\"))" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 3, + "borderBottomRightRadius": 3, + "borderColor": "#808080", + "borderStyle": "solid", + "borderTopLeftRadius": 3, + "borderTopRightRadius": 3, + "borderWidth": "1px", + "color": "#000000", + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "center" + }, + "textStyle": { + "classes": "States/DigitalInput/on" + } + }, + "type": "ia.display.label" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "{view.params.tagPath}", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "{/root.meta.tooltip.text}", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}" + }, + "viewPath": "Plant PAX/Popups/DigitalInput/Popup", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "root", + "tooltip": { + "enabled": true + } + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_Tag\") + \" - \" + tag({view.params.tagPath}+\"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/DigitalOutput/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/DigitalOutput/resource.json new file mode 100644 index 0000000..9992e34 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/DigitalOutput/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "d66f4f66a2effd990eb64749f75010eed707696f71306731bf5df774494351b6", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:18Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/DigitalOutput/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/DigitalOutput/thumbnail.png new file mode 100644 index 0000000..576b4f1 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/DigitalOutput/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/DigitalOutput/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/DigitalOutput/view.json new file mode 100644 index 0000000..0f29118 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/DigitalOutput/view.json @@ -0,0 +1,153 @@ +{ + "custom": {}, + "params": { + "tagPath": "[default]ROL/Do01" + }, + "propConfig": { + "params.appearance": { + "paramDirection": "input", + "persistent": true + }, + "params.highPerformance": { + "paramDirection": "input", + "persistent": true + }, + "params.rotate": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.valveOrientation": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 50, + "width": 50 + }, + "dropConfig": { + "udts": [ + { + "action": "path", + "param": "tagPath", + "type": "ROL_DataTypes/DigitalOutput" + } + ] + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "circle" + }, + "propConfig": { + "props.style.classes": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "TagPath": "{view.params.tagPath}" + }, + "tagPath": "{TagPath}/HMI_DigitalOutput/bCommand" + }, + "transforms": [ + { + "fallback": "States/DigitalOutput/off", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "States/DigitalOutput/off" + }, + { + "input": true, + "output": "States/DigitalOutput/on" + } + ], + "outputType": "style-list", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "cx": 250, + "cy": "250", + "r": "210", + "style": { + "stroke": "#000000", + "strokeWidth": 3 + } + }, + "type": "ia.shapes.circle" + } + ], + "meta": { + "name": "Esb_FillPipe" + }, + "position": { + "basis": "32px", + "grow": 1 + }, + "props": { + "viewBox": "0 0 500 500" + }, + "type": "ia.container.drawing" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "{view.params.tagPath}", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "{/root.meta.tooltip.text}", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}" + }, + "viewPath": "Plant PAX/Popups/DigitalOutput/Popup", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "root", + "tooltip": { + "enabled": true + } + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\".Name\") + \" - \" + tag({view.params.tagPath}+\".Description\")" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/Motor/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/Motor/resource.json new file mode 100644 index 0000000..98d714f --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/Motor/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "fc7d53e3c15f1d08c5362d67a84a84dedff6cb880375dfceaf215b97ed6a881e", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:18Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/Motor/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/Motor/thumbnail.png new file mode 100644 index 0000000..5965e5b Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/Motor/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/Motor/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/Motor/view.json new file mode 100644 index 0000000..1e8d98b --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/Motor/view.json @@ -0,0 +1,273 @@ +{ + "custom": {}, + "params": { + "appearance": "p\u0026id", + "highPerformance": true, + "rotate": false, + "showLabel": true, + "tagPath": "[default]Test_Tags/P_Motor" + }, + "propConfig": { + "params.appearance": { + "paramDirection": "input", + "persistent": true + }, + "params.highPerformance": { + "paramDirection": "input", + "persistent": true + }, + "params.rotate": { + "paramDirection": "input", + "persistent": true + }, + "params.showLabel": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.valveOrientation": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 104, + "width": 113 + }, + "dropConfig": { + "udts": [ + { + "action": "path", + "param": "tagPath", + "type": "Plant PAX/P_Motor" + } + ] + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Motor" + }, + "position": { + "basis": "100px", + "grow": 1, + "shrink": 0 + }, + "propConfig": { + "props.appearance": { + "binding": { + "config": { + "path": "view.params.appearance" + }, + "type": "property" + } + }, + "props.label.location": { + "binding": { + "config": { + "expression": "if({view.params.showLabel}, \"top\", \"hidden\")" + }, + "type": "expr" + } + }, + "props.label.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_Tag\")" + }, + "type": "expr" + } + }, + "props.orientation": { + "binding": { + "config": { + "path": "view.params.rotate" + }, + "transforms": [ + { + "fallback": "top", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "right" + }, + { + "input": true, + "output": "top" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.state": { + "binding": { + "config": { + "path": "view.params.highPerformance" + }, + "transforms": [ + { + "expression": "if({value},tag({view.params.tagPath}+\"/Val_Fdbk\"),-1)", + "type": "expression" + }, + { + "fallback": "default", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "stopped" + }, + { + "input": 1, + "output": "running" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.classes": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "TagPath": "{view.params.tagPath}" + }, + "tagPath": "{TagPath}/Val_Fault" + }, + "transforms": [ + { + "fallback": "States/Motor/disable", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "States/Motor/stopped" + }, + { + "input": 1, + "output": "States/Motor/estop" + }, + { + "input": 2, + "output": "States/Motor/faulted" + }, + { + "input": 3, + "output": "States/Motor/forward" + }, + { + "input": 4, + "output": "States/Motor/reverse" + }, + { + "input": 5, + "output": "States/Motor/starting" + }, + { + "input": 6, + "output": "States/Motor/starting" + }, + { + "input": 7, + "output": "States/Motor/forward" + }, + { + "input": 8, + "output": "States/Motor/reverse" + }, + { + "input": 9, + "output": "States/Motor/starting" + }, + { + "input": 10, + "output": "States/Motor/starting" + }, + { + "input": 17, + "output": "States/Motor/interlock" + }, + { + "input": 16, + "output": "States/Motor/interlock" + } + ], + "outputType": "style-list", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "label": {}, + "style": {}, + "value": { + "location": "hidden" + } + }, + "type": "ia.symbol.motor" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "{view.params.tagPath}", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "{/root.meta.tooltip.text}", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}" + }, + "viewPath": "Plant PAX/Popups/Motor/Popup", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "root", + "tooltip": { + "enabled": true + } + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_Tag\") + \" - \" + tag({view.params.tagPath}+\"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_AIn/P_AIn1/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_AIn/P_AIn1/resource.json new file mode 100644 index 0000000..7eb3d24 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_AIn/P_AIn1/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "3696d724799883f7fd73871a40bf4c60f1e845f6bf96787a64e58e6ab25f0037", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:18Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_AIn/P_AIn1/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_AIn/P_AIn1/thumbnail.png new file mode 100644 index 0000000..e7be07c Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_AIn/P_AIn1/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_AIn/P_AIn1/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_AIn/P_AIn1/view.json new file mode 100644 index 0000000..286ee24 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_AIn/P_AIn1/view.json @@ -0,0 +1,418 @@ +{ + "custom": {}, + "params": { + "frameColor": "#91919161", + "showFrame": true, + "showLabel": true, + "tagPath": "[DH1]Block 1/Process/Sensor/FT_11" + }, + "propConfig": { + "params.frameColor": { + "paramDirection": "input", + "persistent": true + }, + "params.showFrame": { + "paramDirection": "input", + "persistent": true + }, + "params.showLabel": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 44, + "width": 140 + }, + "dropConfig": { + "udts": [ + { + "action": "path", + "param": "tagPath", + "type": "Plant PAX/P_Ain" + } + ] + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Frame" + }, + "position": { + "height": 42, + "width": 138, + "x": 1, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.showFrame" + }, + "type": "property" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "view.params.frameColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "godsAlarmPolygon" + }, + "position": { + "height": "39px", + "width": "124px", + "x": "8px", + "y": "5px" + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d value\n\t\n\tcolors \u003d [\"\",\n\t\"#FFFFFF\",\n\t\"#916AAD\",\n\t\"#916AAD\",\n\t\"#F5DF1B\",\n\t\"#F5DF1B\",\n\t\"#EC8729\",\n\t\"#EC8729\",\n\t\"#E22028\",\n\t\"#E22028\",\n\t\"\"]\n\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d colors[Val_NotifyAll]\n\t\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 5 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "godsLabel" + }, + "position": { + "height": 14, + "width": 140, + "y": 7 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#808080", + "borderStyle": "none", + "borderWidth": "1px", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "center" + }, + "textStyle": { + "color": "#3F3F3F", + "fontFamily": "Arial", + "fontSize": "8pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "godsData_EU", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 14, + "width": 56, + "x": 82, + "y": 26 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Cfg_EU\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#919191", + "fontWeight": "bold", + "outlineStyle": "none", + "paddingLeft": 5, + "textAlign": "left" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "8pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "msi_AlarmIndicator" + }, + "position": { + "height": 16, + "width": 16, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_MaintBypass" + }, + "position": { + "height": 16, + "width": 16, + "x": 114, + "y": 7 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_MaintByp\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_MaintByp.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "msi_Exceptions" + }, + "position": { + "height": 17, + "width": 16, + "x": 10, + "y": 23 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_Fault\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tindex \u003d 0\n\t\n\tVal_Fault \u003d value\n\tSrcQ3 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 8) \u003d\u003d 8\n\tSrcQ4 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 16) \u003d\u003d 16\n\n\tif (Val_Fault \u003e\u003d 20):\n\t\tindex \u003d Val_Fault \n\telif (SrcQ3 \u003d\u003d True):\n\t\tindex \u003d 1\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 2\n\telse:\n\t\tindex \u003d 0\n\n\tif (index \u003e 0):\n\t\tret_value \u003d True \n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_Fault\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_Simulated\",\n\t 2: \"Sts_CommUncertain\",\n\t 20: \"Sts_TholdLo\",\n\t 21: \"Sts_TholdHi\",\n\t 22: \"Sts_TholdLoDev\",\n\t 23: \"Sts_TholdHiDev\",\n\t 24: \"Sts_TholdLoLo\",\n\t 25: \"Sts_TholdHiHi\",\n\t 26: \"Sts_TholdHiRoC\",\n\t 32: \"Sts_CommBad\",\n\t 33: \"Sts_Disabled\",\n\t 34: \"Sts_BC_BadCfg\"\n\t}\n\t\t\t\n\tVal_Fault \u003d value\n\tSrcQ3 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 8) \u003d\u003d 8\n\tSrcQ4 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 16) \u003d\u003d 16\n\n\tif (Val_Fault \u003e\u003d 20):\n\t\tVal_Fault \u003d Val_Fault \n\telif (SrcQ3 \u003d\u003d True):\n\t\tVal_Fault \u003d 1\n\telif (SrcQ4 \u003d\u003d True):\n\t\tVal_Fault \u003d 2\n\telse:\n\t\tVal_Fault \u003d 0\n\n\ttry:\n\t\tret_value \u003d images_path.format(images[Val_Fault])\n\texcept:\n\t\tret_value \u003d images_path.format(\"Error\")\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "godsData_Value", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 18, + "width": 66, + "x": 14, + "y": 24 + }, + "propConfig": { + "custom.decPlcs": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PVDecPlcs\")" + }, + "type": "expr" + } + }, + "custom.numberFormat": { + "binding": { + "config": { + "expression": "case({this.custom.decPlcs}, 0, \"\", 1, \"0\", 2, \"00\", 3, \"000\", 4, \"0000\", 5, \"00000\", 6, \"000000\", \"00\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "numberformat(tag({view.params.tagPath}+ \"/Val\"), \"#0.\" + {this.custom.numberFormat})" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#2A4191", + "fontWeight": "bold", + "textAlign": "right" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": 14.667 + } + }, + "type": "ia.display.label" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "{view.params.tagPath}", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "{/root.meta.tooltip.text}", + "type": "open", + "viewParams": { + "selectedTab": "0", + "tagPath": "{view.params.tagPath}" + }, + "viewPath": "Plant PAX/Popups/P_AIn/P_AIn", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "root", + "tooltip": {} + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_Tag\") + \" - \" + tag({view.params.tagPath}+\"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_AOut/P_AOut1/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_AOut/P_AOut1/resource.json new file mode 100644 index 0000000..f548af2 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_AOut/P_AOut1/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "117affd5c70443f4311510d58fc80cc95f1b30590568b51dc12edf8ed5376fdc", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:18Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_AOut/P_AOut1/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_AOut/P_AOut1/thumbnail.png new file mode 100644 index 0000000..b421386 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_AOut/P_AOut1/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_AOut/P_AOut1/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_AOut/P_AOut1/view.json new file mode 100644 index 0000000..a675179 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_AOut/P_AOut1/view.json @@ -0,0 +1,510 @@ +{ + "custom": {}, + "params": { + "frameColor": "#91919161", + "showFrame": true, + "showLabel": true, + "tagPath": "[default]Test_Tags/SC_01" + }, + "propConfig": { + "params.frameColor": { + "paramDirection": "input", + "persistent": true + }, + "params.showFrame": { + "paramDirection": "input", + "persistent": true + }, + "params.showLabel": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 44, + "width": 140 + }, + "dropConfig": { + "udts": [ + { + "action": "path", + "param": "tagPath", + "type": "Plant PAX/P_Ain" + } + ] + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Frame" + }, + "position": { + "height": 42, + "width": 138, + "x": 1, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.showFrame" + }, + "type": "property" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "view.params.frameColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "godsAlarmPolygon" + }, + "position": { + "height": "39px", + "width": "124px", + "x": "8px", + "y": "5px" + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d value\n\t\n\tcolors \u003d [\"\",\n\t\"#FFFFFF\",\n\t\"#916AAD\",\n\t\"#916AAD\",\n\t\"#F5DF1B\",\n\t\"#F5DF1B\",\n\t\"#EC8729\",\n\t\"#EC8729\",\n\t\"#E22028\",\n\t\"#E22028\",\n\t\"\"]\n\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d colors[Val_NotifyAll]\n\t\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 5 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "godsData_Value", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 18, + "width": 66, + "x": 14, + "y": 24 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Val_CVOut\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tCfg_PVDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_DecPlcs\"] )[0].value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/Val_CVOut\"), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#2A4191", + "fontWeight": "bold", + "textAlign": "right" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "11pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "godsData_EU", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 14, + "width": 56, + "x": 83, + "y": 27 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Cfg_EU\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#919191", + "fontWeight": "bold", + "outlineStyle": "none", + "paddingLeft": "0px", + "textAlign": "left" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "8pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "msi_AlarmIndicator" + }, + "position": { + "height": 16, + "width": 16, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "godsLabel" + }, + "position": { + "height": 14, + "width": 140, + "y": 7 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#808080", + "borderStyle": "none", + "borderWidth": "1px", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "center" + }, + "textStyle": { + "color": "#3F3F3F", + "fontFamily": "Arial", + "fontSize": "8pt", + "fontWeight": "normal", + "paddingRight": 5 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "msi_MaintBypass", + "xInit": 120 + }, + "position": { + "height": 16, + "width": 16, + "y": 7 + }, + "propConfig": { + "meta.FinalPos": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Sts_NotRdy\")" + }, + "transforms": [ + { + "code": "\tindex \u003d 0\n\toffset \u003d 0\n\t\n\tSts_NotRdy \u003d value\n\n\tif (Sts_NotRdy \u003d\u003d True):\n\t\toffset \u003d 18\n\telse: \n\t\toffset \u003d 0\n\t\n\tindex \u003d (self.meta.xInit - offset)\n\t\n\treturn index", + "type": "script" + } + ], + "type": "expr" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_MaintByp\"), True, False)" + }, + "type": "expr" + } + }, + "position.x": { + "binding": { + "config": { + "path": "this.meta.FinalPos" + }, + "type": "property" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_MaintByp.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_NotReady" + }, + "position": { + "height": 16, + "width": 16, + "x": 120, + "y": 7 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_NotRdy\"), True, False)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_NotReady.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "msi_Exceptions" + }, + "position": { + "height": 16, + "width": 16, + "x": 10, + "y": "25px" + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_Fault\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tVal_Fault \u003d value\n\n\tif (Val_Fault \u003e 0):\n\t\tret_value \u003d True \n\telse:\n\t\tret_value \u003d False\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Err\") || tag({view.params.tagPath} + \"/SrcQ\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_Simulated\",\n\t 2: \"Sts_CommUncertain\",\n\t 3: \"Sts_CommBad\",\n\t 4: \"Sts_BC_BadCfg\"\n\t}\n\t\t\t\n\tSts_Err \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Err\"])[0].value\n\tSrcQ3 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 8) \u003d\u003d 8\n\tSrcQ4 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 16) \u003d\u003d 16\n\tSrcQ5 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 32) \u003d\u003d 32\n\t\t\n\tif (Sts_Err \u003d\u003d True):\n\t\tSts_Err \u003d 4 \n\telif (SrcQ5 \u003d\u003d True):\n\t\tSts_Err \u003d 3\n\n\telif (SrcQ4 \u003d\u003d True):\n\t\tSts_Err \u003d 2\n\t\t\n\telif (SrcQ3 \u003d\u003d True):\n\t\tSts_Err \u003d 1\n\telse:\n\t\tSts_Err \u003d 0\n\n\ttry:\n\t\tret_value \u003d images_path.format(images[Sts_Err])\n\texcept:\n\t\tret_value \u003d images_path.format(\"Error\")\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "CmdSrcExceptions" + }, + "position": { + "height": 16, + "width": 16, + "x": 120, + "y": 23 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_OoS\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\t\t\n\tSts_OoS \u003d value\n\tindex \u003d 0\n\tCmdSrc_Sts_Normal \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_Normal\"])[0].value\n\n\tif (Sts_OoS \u003d\u003d True):\n\t\tindex \u003d 2 \n\telif (CmdSrc_Sts_Normal \u003d\u003d True):\n\t\tindex \u003d 0\n\telse:\n\t\tindex \u003d 1\n\n\tif (index \u003e 0):\n\t\tret_value \u003d True\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_OoS\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_BC_CmdSrcNotNorm\",\n\t 2: \"Sts_CmdSrcOoS\"\n\t}\n\n\tindex \u003d 0\t\t\t\n\tSts_OoS \u003d value\n\t\n\tSts_Normal \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_Normal\"])[0].value\n\t\n\tif (Sts_OoS \u003d\u003d True):\n\t\tindex \u003d 2 \n\telif (Sts_OoS \u003d\u003d True):\n\t\tindex \u003d 0\n\telse:\n\t\tindex \u003d 1\n\n\ttry:\n\t\tret_value \u003d images_path.format(images[index])\n\texcept:\n\t\tret_value \u003d images_path.format(\"Error\")\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "{view.params.tagPath}", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "{/root.meta.tooltip.text}", + "type": "open", + "viewParams": { + "selectedTab": "0", + "tagPath": "{view.params.tagPath}" + }, + "viewPath": "Plant PAX/Popups/P_AOut/P_AOut", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "root", + "tooltip": {} + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_Tag\") + \" - \" + tag({view.params.tagPath}+\"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_DIn/Archive/P_DIn1_20220525_0041/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_DIn/Archive/P_DIn1_20220525_0041/resource.json new file mode 100644 index 0000000..a351150 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_DIn/Archive/P_DIn1_20220525_0041/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "3a5390a7a5dbb104f7fb2e90c08e08f51c3b45571f11da4f8492d9beb9be970d", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:18Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_DIn/Archive/P_DIn1_20220525_0041/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_DIn/Archive/P_DIn1_20220525_0041/thumbnail.png new file mode 100644 index 0000000..27a36d9 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_DIn/Archive/P_DIn1_20220525_0041/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_DIn/Archive/P_DIn1_20220525_0041/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_DIn/Archive/P_DIn1_20220525_0041/view.json new file mode 100644 index 0000000..fc75637 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_DIn/Archive/P_DIn1_20220525_0041/view.json @@ -0,0 +1,286 @@ +{ + "custom": {}, + "params": { + "showLabel": "True", + "tagPath": "[default]Test_Tags/P_Din" + }, + "propConfig": { + "params.showLabel": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 75, + "width": 160 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "AlarmFrame" + }, + "position": { + "height": "80%", + "width": "92%", + "x": "4%", + "y": "10%" + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d value\n\t\n\tcolors \u003d [\"\",\n\t\"#FFFFFF\",\n\t\"#916AAD\",\n\t\"#916AAD\",\n\t\"#F5DF1B\",\n\t\"#F5DF1B\",\n\t\"#EC8729\",\n\t\"#EC8729\",\n\t\"#E22028\",\n\t\"#E22028\",\n\t\"\"]\n\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d colors[Val_NotifyAll]\n\t\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 5 + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label_3" + }, + "position": { + "basis": "10px", + "grow": 1, + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": "view.params.showLabel" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#808080", + "borderStyle": "none", + "borderWidth": "1px", + "color": "#2B2B2B", + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_4", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "basis": "25px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_TgtDisagree\") \u003d True, \"#000000\", \"#E0E0E0\")" + }, + "type": "expr" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_TgtDisagree\") \u003d True, \"#FFFFFF\", \"#2A4191\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath}+ \"/Sts\"), upper(tag({view.params.tagPath}+ \"/Cfg_1StText\")), upper(tag({view.params.tagPath}+ \"/Cfg_0StText\")))" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 3, + "borderBottomRightRadius": 3, + "borderColor": "#808080", + "borderStyle": "solid", + "borderTopLeftRadius": 3, + "borderTopRightRadius": 3, + "borderWidth": "1px", + "fontWeight": "bold", + "outlineStyle": "none", + "textAlign": "center" + }, + "textStyle": { + "classes": "States/DigitalInput/on" + } + }, + "type": "ia.display.label" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "{view.params.tagPath}", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "{/root.meta.tooltip.text}", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}" + }, + "viewPath": "Plant PAX/Popups/DigitalInput/Popup", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "Label", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": "76%", + "width": "76%", + "x": "12%", + "y": "12%" + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_Tag\") + \" - \" + tag({view.params.tagPath}+\"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "paddingBottom": 5, + "paddingLeft": 5, + "paddingRight": 5, + "paddingTop": 5 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16, + "x": "2.5%", + "y": "6%" + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_DIn/P_DIn1/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_DIn/P_DIn1/resource.json new file mode 100644 index 0000000..4d8afc6 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_DIn/P_DIn1/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "66e551acec6dd39cabb4cdb293ab06012f523855256fffee24e401a2d4282ad7", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:18Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_DIn/P_DIn1/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_DIn/P_DIn1/thumbnail.png new file mode 100644 index 0000000..62b09ef Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_DIn/P_DIn1/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_DIn/P_DIn1/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_DIn/P_DIn1/view.json new file mode 100644 index 0000000..8a30449 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_DIn/P_DIn1/view.json @@ -0,0 +1,296 @@ +{ + "custom": {}, + "params": { + "frameColor": "#91919161", + "showFrame": true, + "showLabel": true, + "tagPath": "[default]Test_Tags/P_Din" + }, + "propConfig": { + "params.frameColor": { + "paramDirection": "input", + "persistent": true + }, + "params.showFrame": { + "paramDirection": "input", + "persistent": true + }, + "params.showLabel": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 42, + "width": 140 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Frame" + }, + "position": { + "height": 40, + "width": 138, + "x": 1, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.showFrame" + }, + "type": "property" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "view.params.frameColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "AlarmFrame" + }, + "position": { + "height": 38, + "width": 124, + "x": 8, + "y": 4 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d value\n\t\n\tcolors \u003d [\"\",\n\t\"#FFFFFF\",\n\t\"#916AAD\",\n\t\"#916AAD\",\n\t\"#F5DF1B\",\n\t\"#F5DF1B\",\n\t\"#EC8729\",\n\t\"#EC8729\",\n\t\"#E22028\",\n\t\"#E22028\",\n\t\"\"]\n\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d colors[Val_NotifyAll]\n\t\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 2 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16, + "x": 4 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 14, + "width": 140, + "y": 6 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.showLabel" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#808080", + "borderStyle": "none", + "color": "#2B2B2B", + "fontSize": "8pt", + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 18, + "width": 110, + "x": 15, + "y": 20 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_TgtDisagree\") \u003d True, \"#000000\", \"#E0E0E0\")" + }, + "type": "expr" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_TgtDisagree\") \u003d True, \"#FFFFFF\", \"#2A4191\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath}+ \"/Sts\"), upper(tag({view.params.tagPath}+ \"/Cfg_1StText\")), upper(tag({view.params.tagPath}+ \"/Cfg_0StText\")))" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "11pt", + "fontWeight": "bold", + "outlineStyle": "none", + "textAlign": "center" + }, + "textStyle": { + "classes": "States/DigitalInput/on" + } + }, + "type": "ia.display.label" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "{view.params.tagPath}", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "{/root.meta.tooltip.text}", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}" + }, + "viewPath": "Plant PAX/Popups/P_DIn/P_DIn", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "root", + "tooltip": {} + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_Tag\") + \" - \" + tag({view.params.tagPath}+\"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_DIn/P_DIn1Circle/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_DIn/P_DIn1Circle/resource.json new file mode 100644 index 0000000..3eebee7 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_DIn/P_DIn1Circle/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "61c0d110fd7570d5639103cce909c24e605065971b6f281a22d326ed7419becf", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:18Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_DIn/P_DIn1Circle/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_DIn/P_DIn1Circle/thumbnail.png new file mode 100644 index 0000000..e549bce Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_DIn/P_DIn1Circle/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_DIn/P_DIn1Circle/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_DIn/P_DIn1Circle/view.json new file mode 100644 index 0000000..3edd3fc --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_DIn/P_DIn1Circle/view.json @@ -0,0 +1,329 @@ +{ + "custom": {}, + "params": { + "frameColor": "#91919161", + "showFrame": true, + "showLabel": true, + "tagPath": "[DH1]Block 1/Process/Discrete/AAH_15" + }, + "propConfig": { + "params.frameColor": { + "paramDirection": "input", + "persistent": true + }, + "params.showFrame": { + "paramDirection": "input", + "persistent": true + }, + "params.showLabel": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 42, + "width": 52 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "msi_TgtDisagree" + }, + "position": { + "height": 21, + "width": 21, + "x": 15.5, + "y": 10.5 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Sts_TgtDisagree" + }, + "transforms": [ + { + "fallback": "/system/images/PlantPax/Pax V4.10.05/Sts_NotOK.png", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "/system/images/PlantPax/Pax V4.10.05/Sts_Good.png" + }, + { + "input": true, + "output": "/system/images/PlantPax/Pax V4.10.05/Sts_NotOK.png" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Frame" + }, + "position": { + "height": 40, + "width": 50, + "x": 1, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.showFrame" + }, + "type": "property" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "view.params.frameColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "AlarmFrame" + }, + "position": { + "height": 38, + "width": 48, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d value\n\t\n\tcolors \u003d [\"\",\n\t\"#FFFFFF\",\n\t\"#916AAD\",\n\t\"#916AAD\",\n\t\"#F5DF1B\",\n\t\"#F5DF1B\",\n\t\"#EC8729\",\n\t\"#EC8729\",\n\t\"#E22028\",\n\t\"#E22028\",\n\t\"\"]\n\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d colors[Val_NotifyAll]\n\t\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 2 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "AlarmIndicator" + }, + "position": { + "height": 16, + "width": 16, + "x": 4 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "msi_Exceptions" + }, + "position": { + "height": 16, + "width": 16, + "x": 5, + "y": 21 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Err\") ||\r\ntag({view.params.tagPath} + \"/SrcQ\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_Simulated\",\n\t 2: \"Sts_CommUncertain\",\n\t 3: \"Sts_CommBad\",\n\t 4: \"Sts_BC_BadCfg\",\n\t}\n\t\t\t\n\tSts_Error \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Error\"])[0].value\n\tindex \u003d 0\n\t\n\tSrcQ3 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 8) \u003d\u003d 8\n\tSrcQ4 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 16) \u003d\u003d 16\n\tSrcQ5 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 32) \u003d\u003d 32\n\n\tif (Sts_Error \u003d\u003d True):\n\t\tindex \u003d 4 \n\telif (SrcQ5 \u003d\u003d True):\n\t\tindex \u003d 3\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 2\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 1\n\telse:\n\t\tindex \u003d 0\n\n\tif (index \u003e 0):\n\t\tret_value \u003d True\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Err\") ||\r\ntag({view.params.tagPath} + \"/SrcQ\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_Simulated\",\n\t 2: \"Sts_CommUncertain\",\n\t 3: \"Sts_CommBad\",\n\t 4: \"Sts_BC_BadCfg\",\n\t}\n\t\t\t\n\tSts_Error \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Error\"])[0].value\n\tindex \u003d 0\n\t\n\tSrcQ3 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 8) \u003d\u003d 8\n\tSrcQ4 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 16) \u003d\u003d 16\n\tSrcQ5 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 32) \u003d\u003d 32\n\n\tif (Sts_Error \u003d\u003d True):\n\t\tindex \u003d 4 \n\telif (SrcQ5 \u003d\u003d True):\n\t\tindex \u003d 3\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 2\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 1\n\telse:\n\t\tindex \u003d 0\n\n\ttry:\n\t\tret_value \u003d images_path.format(images[index])\n\texcept:\n\t\tret_value \u003d images_path.format(\"Error\")\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "MaintBypass" + }, + "position": { + "height": 16, + "width": 16, + "x": 29, + "y": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_MaintByp\")" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_MaintByp.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "{view.params.tagPath}", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "{/root.meta.tooltip.text}", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}" + }, + "viewPath": "Plant PAX/Popups/P_DIn/P_DIn", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "root", + "tooltip": {} + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_Tag\") + \" - \" + tag({view.params.tagPath}+\"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_DIn/P_DIn1CircleWLabel/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_DIn/P_DIn1CircleWLabel/resource.json new file mode 100644 index 0000000..c3586ff --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_DIn/P_DIn1CircleWLabel/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "d801f83f04f694b6da4c3d1d868c2b3bd91017f2bf35c2db500d44b5df4099d6", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:18Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_DIn/P_DIn1CircleWLabel/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_DIn/P_DIn1CircleWLabel/thumbnail.png new file mode 100644 index 0000000..1ba2d03 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_DIn/P_DIn1CircleWLabel/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_DIn/P_DIn1CircleWLabel/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_DIn/P_DIn1CircleWLabel/view.json new file mode 100644 index 0000000..7735664 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_DIn/P_DIn1CircleWLabel/view.json @@ -0,0 +1,370 @@ +{ + "custom": {}, + "params": { + "frameColor": "#91919161", + "showFrame": true, + "showLabel": true, + "tagPath": "[DH1]Block 1/Process/Discrete/AAH_15" + }, + "propConfig": { + "params.frameColor": { + "paramDirection": "input", + "persistent": true + }, + "params.showFrame": { + "paramDirection": "input", + "persistent": true + }, + "params.showLabel": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 42, + "width": 140 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Frame" + }, + "position": { + "height": 40, + "width": 138, + "x": 1, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.showFrame" + }, + "type": "property" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "view.params.frameColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "AlarmFrame" + }, + "position": { + "height": 38, + "width": 124, + "x": 8, + "y": 4 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d value\n\t\n\tcolors \u003d [\"\",\n\t\"#FFFFFF\",\n\t\"#916AAD\",\n\t\"#916AAD\",\n\t\"#F5DF1B\",\n\t\"#F5DF1B\",\n\t\"#EC8729\",\n\t\"#EC8729\",\n\t\"#E22028\",\n\t\"#E22028\",\n\t\"\"]\n\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d colors[Val_NotifyAll]\n\t\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 2 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "AlarmIndicator" + }, + "position": { + "height": 16, + "width": 16, + "x": 4 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 14, + "width": 97, + "x": 43, + "y": 14 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.showLabel" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#808080", + "borderStyle": "none", + "color": "#2B2B2B", + "fontSize": "8pt", + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "msi_Exceptions" + }, + "position": { + "height": 16, + "width": 16, + "x": 5, + "y": 21 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Err\") ||\r\ntag({view.params.tagPath} + \"/SrcQ\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_Simulated\",\n\t 2: \"Sts_CommUncertain\",\n\t 3: \"Sts_CommBad\",\n\t 4: \"Sts_BC_BadCfg\",\n\t}\n\t\t\t\n\tSts_Error \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Error\"])[0].value\n\tindex \u003d 0\n\t\n\tSrcQ3 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 8) \u003d\u003d 8\n\tSrcQ4 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 16) \u003d\u003d 16\n\tSrcQ5 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 32) \u003d\u003d 32\n\n\tif (Sts_Error \u003d\u003d True):\n\t\tindex \u003d 4 \n\telif (SrcQ5 \u003d\u003d True):\n\t\tindex \u003d 3\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 2\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 1\n\telse:\n\t\tindex \u003d 0\n\n\tif (index \u003e 0):\n\t\tret_value \u003d True\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Err\") ||\r\ntag({view.params.tagPath} + \"/SrcQ\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_Simulated\",\n\t 2: \"Sts_CommUncertain\",\n\t 3: \"Sts_CommBad\",\n\t 4: \"Sts_BC_BadCfg\",\n\t}\n\t\t\t\n\tSts_Error \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Error\"])[0].value\n\tindex \u003d 0\n\t\n\tSrcQ3 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 8) \u003d\u003d 8\n\tSrcQ4 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 16) \u003d\u003d 16\n\tSrcQ5 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 32) \u003d\u003d 32\n\n\tif (Sts_Error \u003d\u003d True):\n\t\tindex \u003d 4 \n\telif (SrcQ5 \u003d\u003d True):\n\t\tindex \u003d 3\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 2\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 1\n\telse:\n\t\tindex \u003d 0\n\n\ttry:\n\t\tret_value \u003d images_path.format(images[index])\n\texcept:\n\t\tret_value \u003d images_path.format(\"Error\")\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "MaintBypass" + }, + "position": { + "height": 16, + "width": 16, + "x": 29, + "y": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_MaintByp\")" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_MaintByp.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "msi_TgtDisagree" + }, + "position": { + "height": 21, + "width": 21, + "x": 15, + "y": 10 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Sts_TgtDisagree" + }, + "transforms": [ + { + "fallback": "/system/images/PlantPax/Pax V4.10.05/Sts_NotOK.png", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "/system/images/PlantPax/Pax V4.10.05/Sts_Good.png" + }, + { + "input": true, + "output": "/system/images/PlantPax/Pax V4.10.05/Sts_NotOK.png" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "{view.params.tagPath}", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "{/root.meta.tooltip.text}", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}" + }, + "viewPath": "Plant PAX/Popups/P_DIn/P_DIn", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "root", + "tooltip": {} + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_Tag\") + \" - \" + tag({view.params.tagPath}+\"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_DOut/Archive/P_DOut1_20220524_2107/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_DOut/Archive/P_DOut1_20220524_2107/resource.json new file mode 100644 index 0000000..b71c1a6 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_DOut/Archive/P_DOut1_20220524_2107/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "de7c91041d87f7872c3d4a233b0cc6ba296728c2cd9c62411a36705df04cf90f", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:18Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_DOut/Archive/P_DOut1_20220524_2107/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_DOut/Archive/P_DOut1_20220524_2107/thumbnail.png new file mode 100644 index 0000000..ade2bdc Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_DOut/Archive/P_DOut1_20220524_2107/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_DOut/Archive/P_DOut1_20220524_2107/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_DOut/Archive/P_DOut1_20220524_2107/view.json new file mode 100644 index 0000000..eefc2e6 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_DOut/Archive/P_DOut1_20220524_2107/view.json @@ -0,0 +1,342 @@ +{ + "custom": {}, + "params": { + "showLabel": "True", + "tagPath": "[default]Test_Tags/P_DOut" + }, + "propConfig": { + "params.showLabel": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 69, + "width": 182 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "AlarmFrame" + }, + "position": { + "height": "80%", + "width": "92%", + "x": "4%", + "y": "10%" + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d value\n\t\n\tcolors \u003d [\"\",\n\t\"#FFFFFF\",\n\t\"#916AAD\",\n\t\"#916AAD\",\n\t\"#F5DF1B\",\n\t\"#F5DF1B\",\n\t\"#EC8729\",\n\t\"#EC8729\",\n\t\"#E22028\",\n\t\"#E22028\",\n\t\"\"]\n\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d colors[Val_NotifyAll]\n\t\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 5 + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label_3" + }, + "position": { + "basis": "10px", + "grow": 1, + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": "view.params.showLabel" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#808080", + "borderStyle": "none", + "borderWidth": "1px", + "color": "#2B2B2B", + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_4", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "basis": "25px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_TgtDisagree\") \u003d True, \"#000000\", \"#E0E0E0\")" + }, + "type": "expr" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_TgtDisagree\") \u003d True, \"#FFFFFF\", \"#2A4191\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath}+ \"/Sts_Out\"), upper(tag({view.params.tagPath}+ \"/Cfg_1StText\")), upper(tag({view.params.tagPath}+ \"/Cfg_0StText\")))" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": 3, + "borderBottomRightRadius": 3, + "borderColor": "#808080", + "borderStyle": "solid", + "borderTopLeftRadius": 3, + "borderTopRightRadius": 3, + "borderWidth": "1px", + "fontWeight": "bold", + "outlineStyle": "none", + "textAlign": "center" + }, + "textStyle": { + "classes": "States/DigitalInput/on" + } + }, + "type": "ia.display.label" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "{view.params.tagPath}", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "{/root.meta.tooltip.text}", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}" + }, + "viewPath": "Plant PAX/Popups/DigitalInput/Popup", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "root", + "tooltip": { + "enabled": true + } + }, + "position": { + "height": "76%", + "width": "76%", + "x": "12%", + "y": "12%" + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_Tag\") + \" - \" + tag({view.params.tagPath}+\"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "paddingBottom": 5, + "paddingLeft": 5, + "paddingRight": 5, + "paddingTop": 5 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "AlarmIndicator" + }, + "position": { + "height": 16, + "width": 16, + "x": "2.5%", + "y": "6%" + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotReady" + }, + "position": { + "height": 16, + "width": 16, + "x": "90%", + "y": "1%" + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_NotRdy\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_NotReady.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotReady_0" + }, + "position": { + "height": 16, + "width": 16, + "x": "90%0", + "y": "1%0" + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_NotRdy\") \u003d 1, true, true)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_NotReady.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_DOut/P_DOut1/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_DOut/P_DOut1/resource.json new file mode 100644 index 0000000..4fb5b11 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_DOut/P_DOut1/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "bfcb354f0497126f9285e344296fc2b424c12b11b529bd3fc48ac9e81ea8cdfc", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:18Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_DOut/P_DOut1/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_DOut/P_DOut1/thumbnail.png new file mode 100644 index 0000000..78d5541 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_DOut/P_DOut1/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_DOut/P_DOut1/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_DOut/P_DOut1/view.json new file mode 100644 index 0000000..1184b77 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_DOut/P_DOut1/view.json @@ -0,0 +1,432 @@ +{ + "custom": {}, + "params": { + "frameColor": "#91919161", + "showFrame": true, + "showLabel": true, + "tagPath": "[DH1]Block 1/Process/Control/XY_11" + }, + "propConfig": { + "params.frameColor": { + "paramDirection": "input", + "persistent": true + }, + "params.showFrame": { + "paramDirection": "input", + "persistent": true + }, + "params.showLabel": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 44, + "width": 140 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Frame" + }, + "position": { + "height": 42, + "width": 138, + "x": 1, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.showFrame" + }, + "type": "property" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "view.params.frameColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "AlarmFrame" + }, + "position": { + "height": 39, + "width": 124, + "x": 8, + "y": 5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d value\n\t\n\tcolors \u003d [\"\",\n\t\"#FFFFFF\",\n\t\"#916AAD\",\n\t\"#916AAD\",\n\t\"#F5DF1B\",\n\t\"#F5DF1B\",\n\t\"#EC8729\",\n\t\"#EC8729\",\n\t\"#E22028\",\n\t\"#E22028\",\n\t\"\"]\n\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d colors[Val_NotifyAll]\n\t\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 3 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 14, + "width": 140, + "y": 7 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.showLabel" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#808080", + "borderStyle": "none", + "borderWidth": "1px", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Value", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 16, + "width": 72, + "x": 34, + "y": 26 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath}+ \"/Sts_Out\"), upper(tag({view.params.tagPath}+ \"/Cfg_1StText\")), upper(tag({view.params.tagPath}+ \"/Cfg_0StText\")))" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#2A4191", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "center" + }, + "textStyle": { + "classes": "States/DigitalInput/on" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIndicator" + }, + "position": { + "height": 16, + "width": 16, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotReady" + }, + "position": { + "height": 16, + "width": 16, + "x": 114, + "y": 7 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_NotRdy\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_NotReady.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "MaintBypass" + }, + "position": { + "height": 16, + "width": 16, + "x": 98, + "y": 7 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_MaintByp\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_MaintByp.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Exceptions" + }, + "position": { + "height": 16, + "width": 16, + "x": 10, + "y": 26 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Err\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_Simulated\",\n\t 2: \"Sts_CommUncertain\",\n\t 3: \"Sts_CommBad\",\n\t 4: \"Sts_BC_BadCfg\",\n\t}\n\t\t\t\n\tSts_Error \u003d value\n\tindex \u003d 0\n\t\n\tSrcQ3 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 8) \u003d\u003d 8\n\tSrcQ4 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 16) \u003d\u003d 16\n\tSrcQ5 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 32) \u003d\u003d 32\n\n\tif (Sts_Error \u003d\u003d True):\n\t\tindex \u003d 4 \n\telif (SrcQ5 \u003d\u003d True):\n\t\tindex \u003d 3\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 2\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 1\n\n\tif (index \u003e 0):\n\t\tret_value \u003d True\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Err\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_Simulated\",\n\t 2: \"Sts_CommUncertain\",\n\t 3: \"Sts_CommBad\",\n\t 4: \"Sts_BC_BadCfg\",\n\t}\n\t\t\t\n\tSts_Error \u003d value\n\tSts_Error_Index \u003d 0\n\t\n\tSrcQ3 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 8) \u003d\u003d 8\n\tSrcQ4 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 16) \u003d\u003d 16\n\tSrcQ5 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 32) \u003d\u003d 32\n\n\tif (Sts_Error \u003d\u003d True):\n\t\tSts_Error_Index \u003d 4 \n\telif (SrcQ5 \u003d\u003d True):\n\t\tSts_Error_Index \u003d 3\n\telif (SrcQ4 \u003d\u003d True):\n\t\tSts_Error_Index \u003d 2\n\telif (SrcQ4 \u003d\u003d True):\n\t\tSts_Error_Index \u003d 1\n\n\ttry:\n\t\tret_value \u003d images_path.format(images[Sts_Error_Index])\n\texcept:\n\t\tret_value \u003d images_path.format(\"Error\")\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "CmdSrcExceptions" + }, + "position": { + "height": 16, + "width": 16, + "x": 114, + "y": 23 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_OoS\") || tag({view.params.tagPath} + \"/CmdSrc/Sts_Normal\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tindex \u003d 0\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_BC_CmdSrcNotNorm\",\n\t 2: \"Sts_CmdSrcOoS\"\n\t}\n\t\t\t\n\tSts_OoS \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_OoS\"])[0].value\n\tCmdSrc_Sts_Normal \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_Normal\"])[0].value\n\n\tif (Sts_OoS \u003d\u003d True):\n\t\tindex \u003d 2 \n\telif (CmdSrc_Sts_Normal \u003d\u003d True):\n\t\tindex \u003d 0\n\telse:\n\t\tindex \u003d 1\n\n\tif (index \u003e 0):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_OoS\") || tag({view.params.tagPath} + \"/CmdSrc/Sts_Normal\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_BC_CmdSrcNotNorm\",\n\t 2: \"Sts_CmdSrcOoS\"\n\t}\n\t\t\t\n\tSts_OoS \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_OoS\"])[0].value\n\tCmdSrc_Sts_Normal \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_Normal\"])[0].value\n\n\tif (Sts_OoS \u003d\u003d True):\n\t\tindex \u003d 2 \n\telif (CmdSrc_Sts_Normal \u003d\u003d True):\n\t\tindex \u003d 0\n\telse:\n\t\tindex \u003d 1\n\n\ttry:\n\t\tret_value \u003d images_path.format(images[index])\n\texcept:\n\t\tret_value \u003d images_path.format(\"Error\")\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "{view.params.tagPath}", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "{/root.meta.tooltip.text}", + "type": "open", + "viewParams": { + "selectedTab": "0", + "tagPath": "{view.params.tagPath}" + }, + "viewPath": "Plant PAX/Popups/P_DOut/P_DOut", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "root", + "tooltip": {} + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_Tag\") + \" - \" + tag({view.params.tagPath}+\"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_InlineL/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_InlineL/resource.json new file mode 100644 index 0000000..79ecdfa --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_InlineL/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "1af219ac771f8b4cf3772796f90305f8540cfe84e23d58a9fbf5bd38e22d1d84", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:18Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_InlineL/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_InlineL/thumbnail.png new file mode 100644 index 0000000..017ade0 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_InlineL/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_InlineL/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_InlineL/view.json new file mode 100644 index 0000000..5b87b56 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_InlineL/view.json @@ -0,0 +1,486 @@ +{ + "custom": {}, + "params": { + "showLabel": true, + "tagPath": "[default]Test_Tags/P_Motor" + }, + "propConfig": { + "params.showLabel": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 69, + "width": 179 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Exceptions" + }, + "position": { + "height": 16, + "width": 16, + "x": 47, + "y": 31 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Err\") ||\r\ntag({view.params.tagPath} + \"/SrcQ\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_Simulated\",\n\t 2: \"Sts_CommUncertain\",\n\t 3: \"Sts_CommBad\",\n\t 4: \"Sts_BC_BadCfg\",\n\t}\n\t\t\t\n\tSts_Error \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Error\"])[0].value\n\tindex \u003d 0\n\t\n\tSrcQ3 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 8) \u003d\u003d 8\n\tSrcQ4 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 16) \u003d\u003d 16\n\tSrcQ5 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 32) \u003d\u003d 32\n\n\tif (Sts_Error \u003d\u003d True):\n\t\tindex \u003d 4 \n\telif (SrcQ5 \u003d\u003d True):\n\t\tindex \u003d 3\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 2\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 1\n\telse:\n\t\tindex \u003d 0\n\n\tif (index \u003e 0):\n\t\tret_value \u003d True\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Err\") ||\r\ntag({view.params.tagPath} + \"/SrcQ\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_Simulated\",\n\t 2: \"Sts_CommUncertain\",\n\t 3: \"Sts_CommBad\",\n\t 4: \"Sts_BC_BadCfg\",\n\t}\n\t\t\t\n\tSts_Error \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Error\"])[0].value\n\tindex \u003d 0\n\t\n\tSrcQ3 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 8) \u003d\u003d 8\n\tSrcQ4 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 16) \u003d\u003d 16\n\tSrcQ5 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 32) \u003d\u003d 32\n\n\tif (Sts_Error \u003d\u003d True):\n\t\tindex \u003d 4 \n\telif (SrcQ5 \u003d\u003d True):\n\t\tindex \u003d 3\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 2\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 1\n\telse:\n\t\tindex \u003d 0\n\n\ttry:\n\t\tret_value \u003d images_path.format(images[index])\n\texcept:\n\t\tret_value \u003d images_path.format(\"Error\")\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "AlarmFrame" + }, + "position": { + "height": 60, + "width": 170, + "x": 4, + "y": 5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d value\n\t\n\tcolors \u003d [\"\",\n\t\"#FFFFFF\",\n\t\"#916AAD\",\n\t\"#916AAD\",\n\t\"#F5DF1B\",\n\t\"#F5DF1B\",\n\t\"#EC8729\",\n\t\"#EC8729\",\n\t\"#E22028\",\n\t\"#E22028\",\n\t\"\"]\n\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d colors[Val_NotifyAll]\n\t\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 3 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 14, + "width": 126, + "x": 40, + "y": 51 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.showLabel" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#808080", + "borderStyle": "none", + "borderWidth": "1px", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIndicator" + }, + "position": { + "height": 16, + "width": 16, + "x": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotReady" + }, + "position": { + "height": 16, + "width": 16, + "x": 103, + "y": 31 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_NotRdy\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_NotReady.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "MaintBypass" + }, + "position": { + "height": 16, + "width": 16, + "x": 84, + "y": 31 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_MaintByp\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_MaintByp.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "CmdSrcExceptions" + }, + "position": { + "height": 16, + "width": 16, + "x": 67, + "y": 31 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Sts_OoS\") ||\r\ntag({view.params.tagPath} + \"/CmdSrc/Sts_Normal\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tindex \u003d 0\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_BC_CmdSrcNotNorm\",\n\t 2: \"Sts_CmdSrcOoS\"\n\t}\n\t\t\t\n\tSts_OoS \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_OoS\"])[0].value\n\tCmdSrc_Sts_Normal \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_Normal\"])[0].value\n\n\tif (Sts_OoS \u003d\u003d True):\n\t\tindex \u003d 2 \n\telif (CmdSrc_Sts_Normal \u003d\u003d True):\n\t\tindex \u003d 0\n\telse:\n\t\tindex \u003d 1\n\n\tif (index \u003e 0):\n\t\tret_value \u003d True\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Sts_OoS\") ||\r\ntag({view.params.tagPath} + \"/CmdSrc/Sts_Normal\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_BC_CmdSrcNotNorm\",\n\t 2: \"Sts_CmdSrcOoS\"\n\t}\n\t\t\t\n\tSts_OoS \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_OoS\"])[0].value\n\tCmdSrc_Sts_Normal \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_Normal\"])[0].value\n\n\tif (Sts_OoS \u003d\u003d True):\n\t\tindex \u003d 2 \n\telif (CmdSrc_Sts_Normal \u003d\u003d True):\n\t\tindex \u003d 0\n\telse:\n\t\tindex \u003d 1\n\n\ttry:\n\t\tret_value \u003d images_path.format(images[index])\n\texcept:\n\t\tret_value \u003d images_path.format(\"Error\")\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "children": [ + { + "meta": { + "name": "Line1" + }, + "position": { + "height": 2, + "width": 60, + "y": 19 + }, + "props": { + "style": { + "backgroundColor": "#3F3F3F", + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "OutsideEllipse" + }, + "position": { + "height": 40, + "width": 40, + "x": 10 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.motorColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "MotorGroup" + }, + "position": { + "height": 40, + "rotate": { + "angle": 90 + }, + "width": 60, + "x": -5, + "y": 14.5 + }, + "propConfig": { + "custom.motorColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_Sts\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_Sts \u003d value\n\t\n\tcolors \u003d {\n\t0: \"#93C2E4\",\n\t1: \"#808080\",\n\t2: \"#F0F0F0\",\n\t3: \"#F0F0F0\",\n\t4: \"#F0F0F0\",\n\t5: \"#93C2E4\",\n\t6: \"#93C2E4\",\n\t7: \"#93C2E4\",\n\t8: \"#93C2E4\",\n\t9: \"#93C2E4\",\n\t10: \"#93C2E4\",\n\t14: \"#93C2E4\"\n\t}\n\t\n\ttry:\n\t\tret_value \u003d colors[Val_Sts]\n\texcept:\n\t\tret_value \u003d \"#FFC0FF\"\n\t\n\t\n\treturn ret_value\n", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Status" + }, + "position": { + "height": 14, + "width": 112, + "x": 40, + "y": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.showLabel" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_Sts\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_Sts \u003d value\n\t\n\tstates \u003d {\n\t0: \"Unknown\",\n\t1: \"Stopped\",\n\t2: \"Running\",\n\t5: \"Starting\",\n\t8: \"Jogging\",\n\t10: \"Stopping\",\n\t14: \"Horn\"\n\t}\n\t\n\ttry:\n\t\tret_value \u003d states[Val_Sts]\n\texcept:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#808080", + "borderStyle": "none", + "borderWidth": "1px", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "left" + }, + "textStyle": { + "fontSize": "8pt" + } + }, + "type": "ia.display.label" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "{view.params.tagPath}", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "{/root.meta.tooltip.text}", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}" + }, + "viewPath": "Plant PAX/Popups/P_Motor/P_Motor", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "root", + "tooltip": {} + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_Tag\") + \" - \" + tag({view.params.tagPath}+\"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_InlineR/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_InlineR/resource.json new file mode 100644 index 0000000..f60dea5 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_InlineR/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "dc5f87e311fe029c965f63206aa5b5754783052e228700ac890d1ea3003becc7", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:18Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_InlineR/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_InlineR/thumbnail.png new file mode 100644 index 0000000..9553bde Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_InlineR/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_InlineR/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_InlineR/view.json new file mode 100644 index 0000000..19575ce --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_InlineR/view.json @@ -0,0 +1,487 @@ +{ + "custom": {}, + "params": { + "showLabel": true, + "tagPath": "[default]Test_Tags/P_Motor" + }, + "propConfig": { + "params.showLabel": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 69, + "width": 179 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Exceptions" + }, + "position": { + "height": 16, + "width": 16, + "x": 47, + "y": 31 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Err\") ||\r\ntag({view.params.tagPath} + \"/SrcQ\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_Simulated\",\n\t 2: \"Sts_CommUncertain\",\n\t 3: \"Sts_CommBad\",\n\t 4: \"Sts_BC_BadCfg\",\n\t}\n\t\t\t\n\tSts_Error \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Error\"])[0].value\n\tindex \u003d 0\n\t\n\tSrcQ3 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 8) \u003d\u003d 8\n\tSrcQ4 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 16) \u003d\u003d 16\n\tSrcQ5 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 32) \u003d\u003d 32\n\n\tif (Sts_Error \u003d\u003d True):\n\t\tindex \u003d 4 \n\telif (SrcQ5 \u003d\u003d True):\n\t\tindex \u003d 3\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 2\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 1\n\telse:\n\t\tindex \u003d 0\n\n\tif (index \u003e 0):\n\t\tret_value \u003d True\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Err\") ||\r\ntag({view.params.tagPath} + \"/SrcQ\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_Simulated\",\n\t 2: \"Sts_CommUncertain\",\n\t 3: \"Sts_CommBad\",\n\t 4: \"Sts_BC_BadCfg\",\n\t}\n\t\t\t\n\tSts_Error \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Error\"])[0].value\n\tindex \u003d 0\n\t\n\tSrcQ3 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 8) \u003d\u003d 8\n\tSrcQ4 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 16) \u003d\u003d 16\n\tSrcQ5 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 32) \u003d\u003d 32\n\n\tif (Sts_Error \u003d\u003d True):\n\t\tindex \u003d 4 \n\telif (SrcQ5 \u003d\u003d True):\n\t\tindex \u003d 3\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 2\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 1\n\telse:\n\t\tindex \u003d 0\n\n\ttry:\n\t\tret_value \u003d images_path.format(images[index])\n\texcept:\n\t\tret_value \u003d images_path.format(\"Error\")\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "AlarmFrame" + }, + "position": { + "height": 60, + "width": 170, + "x": 4, + "y": 5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d value\n\t\n\tcolors \u003d [\"\",\n\t\"#FFFFFF\",\n\t\"#916AAD\",\n\t\"#916AAD\",\n\t\"#F5DF1B\",\n\t\"#F5DF1B\",\n\t\"#EC8729\",\n\t\"#EC8729\",\n\t\"#E22028\",\n\t\"#E22028\",\n\t\"\"]\n\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d colors[Val_NotifyAll]\n\t\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 3 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 14, + "width": 126, + "x": 10, + "y": 51 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.showLabel" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#808080", + "borderStyle": "none", + "borderWidth": "1px", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIndicator" + }, + "position": { + "height": 16, + "width": 16, + "x": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotReady" + }, + "position": { + "height": 16, + "width": 16, + "x": 103, + "y": 31 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_NotRdy\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_NotReady.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "MaintBypass" + }, + "position": { + "height": 16, + "width": 16, + "x": 84, + "y": 31 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_MaintByp\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_MaintByp.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "CmdSrcExceptions" + }, + "position": { + "height": 16, + "width": 16, + "x": 67, + "y": 31 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Sts_OoS\") ||\r\ntag({view.params.tagPath} + \"/CmdSrc/Sts_Normal\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tindex \u003d 0\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_BC_CmdSrcNotNorm\",\n\t 2: \"Sts_CmdSrcOoS\"\n\t}\n\t\t\t\n\tSts_OoS \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_OoS\"])[0].value\n\tCmdSrc_Sts_Normal \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_Normal\"])[0].value\n\n\tif (Sts_OoS \u003d\u003d True):\n\t\tindex \u003d 2 \n\telif (CmdSrc_Sts_Normal \u003d\u003d True):\n\t\tindex \u003d 0\n\telse:\n\t\tindex \u003d 1\n\n\tif (index \u003e 0):\n\t\tret_value \u003d True\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Sts_OoS\") ||\r\ntag({view.params.tagPath} + \"/CmdSrc/Sts_Normal\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_BC_CmdSrcNotNorm\",\n\t 2: \"Sts_CmdSrcOoS\"\n\t}\n\t\t\t\n\tSts_OoS \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_OoS\"])[0].value\n\tCmdSrc_Sts_Normal \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_Normal\"])[0].value\n\n\tif (Sts_OoS \u003d\u003d True):\n\t\tindex \u003d 2 \n\telif (CmdSrc_Sts_Normal \u003d\u003d True):\n\t\tindex \u003d 0\n\telse:\n\t\tindex \u003d 1\n\n\ttry:\n\t\tret_value \u003d images_path.format(images[index])\n\texcept:\n\t\tret_value \u003d images_path.format(\"Error\")\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "children": [ + { + "meta": { + "name": "Line1" + }, + "position": { + "height": 2, + "width": 60, + "y": 19 + }, + "props": { + "style": { + "backgroundColor": "#3F3F3F", + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "OutsideEllipse" + }, + "position": { + "height": 40, + "width": 40, + "x": 10 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.motorColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "MotorGroup" + }, + "position": { + "height": 40, + "rotate": { + "angle": 90 + }, + "width": 60, + "x": 120, + "y": 14.5 + }, + "propConfig": { + "custom.motorColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_Sts\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_Sts \u003d value\n\t\n\tcolors \u003d {\n\t0: \"#93C2E4\",\n\t1: \"#808080\",\n\t2: \"#F0F0F0\",\n\t3: \"#F0F0F0\",\n\t4: \"#F0F0F0\",\n\t5: \"#93C2E4\",\n\t6: \"#93C2E4\",\n\t7: \"#93C2E4\",\n\t8: \"#93C2E4\",\n\t9: \"#93C2E4\",\n\t10: \"#93C2E4\",\n\t14: \"#93C2E4\"\n\t}\n\t\n\ttry:\n\t\tret_value \u003d colors[Val_Sts]\n\texcept:\n\t\tret_value \u003d \"#FFC0FF\"\n\t\n\t\n\treturn ret_value\n", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Status" + }, + "position": { + "height": 14, + "width": 112, + "x": 20, + "y": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.showLabel" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_Sts\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_Sts \u003d value\n\t\n\tstates \u003d {\n\t0: \"Unknown\",\n\t1: \"Stopped\",\n\t2: \"Running\",\n\t5: \"Starting\",\n\t8: \"Jogging\",\n\t10: \"Stopping\",\n\t14: \"Horn\"\n\t}\n\t\n\ttry:\n\t\tret_value \u003d states[Val_Sts]\n\texcept:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#808080", + "borderStyle": "none", + "borderWidth": "1px", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "right" + }, + "textStyle": { + "fontSize": "8pt" + } + }, + "type": "ia.display.label" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "{view.params.tagPath}", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "{/root.meta.tooltip.text}", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}" + }, + "viewPath": "Plant PAX/Popups/P_Motor/P_Motor", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "root", + "tooltip": {} + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_Tag\") + \" - \" + tag({view.params.tagPath}+\"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer", + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_InlineU/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_InlineU/resource.json new file mode 100644 index 0000000..a29688f --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_InlineU/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "491ebfcca8de458a64000e2922e0fc272549843076b97046cde256fb8a000c9e", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:18Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_InlineU/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_InlineU/thumbnail.png new file mode 100644 index 0000000..5bf4e56 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_InlineU/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_InlineU/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_InlineU/view.json new file mode 100644 index 0000000..4615524 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_InlineU/view.json @@ -0,0 +1,481 @@ +{ + "custom": {}, + "params": { + "showLabel": true, + "tagPath": "[default]Test_Tags/P_Motor" + }, + "propConfig": { + "params.showLabel": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 77, + "width": 140 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "AlarmFrame" + }, + "position": { + "height": 72, + "width": 124, + "x": 7, + "y": 5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d value\n\t\n\tcolors \u003d [\"\",\n\t\"#FFFFFF\",\n\t\"#916AAD\",\n\t\"#916AAD\",\n\t\"#F5DF1B\",\n\t\"#F5DF1B\",\n\t\"#EC8729\",\n\t\"#EC8729\",\n\t\"#E22028\",\n\t\"#E22028\",\n\t\"\"]\n\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d colors[Val_NotifyAll]\n\t\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 3 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 14, + "width": 140, + "y": 61 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.showLabel" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#808080", + "borderStyle": "none", + "borderWidth": "1px", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIndicator" + }, + "position": { + "height": 16, + "width": 16, + "x": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotReady" + }, + "position": { + "height": 16, + "width": 16, + "x": 99, + "y": 23 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_NotRdy\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_NotReady.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "MaintBypass" + }, + "position": { + "height": 16, + "width": 16, + "x": 99, + "y": 43 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_MaintByp\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_MaintByp.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Exceptions" + }, + "position": { + "height": 16, + "width": 16, + "x": 27, + "y": 23 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Err\") ||\r\ntag({view.params.tagPath} + \"/SrcQ\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_Simulated\",\n\t 2: \"Sts_CommUncertain\",\n\t 3: \"Sts_CommBad\",\n\t 4: \"Sts_BC_BadCfg\",\n\t}\n\t\t\t\n\tSts_Error \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Error\"])[0].value\n\tindex \u003d 0\n\t\n\tSrcQ3 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 8) \u003d\u003d 8\n\tSrcQ4 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 16) \u003d\u003d 16\n\tSrcQ5 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 32) \u003d\u003d 32\n\n\tif (Sts_Error \u003d\u003d True):\n\t\tindex \u003d 4 \n\telif (SrcQ5 \u003d\u003d True):\n\t\tindex \u003d 3\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 2\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 1\n\telse:\n\t\tindex \u003d 0\n\n\tif (index \u003e 0):\n\t\tret_value \u003d True\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Err\") ||\r\ntag({view.params.tagPath} + \"/SrcQ\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_Simulated\",\n\t 2: \"Sts_CommUncertain\",\n\t 3: \"Sts_CommBad\",\n\t 4: \"Sts_BC_BadCfg\",\n\t}\n\t\t\t\n\tSts_Error \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Error\"])[0].value\n\tindex \u003d 0\n\t\n\tSrcQ3 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 8) \u003d\u003d 8\n\tSrcQ4 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 16) \u003d\u003d 16\n\tSrcQ5 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 32) \u003d\u003d 32\n\n\tif (Sts_Error \u003d\u003d True):\n\t\tindex \u003d 4 \n\telif (SrcQ5 \u003d\u003d True):\n\t\tindex \u003d 3\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 2\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 1\n\telse:\n\t\tindex \u003d 0\n\n\ttry:\n\t\tret_value \u003d images_path.format(images[index])\n\texcept:\n\t\tret_value \u003d images_path.format(\"Error\")\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "CmdSrcExceptions" + }, + "position": { + "height": 16, + "width": 16, + "x": 27, + "y": 43 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Sts_OoS\") ||\r\ntag({view.params.tagPath} + \"/CmdSrc/Sts_Normal\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tindex \u003d 0\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_BC_CmdSrcNotNorm\",\n\t 2: \"Sts_CmdSrcOoS\"\n\t}\n\t\t\t\n\tSts_OoS \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_OoS\"])[0].value\n\tCmdSrc_Sts_Normal \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_Normal\"])[0].value\n\n\tif (Sts_OoS \u003d\u003d True):\n\t\tindex \u003d 2 \n\telif (CmdSrc_Sts_Normal \u003d\u003d True):\n\t\tindex \u003d 0\n\telse:\n\t\tindex \u003d 1\n\n\tif (index \u003e 0):\n\t\tret_value \u003d True\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Sts_OoS\") ||\r\ntag({view.params.tagPath} + \"/CmdSrc/Sts_Normal\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_BC_CmdSrcNotNorm\",\n\t 2: \"Sts_CmdSrcOoS\"\n\t}\n\t\t\t\n\tSts_OoS \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_OoS\"])[0].value\n\tCmdSrc_Sts_Normal \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_Normal\"])[0].value\n\n\tif (Sts_OoS \u003d\u003d True):\n\t\tindex \u003d 2 \n\telif (CmdSrc_Sts_Normal \u003d\u003d True):\n\t\tindex \u003d 0\n\telse:\n\t\tindex \u003d 1\n\n\ttry:\n\t\tret_value \u003d images_path.format(images[index])\n\texcept:\n\t\tret_value \u003d images_path.format(\"Error\")\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "children": [ + { + "meta": { + "name": "Line1" + }, + "position": { + "height": 2, + "width": 60, + "y": 19 + }, + "props": { + "style": { + "backgroundColor": "#3F3F3F", + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "OutsideEllipse" + }, + "position": { + "height": 40, + "width": 40, + "x": 10 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.motorColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "MotorGroup" + }, + "position": { + "height": 40, + "width": 60, + "x": 41, + "y": 21 + }, + "propConfig": { + "custom.motorColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_Sts\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_Sts \u003d value\n\t\n\tcolors \u003d {\n\t0: \"#93C2E4\",\n\t1: \"#808080\",\n\t2: \"#F0F0F0\",\n\t3: \"#F0F0F0\",\n\t4: \"#F0F0F0\",\n\t5: \"#93C2E4\",\n\t6: \"#93C2E4\",\n\t7: \"#93C2E4\",\n\t8: \"#93C2E4\",\n\t9: \"#93C2E4\",\n\t10: \"#93C2E4\",\n\t14: \"#93C2E4\"\n\t}\n\t\n\ttry:\n\t\tret_value \u003d colors[Val_Sts]\n\texcept:\n\t\tret_value \u003d \"#FFC0FF\"\n\t\n\t\n\treturn ret_value\n", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Status" + }, + "position": { + "height": 14, + "width": 140, + "y": 7 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.showLabel" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_Sts\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_Sts \u003d value\n\t\n\tstates \u003d {\n\t0: \"Unknown\",\n\t1: \"Stopped\",\n\t2: \"Running\",\n\t5: \"Starting\",\n\t8: \"Jogging\",\n\t10: \"Stopping\",\n\t14: \"Horn\"\n\t}\n\t\n\ttry:\n\t\tret_value \u003d states[Val_Sts]\n\texcept:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#808080", + "borderStyle": "none", + "borderWidth": "1px", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "center" + }, + "textStyle": { + "fontSize": "8pt" + } + }, + "type": "ia.display.label" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "{view.params.tagPath}", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "{/root.meta.tooltip.text}", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}" + }, + "viewPath": "Plant PAX/Popups/P_Motor/P_Motor", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "root", + "tooltip": {} + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_Tag\") + \" - \" + tag({view.params.tagPath}+\"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_MotorD/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_MotorD/resource.json new file mode 100644 index 0000000..218c5c6 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_MotorD/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "e8307695daea23e58c28b9ba58495f56ca1e810b760e730b2d22dcd25a2dd657", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:18Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_MotorD/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_MotorD/thumbnail.png new file mode 100644 index 0000000..c25894e Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_MotorD/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_MotorD/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_MotorD/view.json new file mode 100644 index 0000000..0d90f97 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_MotorD/view.json @@ -0,0 +1,608 @@ +{ + "custom": {}, + "params": { + "showLabel": true, + "tagPath": "[default]Test_Tags/P_Motor" + }, + "propConfig": { + "params.showLabel": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 82, + "width": 140 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "AlarmFrame" + }, + "position": { + "height": 74, + "width": 132, + "x": 4, + "y": 5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d value\n\t\n\tcolors \u003d [\"\",\n\t\"#FFFFFF\",\n\t\"#916AAD\",\n\t\"#916AAD\",\n\t\"#F5DF1B\",\n\t\"#F5DF1B\",\n\t\"#EC8729\",\n\t\"#EC8729\",\n\t\"#E22028\",\n\t\"#E22028\",\n\t\"\"]\n\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d colors[Val_NotifyAll]\n\t\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 3 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 14, + "width": 140 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.showLabel" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#808080", + "borderStyle": "none", + "borderWidth": "1px", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIndicator" + }, + "position": { + "height": 16, + "width": 16, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotReady" + }, + "position": { + "height": 16, + "width": 16, + "x": 70, + "y": 28 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_NotRdy\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_NotReady.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "MaintBypass" + }, + "position": { + "height": 16, + "width": 16, + "x": 70, + "y": 48 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_MaintByp\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_MaintByp.png" + }, + "type": "ia.display.image" + }, + { + "children": [ + { + "meta": { + "name": "Line2" + }, + "position": { + "height": 9, + "width": 3, + "x": 55.5035, + "y": 15.5 + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Line1" + }, + "position": { + "height": 1, + "width": 7, + "x": 50.5035, + "y": 18.5 + }, + "props": { + "style": { + "backgroundColor": "#3F3F3F", + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Base" + }, + "position": { + "height": 9, + "rotate": { + "angle": 180 + }, + "width": 38, + "x": 8, + "y": -1 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.motorColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderTopLeftRadius": 20, + "borderTopRightRadius": 20, + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Middle" + }, + "position": { + "height": 30, + "width": 40, + "x": 6.50353, + "y": 4.5 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.motorColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "RightWedge" + }, + "position": { + "height": 30, + "width": 9, + "x": 44.5035, + "y": 4.5 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.motorColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomRightRadius": 2000, + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderTopRightRadius": 2000, + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftWedge" + }, + "position": { + "height": 30, + "rotate": { + "angle": 180 + }, + "width": 9, + "x": -0.4940689999999999, + "y": 4.5024 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.motorColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomRightRadius": 2000, + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderTopRightRadius": 2000, + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "MotorGroup" + }, + "position": { + "height": 35, + "rotate": { + "angle": 90 + }, + "width": 59, + "x": 17, + "y": 35 + }, + "propConfig": { + "custom.motorColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_Sts\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_Sts \u003d value\n\t\n\tcolors \u003d {\n\t0: \"#93C2E4\",\n\t1: \"#808080\",\n\t2: \"#F0F0F0\",\n\t3: \"#F0F0F0\",\n\t4: \"#F0F0F0\",\n\t5: \"#93C2E4\",\n\t6: \"#93C2E4\",\n\t7: \"#93C2E4\",\n\t8: \"#93C2E4\",\n\t9: \"#93C2E4\",\n\t10: \"#93C2E4\",\n\t14: \"#93C2E4\"\n\t}\n\t\n\ttry:\n\t\tret_value \u003d colors[Val_Sts]\n\texcept:\n\t\tret_value \u003d \"#FFC0FF\"\n\t\n\t\n\treturn ret_value\n", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Status" + }, + "position": { + "height": 14, + "width": 76, + "x": 63, + "y": 68 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.showLabel" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_Sts\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_Sts \u003d value\n\t\n\tstates \u003d {\n\t0: \"Unknown\",\n\t1: \"Stopped\",\n\t2: \"Running\",\n\t5: \"Starting\",\n\t8: \"Jogging\",\n\t10: \"Stopping\",\n\t14: \"Horn\"\n\t}\n\t\n\ttry:\n\t\tret_value \u003d states[Val_Sts]\n\texcept:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#808080", + "borderStyle": "none", + "borderWidth": "1px", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "center" + }, + "textStyle": { + "fontSize": "8pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Exceptions" + }, + "position": { + "height": 16, + "width": 16, + "x": 11, + "y": 28 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Err\") ||\r\ntag({view.params.tagPath} + \"/SrcQ\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_Simulated\",\n\t 2: \"Sts_CommUncertain\",\n\t 3: \"Sts_CommBad\",\n\t 4: \"Sts_BC_BadCfg\",\n\t}\n\t\t\t\n\tSts_Error \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Error\"])[0].value\n\tindex \u003d 0\n\t\n\tSrcQ3 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 8) \u003d\u003d 8\n\tSrcQ4 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 16) \u003d\u003d 16\n\tSrcQ5 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 32) \u003d\u003d 32\n\n\tif (Sts_Error \u003d\u003d True):\n\t\tindex \u003d 4 \n\telif (SrcQ5 \u003d\u003d True):\n\t\tindex \u003d 3\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 2\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 1\n\telse:\n\t\tindex \u003d 0\n\n\tif (index \u003e 0):\n\t\tret_value \u003d True\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Err\") ||\r\ntag({view.params.tagPath} + \"/SrcQ\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_Simulated\",\n\t 2: \"Sts_CommUncertain\",\n\t 3: \"Sts_CommBad\",\n\t 4: \"Sts_BC_BadCfg\",\n\t}\n\t\t\t\n\tSts_Error \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Error\"])[0].value\n\tindex \u003d 0\n\t\n\tSrcQ3 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 8) \u003d\u003d 8\n\tSrcQ4 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 16) \u003d\u003d 16\n\tSrcQ5 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 32) \u003d\u003d 32\n\n\tif (Sts_Error \u003d\u003d True):\n\t\tindex \u003d 4 \n\telif (SrcQ5 \u003d\u003d True):\n\t\tindex \u003d 3\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 2\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 1\n\telse:\n\t\tindex \u003d 0\n\n\ttry:\n\t\tret_value \u003d images_path.format(images[index])\n\texcept:\n\t\tret_value \u003d images_path.format(\"Error\")\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "CmdSrcExceptions" + }, + "position": { + "height": 16, + "width": 16, + "x": 11, + "y": 48 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Sts_OoS\") ||\r\ntag({view.params.tagPath} + \"/CmdSrc/Sts_Normal\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tindex \u003d 0\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_BC_CmdSrcNotNorm\",\n\t 2: \"Sts_CmdSrcOoS\"\n\t}\n\t\t\t\n\tSts_OoS \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_OoS\"])[0].value\n\tCmdSrc_Sts_Normal \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_Normal\"])[0].value\n\n\tif (Sts_OoS \u003d\u003d True):\n\t\tindex \u003d 2 \n\telif (CmdSrc_Sts_Normal \u003d\u003d True):\n\t\tindex \u003d 0\n\telse:\n\t\tindex \u003d 1\n\n\tif (index \u003e 0):\n\t\tret_value \u003d True\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Sts_OoS\") ||\r\ntag({view.params.tagPath} + \"/CmdSrc/Sts_Normal\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_BC_CmdSrcNotNorm\",\n\t 2: \"Sts_CmdSrcOoS\"\n\t}\n\t\t\t\n\tSts_OoS \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_OoS\"])[0].value\n\tCmdSrc_Sts_Normal \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_Normal\"])[0].value\n\n\tif (Sts_OoS \u003d\u003d True):\n\t\tindex \u003d 2 \n\telif (CmdSrc_Sts_Normal \u003d\u003d True):\n\t\tindex \u003d 0\n\telse:\n\t\tindex \u003d 1\n\n\ttry:\n\t\tret_value \u003d images_path.format(images[index])\n\texcept:\n\t\tret_value \u003d images_path.format(\"Error\")\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "{view.params.tagPath}", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "{/root.meta.tooltip.text}", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}" + }, + "viewPath": "Plant PAX/Popups/P_Motor/P_Motor", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "root", + "tooltip": {} + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_Tag\") + \" - \" + tag({view.params.tagPath}+\"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer", + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_MotorR/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_MotorR/resource.json new file mode 100644 index 0000000..e937e28 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_MotorR/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "41641924917b46eb29931732b9ca12d494ba15aaeb8298ee3b7c86f9e1c94a39", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:18Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_MotorR/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_MotorR/thumbnail.png new file mode 100644 index 0000000..6bde78e Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_MotorR/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_MotorR/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_MotorR/view.json new file mode 100644 index 0000000..ae9b9cc --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_MotorR/view.json @@ -0,0 +1,593 @@ +{ + "custom": {}, + "params": { + "showLabel": true, + "tagPath": "[default]Test_Tags/P_Motor" + }, + "propConfig": { + "params.showLabel": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 72, + "width": 140 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "AlarmFrame" + }, + "position": { + "height": 67, + "width": 124, + "x": 8, + "y": 5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d value\n\t\n\tcolors \u003d [\"\",\n\t\"#FFFFFF\",\n\t\"#916AAD\",\n\t\"#916AAD\",\n\t\"#F5DF1B\",\n\t\"#F5DF1B\",\n\t\"#EC8729\",\n\t\"#EC8729\",\n\t\"#E22028\",\n\t\"#E22028\",\n\t\"\"]\n\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d colors[Val_NotifyAll]\n\t\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 3 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 14, + "width": 140, + "y": 56 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.showLabel" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#808080", + "borderStyle": "none", + "borderWidth": "1px", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIndicator" + }, + "position": { + "height": 16, + "width": 16, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotReady" + }, + "position": { + "height": 16, + "width": 16, + "x": 104, + "y": 21 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_NotRdy\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_NotReady.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "MaintBypass" + }, + "position": { + "height": 16, + "width": 16, + "x": 104, + "y": 41 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_MaintByp\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_MaintByp.png" + }, + "type": "ia.display.image" + }, + { + "children": [ + { + "meta": { + "name": "Line2" + }, + "position": { + "height": 9, + "width": 3, + "x": 56, + "y": 11 + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Line1" + }, + "position": { + "height": 1, + "width": 7, + "x": 51, + "y": 14 + }, + "props": { + "style": { + "backgroundColor": "#3F3F3F", + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Base" + }, + "position": { + "height": 9, + "width": 38, + "x": 8, + "y": 26 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.motorColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderTopLeftRadius": 20, + "borderTopRightRadius": 20, + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Middle" + }, + "position": { + "height": 30, + "width": 40, + "x": 7 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.motorColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "RightWedge" + }, + "position": { + "height": 30, + "width": 9, + "x": 45 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.motorColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomRightRadius": 2000, + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderTopRightRadius": 2000, + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftWedge" + }, + "position": { + "height": 30, + "rotate": { + "angle": 180 + }, + "width": 9, + "x": 0.0023999999999999577, + "y": 0.0024 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.motorColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomRightRadius": 2000, + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderTopRightRadius": 2000, + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "MotorGroup" + }, + "position": { + "height": 35, + "width": 59, + "x": 41, + "y": 21 + }, + "propConfig": { + "custom.motorColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_Sts\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_Sts \u003d value\n\t\n\tcolors \u003d {\n\t0: \"#93C2E4\",\n\t1: \"#808080\",\n\t2: \"#F0F0F0\",\n\t3: \"#F0F0F0\",\n\t4: \"#F0F0F0\",\n\t5: \"#93C2E4\",\n\t6: \"#93C2E4\",\n\t7: \"#93C2E4\",\n\t8: \"#93C2E4\",\n\t9: \"#93C2E4\",\n\t10: \"#93C2E4\",\n\t14: \"#93C2E4\"\n\t}\n\t\n\ttry:\n\t\tret_value \u003d colors[Val_Sts]\n\texcept:\n\t\tret_value \u003d \"#FFC0FF\"\n\t\n\t\n\treturn ret_value\n", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Status" + }, + "position": { + "height": 14, + "width": 140, + "y": 7 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.showLabel" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_Sts\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_Sts \u003d value\n\t\n\tstates \u003d {\n\t0: \"Unknown\",\n\t1: \"Stopped\",\n\t2: \"Running\",\n\t5: \"Starting\",\n\t8: \"Jogging\",\n\t10: \"Stopping\",\n\t14: \"Horn\"\n\t}\n\t\n\ttry:\n\t\tret_value \u003d states[Val_Sts]\n\texcept:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#808080", + "borderStyle": "none", + "borderWidth": "1px", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "center" + }, + "textStyle": { + "fontSize": "8pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Exceptions" + }, + "position": { + "height": 16, + "width": 16, + "x": 24, + "y": 18 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Err\") ||\r\ntag({view.params.tagPath} + \"/SrcQ\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_Simulated\",\n\t 2: \"Sts_CommUncertain\",\n\t 3: \"Sts_CommBad\",\n\t 4: \"Sts_BC_BadCfg\",\n\t}\n\t\t\t\n\tSts_Error \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Error\"])[0].value\n\tindex \u003d 0\n\t\n\tSrcQ3 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 8) \u003d\u003d 8\n\tSrcQ4 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 16) \u003d\u003d 16\n\tSrcQ5 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 32) \u003d\u003d 32\n\n\tif (Sts_Error \u003d\u003d True):\n\t\tindex \u003d 4 \n\telif (SrcQ5 \u003d\u003d True):\n\t\tindex \u003d 3\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 2\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 1\n\telse:\n\t\tindex \u003d 0\n\n\tif (index \u003e 0):\n\t\tret_value \u003d True\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Err\") ||\r\ntag({view.params.tagPath} + \"/SrcQ\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_Simulated\",\n\t 2: \"Sts_CommUncertain\",\n\t 3: \"Sts_CommBad\",\n\t 4: \"Sts_BC_BadCfg\",\n\t}\n\t\t\t\n\tSts_Error \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Error\"])[0].value\n\tindex \u003d 0\n\t\n\tSrcQ3 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 8) \u003d\u003d 8\n\tSrcQ4 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 16) \u003d\u003d 16\n\tSrcQ5 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 32) \u003d\u003d 32\n\n\tif (Sts_Error \u003d\u003d True):\n\t\tindex \u003d 4 \n\telif (SrcQ5 \u003d\u003d True):\n\t\tindex \u003d 3\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 2\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 1\n\telse:\n\t\tindex \u003d 0\n\n\ttry:\n\t\tret_value \u003d images_path.format(images[index])\n\texcept:\n\t\tret_value \u003d images_path.format(\"Error\")\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "CmdSrcExceptions" + }, + "position": { + "height": 16, + "width": 16, + "x": 24, + "y": 41 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Sts_OoS\") ||\r\ntag({view.params.tagPath} + \"/CmdSrc/Sts_Normal\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tindex \u003d 0\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_BC_CmdSrcNotNorm\",\n\t 2: \"Sts_CmdSrcOoS\"\n\t}\n\t\t\t\n\tSts_OoS \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_OoS\"])[0].value\n\tCmdSrc_Sts_Normal \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_Normal\"])[0].value\n\n\tif (Sts_OoS \u003d\u003d True):\n\t\tindex \u003d 2 \n\telif (CmdSrc_Sts_Normal \u003d\u003d True):\n\t\tindex \u003d 0\n\telse:\n\t\tindex \u003d 1\n\n\tif (index \u003e 0):\n\t\tret_value \u003d True\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Sts_OoS\") ||\r\ntag({view.params.tagPath} + \"/CmdSrc/Sts_Normal\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_BC_CmdSrcNotNorm\",\n\t 2: \"Sts_CmdSrcOoS\"\n\t}\n\t\t\t\n\tSts_OoS \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_OoS\"])[0].value\n\tCmdSrc_Sts_Normal \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_Normal\"])[0].value\n\n\tif (Sts_OoS \u003d\u003d True):\n\t\tindex \u003d 2 \n\telif (CmdSrc_Sts_Normal \u003d\u003d True):\n\t\tindex \u003d 0\n\telse:\n\t\tindex \u003d 1\n\n\ttry:\n\t\tret_value \u003d images_path.format(images[index])\n\texcept:\n\t\tret_value \u003d images_path.format(\"Error\")\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "{view.params.tagPath}", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "{/root.meta.tooltip.text}", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}" + }, + "viewPath": "Plant PAX/Popups/P_Motor/P_Motor", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "root", + "tooltip": {} + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_Tag\") + \" - \" + tag({view.params.tagPath}+\"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_MotorU/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_MotorU/resource.json new file mode 100644 index 0000000..6ad4c8f --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_MotorU/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "ba7fcdb3d406c1f1b17917598b997ef77b63eab9741d3e94c1eaf9a602b4347e", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:18Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_MotorU/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_MotorU/thumbnail.png new file mode 100644 index 0000000..92814c0 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_MotorU/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_MotorU/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_MotorU/view.json new file mode 100644 index 0000000..1d52987 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_MotorU/view.json @@ -0,0 +1,598 @@ +{ + "custom": {}, + "params": { + "showLabel": true, + "tagPath": "[default]Test_Tags/P_Motor" + }, + "propConfig": { + "params.showLabel": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 82, + "width": 140 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "AlarmFrame" + }, + "position": { + "height": 74, + "width": 132, + "x": 4, + "y": 5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d value\n\t\n\tcolors \u003d [\"\",\n\t\"#FFFFFF\",\n\t\"#916AAD\",\n\t\"#916AAD\",\n\t\"#F5DF1B\",\n\t\"#F5DF1B\",\n\t\"#EC8729\",\n\t\"#EC8729\",\n\t\"#E22028\",\n\t\"#E22028\",\n\t\"\"]\n\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d colors[Val_NotifyAll]\n\t\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 3 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 14, + "width": 140, + "y": 66 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.showLabel" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#808080", + "borderStyle": "none", + "borderWidth": "1px", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIndicator" + }, + "position": { + "height": 16, + "width": 16, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotReady" + }, + "position": { + "height": 16, + "width": 16, + "x": 70, + "y": 28 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_NotRdy\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_NotReady.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "MaintBypass" + }, + "position": { + "height": 16, + "width": 16, + "x": 70, + "y": 48 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_MaintByp\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_MaintByp.png" + }, + "type": "ia.display.image" + }, + { + "children": [ + { + "meta": { + "name": "Line2" + }, + "position": { + "height": 9, + "width": 3, + "x": 56, + "y": 11 + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Line1" + }, + "position": { + "height": 1, + "width": 7, + "x": 51, + "y": 14 + }, + "props": { + "style": { + "backgroundColor": "#3F3F3F", + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Base" + }, + "position": { + "height": 9, + "width": 38, + "x": 8, + "y": 26 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.motorColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderTopLeftRadius": 20, + "borderTopRightRadius": 20, + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Middle" + }, + "position": { + "height": 30, + "width": 40, + "x": 7 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.motorColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "RightWedge" + }, + "position": { + "height": 30, + "width": 9, + "x": 45 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.motorColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomRightRadius": 2000, + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderTopRightRadius": 2000, + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftWedge" + }, + "position": { + "height": 30, + "rotate": { + "angle": 180 + }, + "width": 9, + "x": 0.0023999999999999577, + "y": 0.0024 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.motorColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomRightRadius": 2000, + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderTopRightRadius": 2000, + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "MotorGroup" + }, + "position": { + "height": 35, + "rotate": { + "angle": -90 + }, + "width": 59, + "x": 17, + "y": 15 + }, + "propConfig": { + "custom.motorColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_Sts\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_Sts \u003d value\n\t\n\tcolors \u003d {\n\t0: \"#93C2E4\",\n\t1: \"#808080\",\n\t2: \"#F0F0F0\",\n\t3: \"#F0F0F0\",\n\t4: \"#F0F0F0\",\n\t5: \"#93C2E4\",\n\t6: \"#93C2E4\",\n\t7: \"#93C2E4\",\n\t8: \"#93C2E4\",\n\t9: \"#93C2E4\",\n\t10: \"#93C2E4\",\n\t14: \"#93C2E4\"\n\t}\n\t\n\ttry:\n\t\tret_value \u003d colors[Val_Sts]\n\texcept:\n\t\tret_value \u003d \"#FFC0FF\"\n\t\n\t\n\treturn ret_value\n", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Status" + }, + "position": { + "height": 14, + "width": 76, + "x": 63 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.showLabel" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_Sts\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_Sts \u003d value\n\t\n\tstates \u003d {\n\t0: \"Unknown\",\n\t1: \"Stopped\",\n\t2: \"Running\",\n\t5: \"Starting\",\n\t8: \"Jogging\",\n\t10: \"Stopping\",\n\t14: \"Horn\"\n\t}\n\t\n\ttry:\n\t\tret_value \u003d states[Val_Sts]\n\texcept:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#808080", + "borderStyle": "none", + "borderWidth": "1px", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "center" + }, + "textStyle": { + "fontSize": "8pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Exceptions" + }, + "position": { + "height": 16, + "width": 16, + "x": 11, + "y": 28 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Err\") ||\r\ntag({view.params.tagPath} + \"/SrcQ\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_Simulated\",\n\t 2: \"Sts_CommUncertain\",\n\t 3: \"Sts_CommBad\",\n\t 4: \"Sts_BC_BadCfg\",\n\t}\n\t\t\t\n\tSts_Error \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Error\"])[0].value\n\tindex \u003d 0\n\t\n\tSrcQ3 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 8) \u003d\u003d 8\n\tSrcQ4 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 16) \u003d\u003d 16\n\tSrcQ5 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 32) \u003d\u003d 32\n\n\tif (Sts_Error \u003d\u003d True):\n\t\tindex \u003d 4 \n\telif (SrcQ5 \u003d\u003d True):\n\t\tindex \u003d 3\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 2\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 1\n\telse:\n\t\tindex \u003d 0\n\n\tif (index \u003e 0):\n\t\tret_value \u003d True\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Err\") ||\r\ntag({view.params.tagPath} + \"/SrcQ\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_Simulated\",\n\t 2: \"Sts_CommUncertain\",\n\t 3: \"Sts_CommBad\",\n\t 4: \"Sts_BC_BadCfg\",\n\t}\n\t\t\t\n\tSts_Error \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Error\"])[0].value\n\tindex \u003d 0\n\t\n\tSrcQ3 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 8) \u003d\u003d 8\n\tSrcQ4 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 16) \u003d\u003d 16\n\tSrcQ5 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 32) \u003d\u003d 32\n\n\tif (Sts_Error \u003d\u003d True):\n\t\tindex \u003d 4 \n\telif (SrcQ5 \u003d\u003d True):\n\t\tindex \u003d 3\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 2\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 1\n\telse:\n\t\tindex \u003d 0\n\n\ttry:\n\t\tret_value \u003d images_path.format(images[index])\n\texcept:\n\t\tret_value \u003d images_path.format(\"Error\")\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "CmdSrcExceptions" + }, + "position": { + "height": 16, + "width": 16, + "x": 11, + "y": 48 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Sts_OoS\") ||\r\ntag({view.params.tagPath} + \"/CmdSrc/Sts_Normal\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tindex \u003d 0\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_BC_CmdSrcNotNorm\",\n\t 2: \"Sts_CmdSrcOoS\"\n\t}\n\t\t\t\n\tSts_OoS \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_OoS\"])[0].value\n\tCmdSrc_Sts_Normal \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_Normal\"])[0].value\n\n\tif (Sts_OoS \u003d\u003d True):\n\t\tindex \u003d 2 \n\telif (CmdSrc_Sts_Normal \u003d\u003d True):\n\t\tindex \u003d 0\n\telse:\n\t\tindex \u003d 1\n\n\tif (index \u003e 0):\n\t\tret_value \u003d True\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Sts_OoS\") ||\r\ntag({view.params.tagPath} + \"/CmdSrc/Sts_Normal\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_BC_CmdSrcNotNorm\",\n\t 2: \"Sts_CmdSrcOoS\"\n\t}\n\t\t\t\n\tSts_OoS \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_OoS\"])[0].value\n\tCmdSrc_Sts_Normal \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_Normal\"])[0].value\n\n\tif (Sts_OoS \u003d\u003d True):\n\t\tindex \u003d 2 \n\telif (CmdSrc_Sts_Normal \u003d\u003d True):\n\t\tindex \u003d 0\n\telse:\n\t\tindex \u003d 1\n\n\ttry:\n\t\tret_value \u003d images_path.format(images[index])\n\texcept:\n\t\tret_value \u003d images_path.format(\"Error\")\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "{view.params.tagPath}", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "{/root.meta.tooltip.text}", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}" + }, + "viewPath": "Plant PAX/Popups/P_Motor/P_Motor", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "root", + "tooltip": {} + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_Tag\") + \" - \" + tag({view.params.tagPath}+\"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer", + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_PumpL/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_PumpL/resource.json new file mode 100644 index 0000000..bb9dd6e --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_PumpL/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "760209cba7ede6a521757e5fb02a6f9570d03295419462ad42df5f3b6ece6b5c", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:18Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_PumpL/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_PumpL/thumbnail.png new file mode 100644 index 0000000..629f96d Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_PumpL/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_PumpL/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_PumpL/view.json new file mode 100644 index 0000000..a5fa5dc --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_PumpL/view.json @@ -0,0 +1,553 @@ +{ + "custom": {}, + "params": { + "showLabel": true, + "tagPath": "[default]Test_Tags/P_Motor" + }, + "propConfig": { + "params.showLabel": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 75, + "width": 140 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "AlarmFrame" + }, + "position": { + "height": 67, + "width": 124, + "x": 8, + "y": 5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d value\n\t\n\tcolors \u003d [\"\",\n\t\"#FFFFFF\",\n\t\"#916AAD\",\n\t\"#916AAD\",\n\t\"#F5DF1B\",\n\t\"#F5DF1B\",\n\t\"#EC8729\",\n\t\"#EC8729\",\n\t\"#E22028\",\n\t\"#E22028\",\n\t\"\"]\n\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d colors[Val_NotifyAll]\n\t\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 3 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 14, + "width": 140, + "y": 59 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.showLabel" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#808080", + "borderStyle": "none", + "borderWidth": "1px", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIndicator" + }, + "position": { + "height": 16, + "width": 16, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotReady" + }, + "position": { + "height": 16, + "width": 16, + "x": 94, + "y": 23 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_NotRdy\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_NotReady.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "MaintBypass" + }, + "position": { + "height": 16, + "width": 16, + "x": 94, + "y": 44 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_MaintByp\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_MaintByp.png" + }, + "type": "ia.display.image" + }, + { + "children": [ + { + "meta": { + "name": "Polygon" + }, + "position": { + "height": 11, + "width": 25 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.motorColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Base" + }, + "position": { + "height": 9, + "width": 35, + "x": 7, + "y": 29 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.motorColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderTopLeftRadius": 20, + "borderTopRightRadius": 20, + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "OutsideEllipse" + }, + "position": { + "height": 34, + "width": 34, + "x": 7 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.motorColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "InsideEllipse" + }, + "position": { + "height": 14, + "width": 14, + "x": 17, + "y": 10 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.motorColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "MotorGroup" + }, + "position": { + "height": 38, + "width": 42, + "x": 47, + "y": 21 + }, + "propConfig": { + "custom.motorColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_Sts\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_Sts \u003d value\n\t\n\tcolors \u003d {\n\t0: \"#93C2E4\",\n\t1: \"#808080\",\n\t2: \"#F0F0F0\",\n\t3: \"#F0F0F0\",\n\t4: \"#F0F0F0\",\n\t5: \"#93C2E4\",\n\t6: \"#93C2E4\",\n\t7: \"#93C2E4\",\n\t8: \"#93C2E4\",\n\t9: \"#93C2E4\",\n\t10: \"#93C2E4\",\n\t14: \"#93C2E4\"\n\t}\n\t\n\ttry:\n\t\tret_value \u003d colors[Val_Sts]\n\texcept:\n\t\tret_value \u003d \"#FFC0FF\"\n\t\n\t\n\treturn ret_value\n", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Status" + }, + "position": { + "height": 14, + "width": 140, + "y": 7 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.showLabel" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_Sts\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_Sts \u003d value\n\t\n\tstates \u003d {\n\t0: \"Unknown\",\n\t1: \"Stopped\",\n\t2: \"Running\",\n\t5: \"Starting\",\n\t8: \"Jogging\",\n\t10: \"Stopping\",\n\t14: \"Horn\"\n\t}\n\t\n\ttry:\n\t\tret_value \u003d states[Val_Sts]\n\texcept:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#808080", + "borderStyle": "none", + "borderWidth": "1px", + "color": "#3F3F3F", + "fontSize": 8, + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "center" + }, + "textStyle": { + "fontSize": "8pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Exceptions" + }, + "position": { + "height": 16, + "width": 16, + "x": 15, + "y": 41 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Err\") ||\r\ntag({view.params.tagPath} + \"/SrcQ\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_Simulated\",\n\t 2: \"Sts_CommUncertain\",\n\t 3: \"Sts_CommBad\",\n\t 4: \"Sts_BC_BadCfg\",\n\t}\n\t\t\t\n\tSts_Error \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Error\"])[0].value\n\tindex \u003d 0\n\t\n\tSrcQ3 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 8) \u003d\u003d 8\n\tSrcQ4 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 16) \u003d\u003d 16\n\tSrcQ5 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 32) \u003d\u003d 32\n\n\tif (Sts_Error \u003d\u003d True):\n\t\tindex \u003d 4 \n\telif (SrcQ5 \u003d\u003d True):\n\t\tindex \u003d 3\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 2\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 1\n\telse:\n\t\tindex \u003d 0\n\n\tif (index \u003e 0):\n\t\tret_value \u003d True\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Err\") ||\r\ntag({view.params.tagPath} + \"/SrcQ\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_Simulated\",\n\t 2: \"Sts_CommUncertain\",\n\t 3: \"Sts_CommBad\",\n\t 4: \"Sts_BC_BadCfg\",\n\t}\n\t\t\t\n\tSts_Error \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Error\"])[0].value\n\tindex \u003d 0\n\t\n\tSrcQ3 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 8) \u003d\u003d 8\n\tSrcQ4 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 16) \u003d\u003d 16\n\tSrcQ5 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 32) \u003d\u003d 32\n\n\tif (Sts_Error \u003d\u003d True):\n\t\tindex \u003d 4 \n\telif (SrcQ5 \u003d\u003d True):\n\t\tindex \u003d 3\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 2\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 1\n\telse:\n\t\tindex \u003d 0\n\n\ttry:\n\t\tret_value \u003d images_path.format(images[index])\n\texcept:\n\t\tret_value \u003d images_path.format(\"Error\")\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "CmdSrcExceptions" + }, + "position": { + "height": 16, + "width": 16, + "x": 34, + "y": 41 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Sts_OoS\") ||\r\ntag({view.params.tagPath} + \"/CmdSrc/Sts_Normal\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tindex \u003d 0\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_BC_CmdSrcNotNorm\",\n\t 2: \"Sts_CmdSrcOoS\"\n\t}\n\t\t\t\n\tSts_OoS \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_OoS\"])[0].value\n\tCmdSrc_Sts_Normal \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_Normal\"])[0].value\n\n\tif (Sts_OoS \u003d\u003d True):\n\t\tindex \u003d 2 \n\telif (CmdSrc_Sts_Normal \u003d\u003d True):\n\t\tindex \u003d 0\n\telse:\n\t\tindex \u003d 1\n\n\tif (index \u003e 0):\n\t\tret_value \u003d True\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Sts_OoS\") ||\r\ntag({view.params.tagPath} + \"/CmdSrc/Sts_Normal\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_BC_CmdSrcNotNorm\",\n\t 2: \"Sts_CmdSrcOoS\"\n\t}\n\t\t\t\n\tSts_OoS \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_OoS\"])[0].value\n\tCmdSrc_Sts_Normal \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_Normal\"])[0].value\n\n\tif (Sts_OoS \u003d\u003d True):\n\t\tindex \u003d 2 \n\telif (CmdSrc_Sts_Normal \u003d\u003d True):\n\t\tindex \u003d 0\n\telse:\n\t\tindex \u003d 1\n\n\ttry:\n\t\tret_value \u003d images_path.format(images[index])\n\texcept:\n\t\tret_value \u003d images_path.format(\"Error\")\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "{view.params.tagPath}", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "{/root.meta.tooltip.text}", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}" + }, + "viewPath": "Plant PAX/Popups/P_Motor/P_Motor", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "root", + "tooltip": {} + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_Tag\") + \" - \" + tag({view.params.tagPath}+\"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_PumpR/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_PumpR/resource.json new file mode 100644 index 0000000..2acc659 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_PumpR/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "67d92e100588b1d456322305adf7785011809fc3d2e8119f84346c42c6aa2ae6", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:18Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_PumpR/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_PumpR/thumbnail.png new file mode 100644 index 0000000..850a709 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_PumpR/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_PumpR/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_PumpR/view.json new file mode 100644 index 0000000..47227ba --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_PumpR/view.json @@ -0,0 +1,552 @@ +{ + "custom": {}, + "params": { + "showLabel": true, + "tagPath": "[DH1]Block 1/Process/Motor/P_12" + }, + "propConfig": { + "params.showLabel": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 75, + "width": 140 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "AlarmFrame" + }, + "position": { + "height": 67, + "width": 124, + "x": 8, + "y": 5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d value\n\t\n\tcolors \u003d [\"\",\n\t\"#FFFFFF\",\n\t\"#916AAD\",\n\t\"#916AAD\",\n\t\"#F5DF1B\",\n\t\"#F5DF1B\",\n\t\"#EC8729\",\n\t\"#EC8729\",\n\t\"#E22028\",\n\t\"#E22028\",\n\t\"\"]\n\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d colors[Val_NotifyAll]\n\t\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 3 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 14, + "width": 140, + "y": 59 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.showLabel" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#808080", + "borderStyle": "none", + "borderWidth": "1px", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIndicator" + }, + "position": { + "height": 16, + "width": 16, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotReady" + }, + "position": { + "height": 16, + "width": 16, + "x": 101, + "y": 43 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_NotRdy\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_NotReady.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "MaintBypass" + }, + "position": { + "height": 16, + "width": 16, + "x": 83, + "y": 44 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_MaintByp\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_MaintByp.png" + }, + "type": "ia.display.image" + }, + { + "children": [ + { + "meta": { + "name": "Polygon" + }, + "position": { + "height": 11, + "width": 25, + "x": 17 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.motorColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Base" + }, + "position": { + "height": 9, + "width": 35, + "y": 29 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.motorColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderTopLeftRadius": 20, + "borderTopRightRadius": 20, + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "OutsideEllipse" + }, + "position": { + "height": 34, + "width": 34 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.motorColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "InsideEllipse" + }, + "position": { + "height": 14, + "width": 14, + "x": 10, + "y": 10 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.motorColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "MotorGroup" + }, + "position": { + "height": 38, + "width": 42, + "x": 47, + "y": 21 + }, + "propConfig": { + "custom.motorColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_Sts\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_Sts \u003d value\n\t\n\tcolors \u003d {\n\t0: \"#93C2E4\",\n\t1: \"#808080\",\n\t2: \"#F0F0F0\",\n\t3: \"#F0F0F0\",\n\t4: \"#F0F0F0\",\n\t5: \"#93C2E4\",\n\t6: \"#93C2E4\",\n\t7: \"#93C2E4\",\n\t8: \"#93C2E4\",\n\t9: \"#93C2E4\",\n\t10: \"#93C2E4\",\n\t14: \"#93C2E4\"\n\t}\n\t\n\ttry:\n\t\tret_value \u003d colors[Val_Sts]\n\texcept:\n\t\tret_value \u003d \"#FFC0FF\"\n\t\n\t\n\treturn ret_value\n", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Status" + }, + "position": { + "height": 14, + "width": 140, + "y": 7 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.showLabel" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_Sts\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_Sts \u003d value\n\t\n\tstates \u003d {\n\t0: \"Unknown\",\n\t1: \"Stopped\",\n\t2: \"Running\",\n\t5: \"Starting\",\n\t8: \"Jogging\",\n\t10: \"Stopping\",\n\t14: \"Horn\"\n\t}\n\t\n\ttry:\n\t\tret_value \u003d states[Val_Sts]\n\texcept:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#808080", + "borderStyle": "none", + "borderWidth": "1px", + "color": "#3F3F3F", + "fontSize": 8, + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "center" + }, + "textStyle": { + "fontSize": "8pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Exceptions" + }, + "position": { + "height": 16, + "width": 16, + "x": 24, + "y": 18 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Err\") ||\r\ntag({view.params.tagPath} + \"/SrcQ\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_Simulated\",\n\t 2: \"Sts_CommUncertain\",\n\t 3: \"Sts_CommBad\",\n\t 4: \"Sts_BC_BadCfg\",\n\t}\n\t\t\t\n\tSts_Error \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Error\"])[0].value\n\tindex \u003d 0\n\t\n\tSrcQ3 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 8) \u003d\u003d 8\n\tSrcQ4 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 16) \u003d\u003d 16\n\tSrcQ5 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 32) \u003d\u003d 32\n\n\tif (Sts_Error \u003d\u003d True):\n\t\tindex \u003d 4 \n\telif (SrcQ5 \u003d\u003d True):\n\t\tindex \u003d 3\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 2\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 1\n\telse:\n\t\tindex \u003d 0\n\n\tif (index \u003e 0):\n\t\tret_value \u003d True\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Err\") ||\r\ntag({view.params.tagPath} + \"/SrcQ\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_Simulated\",\n\t 2: \"Sts_CommUncertain\",\n\t 3: \"Sts_CommBad\",\n\t 4: \"Sts_BC_BadCfg\",\n\t}\n\t\t\t\n\tSts_Error \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Error\"])[0].value\n\tindex \u003d 0\n\t\n\tSrcQ3 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 8) \u003d\u003d 8\n\tSrcQ4 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 16) \u003d\u003d 16\n\tSrcQ5 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 32) \u003d\u003d 32\n\n\tif (Sts_Error \u003d\u003d True):\n\t\tindex \u003d 4 \n\telif (SrcQ5 \u003d\u003d True):\n\t\tindex \u003d 3\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 2\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 1\n\telse:\n\t\tindex \u003d 0\n\n\ttry:\n\t\tret_value \u003d images_path.format(images[index])\n\texcept:\n\t\tret_value \u003d images_path.format(\"Error\")\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "CmdSrcExceptions" + }, + "position": { + "height": 16, + "width": 16, + "x": 24, + "y": 41 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Sts_OoS\") ||\r\ntag({view.params.tagPath} + \"/CmdSrc/Sts_Normal\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tindex \u003d 0\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_BC_CmdSrcNotNorm\",\n\t 2: \"Sts_CmdSrcOoS\"\n\t}\n\t\t\t\n\tSts_OoS \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_OoS\"])[0].value\n\tCmdSrc_Sts_Normal \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_Normal\"])[0].value\n\n\tif (Sts_OoS \u003d\u003d True):\n\t\tindex \u003d 2 \n\telif (CmdSrc_Sts_Normal \u003d\u003d True):\n\t\tindex \u003d 0\n\telse:\n\t\tindex \u003d 1\n\n\tif (index \u003e 0):\n\t\tret_value \u003d True\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Sts_OoS\") ||\r\ntag({view.params.tagPath} + \"/CmdSrc/Sts_Normal\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_BC_CmdSrcNotNorm\",\n\t 2: \"Sts_CmdSrcOoS\"\n\t}\n\t\t\t\n\tSts_OoS \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_OoS\"])[0].value\n\tCmdSrc_Sts_Normal \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_Normal\"])[0].value\n\n\tif (Sts_OoS \u003d\u003d True):\n\t\tindex \u003d 2 \n\telif (CmdSrc_Sts_Normal \u003d\u003d True):\n\t\tindex \u003d 0\n\telse:\n\t\tindex \u003d 1\n\n\ttry:\n\t\tret_value \u003d images_path.format(images[index])\n\texcept:\n\t\tret_value \u003d images_path.format(\"Error\")\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "{view.params.tagPath}", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "{/root.meta.tooltip.text}", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}" + }, + "viewPath": "Plant PAX/Popups/P_Motor/P_Motor", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "root", + "tooltip": {} + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_Tag\") + \" - \" + tag({view.params.tagPath}+\"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_PumpU/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_PumpU/resource.json new file mode 100644 index 0000000..c1d1426 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_PumpU/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "099cb0aa7d7944a1b1c8eef9fbc793f0c33b29166f3b6390bc147a56712ea418", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:18Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_PumpU/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_PumpU/thumbnail.png new file mode 100644 index 0000000..7789474 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_PumpU/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_PumpU/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_PumpU/view.json new file mode 100644 index 0000000..1d8f8bd --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_Motor/P_Motor_PumpU/view.json @@ -0,0 +1,561 @@ +{ + "custom": {}, + "params": { + "showLabel": true, + "tagPath": "[default]Test_Tags/P_Motor" + }, + "propConfig": { + "params.showLabel": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 75, + "width": 140 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "AlarmFrame" + }, + "position": { + "height": 67, + "width": 124, + "x": 8, + "y": 5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d value\n\t\n\tcolors \u003d [\"\",\n\t\"#FFFFFF\",\n\t\"#916AAD\",\n\t\"#916AAD\",\n\t\"#F5DF1B\",\n\t\"#F5DF1B\",\n\t\"#EC8729\",\n\t\"#EC8729\",\n\t\"#E22028\",\n\t\"#E22028\",\n\t\"\"]\n\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d colors[Val_NotifyAll]\n\t\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 3 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 14, + "width": 140, + "y": 59 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.showLabel" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#808080", + "borderStyle": "none", + "borderWidth": "1px", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIndicator" + }, + "position": { + "height": 16, + "width": 16, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotReady" + }, + "position": { + "height": 16, + "width": 16, + "x": 84, + "y": 43 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_NotRdy\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_NotReady.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "MaintBypass" + }, + "position": { + "height": 16, + "width": 16, + "x": 66, + "y": 44 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_MaintByp\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_MaintByp.png" + }, + "type": "ia.display.image" + }, + { + "children": [ + { + "meta": { + "name": "Polygon" + }, + "position": { + "height": 11, + "rotate": { + "angle": 90 + }, + "width": 25, + "x": 16 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.motorColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Base" + }, + "position": { + "height": 9, + "width": 35, + "y": 29 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.motorColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderTopLeftRadius": 20, + "borderTopRightRadius": 20, + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "OutsideEllipse" + }, + "position": { + "height": 34, + "width": 34 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.motorColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "InsideEllipse" + }, + "position": { + "height": 14, + "width": 14, + "x": 10, + "y": 10 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.motorColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "MotorGroup" + }, + "position": { + "height": 38, + "width": 42, + "x": 27, + "y": 21 + }, + "propConfig": { + "custom.motorColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_Sts\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_Sts \u003d value\n\t\n\tcolors \u003d {\n\t0: \"#93C2E4\",\n\t1: \"#808080\",\n\t2: \"#F0F0F0\",\n\t3: \"#F0F0F0\",\n\t4: \"#F0F0F0\",\n\t5: \"#93C2E4\",\n\t6: \"#93C2E4\",\n\t7: \"#93C2E4\",\n\t8: \"#93C2E4\",\n\t9: \"#93C2E4\",\n\t10: \"#93C2E4\",\n\t14: \"#93C2E4\"\n\t}\n\t\n\ttry:\n\t\tret_value \u003d colors[Val_Sts]\n\texcept:\n\t\tret_value \u003d \"#FFC0FF\"\n\t\n\t\n\treturn ret_value\n", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Status" + }, + "position": { + "height": 14, + "width": 73, + "x": 65, + "y": 7 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.showLabel" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_Sts\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_Sts \u003d value\n\t\n\tstates \u003d {\n\t0: \"Unknown\",\n\t1: \"Stopped\",\n\t2: \"Running\",\n\t5: \"Starting\",\n\t8: \"Jogging\",\n\t10: \"Stopping\",\n\t14: \"Horn\"\n\t}\n\t\n\ttry:\n\t\tret_value \u003d states[Val_Sts]\n\texcept:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#808080", + "borderStyle": "none", + "borderWidth": "1px", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "left" + }, + "textStyle": { + "fontSize": "8pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Exceptions" + }, + "position": { + "height": 16, + "width": 16, + "x": 7, + "y": 18 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Err\") ||\r\ntag({view.params.tagPath} + \"/SrcQ\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_Simulated\",\n\t 2: \"Sts_CommUncertain\",\n\t 3: \"Sts_CommBad\",\n\t 4: \"Sts_BC_BadCfg\",\n\t}\n\t\t\t\n\tSts_Error \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Error\"])[0].value\n\tindex \u003d 0\n\t\n\tSrcQ3 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 8) \u003d\u003d 8\n\tSrcQ4 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 16) \u003d\u003d 16\n\tSrcQ5 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 32) \u003d\u003d 32\n\n\tif (Sts_Error \u003d\u003d True):\n\t\tindex \u003d 4 \n\telif (SrcQ5 \u003d\u003d True):\n\t\tindex \u003d 3\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 2\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 1\n\telse:\n\t\tindex \u003d 0\n\n\tif (index \u003e 0):\n\t\tret_value \u003d True\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Err\") ||\r\ntag({view.params.tagPath} + \"/SrcQ\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_Simulated\",\n\t 2: \"Sts_CommUncertain\",\n\t 3: \"Sts_CommBad\",\n\t 4: \"Sts_BC_BadCfg\",\n\t}\n\t\t\t\n\tSts_Error \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Error\"])[0].value\n\tindex \u003d 0\n\t\n\tSrcQ3 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 8) \u003d\u003d 8\n\tSrcQ4 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 16) \u003d\u003d 16\n\tSrcQ5 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 32) \u003d\u003d 32\n\n\tif (Sts_Error \u003d\u003d True):\n\t\tindex \u003d 4 \n\telif (SrcQ5 \u003d\u003d True):\n\t\tindex \u003d 3\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 2\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 1\n\telse:\n\t\tindex \u003d 0\n\n\ttry:\n\t\tret_value \u003d images_path.format(images[index])\n\texcept:\n\t\tret_value \u003d images_path.format(\"Error\")\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "CmdSrcExceptions" + }, + "position": { + "height": 16, + "width": 16, + "x": 7, + "y": 41 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Sts_OoS\") ||\r\ntag({view.params.tagPath} + \"/CmdSrc/Sts_Normal\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tindex \u003d 0\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_BC_CmdSrcNotNorm\",\n\t 2: \"Sts_CmdSrcOoS\"\n\t}\n\t\t\t\n\tSts_OoS \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_OoS\"])[0].value\n\tCmdSrc_Sts_Normal \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_Normal\"])[0].value\n\n\tif (Sts_OoS \u003d\u003d True):\n\t\tindex \u003d 2 \n\telif (CmdSrc_Sts_Normal \u003d\u003d True):\n\t\tindex \u003d 0\n\telse:\n\t\tindex \u003d 1\n\n\tif (index \u003e 0):\n\t\tret_value \u003d True\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Sts_OoS\") ||\r\ntag({view.params.tagPath} + \"/CmdSrc/Sts_Normal\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_BC_CmdSrcNotNorm\",\n\t 2: \"Sts_CmdSrcOoS\"\n\t}\n\t\t\t\n\tSts_OoS \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_OoS\"])[0].value\n\tCmdSrc_Sts_Normal \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_Normal\"])[0].value\n\n\tif (Sts_OoS \u003d\u003d True):\n\t\tindex \u003d 2 \n\telif (CmdSrc_Sts_Normal \u003d\u003d True):\n\t\tindex \u003d 0\n\telse:\n\t\tindex \u003d 1\n\n\ttry:\n\t\tret_value \u003d images_path.format(images[index])\n\texcept:\n\t\tret_value \u003d images_path.format(\"Error\")\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "{view.params.tagPath}", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "{/root.meta.tooltip.text}", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}" + }, + "viewPath": "Plant PAX/Popups/P_Motor/P_Motor", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "root", + "tooltip": {} + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_Tag\") + \" - \" + tag({view.params.tagPath}+\"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_PIDE/P_PIDE/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_PIDE/P_PIDE/resource.json new file mode 100644 index 0000000..68ccead --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_PIDE/P_PIDE/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "6256a1beb123a52d2e560a0f5ed00b0fdacb93e0e1603d9d5e8591577d42f6fd", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:18Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_PIDE/P_PIDE/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_PIDE/P_PIDE/thumbnail.png new file mode 100644 index 0000000..3364603 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_PIDE/P_PIDE/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_PIDE/P_PIDE/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_PIDE/P_PIDE/view.json new file mode 100644 index 0000000..83b3273 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_PIDE/P_PIDE/view.json @@ -0,0 +1,604 @@ +{ + "custom": {}, + "params": { + "frameColor": "#91919161", + "showFrame": true, + "showLabel": true, + "tagPath": "[default]Test_Tags/Flow_PID" + }, + "propConfig": { + "params.frameColor": { + "paramDirection": "input", + "persistent": true + }, + "params.showFrame": { + "paramDirection": "input", + "persistent": true + }, + "params.showLabel": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 77, + "width": 143 + }, + "dropConfig": { + "udts": [ + { + "action": "path", + "param": "tagPath", + "type": "Plant PAX/P_Ain" + } + ] + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Frame" + }, + "position": { + "height": 75, + "width": 139, + "x": 2, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.showFrame" + }, + "type": "property" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "view.params.frameColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "godsAlarmPolygon" + }, + "position": { + "height": "72px", + "width": "134px", + "x": "5px", + "y": "5px" + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d value\n\t\n\tcolors \u003d [\"\",\n\t\"#FFFFFF\",\n\t\"#916AAD\",\n\t\"#916AAD\",\n\t\"#F5DF1B\",\n\t\"#F5DF1B\",\n\t\"#EC8729\",\n\t\"#EC8729\",\n\t\"#E22028\",\n\t\"#E22028\",\n\t\"\"]\n\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d colors[Val_NotifyAll]\n\t\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 5 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "godsLabel" + }, + "position": { + "height": 14, + "width": 140, + "x": 3, + "y": 7 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#808080", + "borderStyle": "none", + "borderWidth": "1px", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "center" + }, + "textStyle": { + "color": "#3F3F3F", + "fontFamily": "Arial", + "fontSize": "8pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "godsData_CV_Value", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": "18px", + "width": "66px", + "x": "13px", + "y": "57px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Val_CVOut\t\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tCfg_CVDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CVDecPlcs\"] )[0].value\n\t\n\tif (Cfg_CVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_CVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/Val_CVOut\"), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#2A4191", + "fontWeight": "bold", + "textAlign": "right" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "11pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "godsData_CV_Label" + }, + "position": { + "height": 13, + "width": 17, + "x": 7, + "y": 60 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#808080", + "borderStyle": "none", + "borderWidth": "1px", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "center" + }, + "text": "CV", + "textStyle": { + "color": "#3F3F3F", + "fontFamily": "Arial", + "fontSize": "8pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "godsData_CV_EU", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 14, + "width": 56, + "x": 82, + "y": 58 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Cfg_CVEU\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#919191", + "fontSize": "8pt", + "fontWeight": "bold", + "outlineStyle": "none", + "paddingLeft": 0, + "textAlign": "left" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "8pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "godsData_SP_Value", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": "18px", + "width": "66px", + "x": "13px", + "y": "39px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Val_SP\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tCfg_PVDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_PVDecPlcs\"] )[0].value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/Val_SP\"), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#2A4191", + "fontWeight": "bold", + "textAlign": "right" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "11pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "godsData_SP_Label" + }, + "position": { + "height": 13, + "width": 17, + "x": 7, + "y": 42 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#808080", + "borderStyle": "none", + "borderWidth": "1px", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "center" + }, + "text": "SP", + "textStyle": { + "color": "#3F3F3F", + "fontFamily": "Arial", + "fontSize": "8pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "godsData_SP_EU", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 14, + "width": 56, + "x": 82, + "y": 24 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Cfg_PVEU\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#919191", + "fontSize": "8pt", + "fontWeight": "bold", + "outlineStyle": "none", + "paddingLeft": 0, + "textAlign": "left" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "8pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "godsData_PV_Label" + }, + "position": { + "height": 13, + "width": 17, + "x": 7, + "y": 24 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#808080", + "borderStyle": "none", + "borderWidth": "1px", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "center" + }, + "text": "PV", + "textStyle": { + "color": "#3F3F3F", + "fontFamily": "Arial", + "fontSize": "8pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "godsData_PV_Value", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": "18px", + "width": "66px", + "x": "13px", + "y": "21px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Val_PV\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tCfg_PVDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_PVDecPlcs\"] )[0].value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/Val_PV\"), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#2A4191", + "fontWeight": "bold", + "textAlign": "right" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "11pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "godsData_PV_EU", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 14, + "width": 56, + "x": 82, + "y": 42 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Cfg_PVEU\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#919191", + "fontSize": "8pt", + "fontWeight": "bold", + "outlineStyle": "none", + "paddingLeft": 0, + "textAlign": "left" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "8pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "msi_AlarmIndicator" + }, + "position": { + "height": 16, + "width": 16, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "{view.params.tagPath}", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "{/root.meta.tooltip.text}", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}" + }, + "viewPath": "Plant PAX/Popups/P_PIDE/P_PIDE", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "root", + "tooltip": {} + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_Tag\") + \" - \" + tag({view.params.tagPath}+\"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_VSD/P_VSD_MotorD/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_VSD/P_VSD_MotorD/resource.json new file mode 100644 index 0000000..1a58ece --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_VSD/P_VSD_MotorD/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "c8580645d773d596a215c8649f15bcf338cce37cd63027ad8567360bc53179bb", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:18Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_VSD/P_VSD_MotorD/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_VSD/P_VSD_MotorD/thumbnail.png new file mode 100644 index 0000000..a380bef Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_VSD/P_VSD_MotorD/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_VSD/P_VSD_MotorD/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_VSD/P_VSD_MotorD/view.json new file mode 100644 index 0000000..d63353a --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_VSD/P_VSD_MotorD/view.json @@ -0,0 +1,685 @@ +{ + "custom": {}, + "params": { + "showLabel": true, + "tagPath": "[default]Test_Tags/P_VSD" + }, + "propConfig": { + "params.showLabel": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 96, + "width": 142 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "AlarmFrame" + }, + "position": { + "height": 86, + "width": 125, + "x": 9, + "y": 5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d value\n\t\n\tcolors \u003d [\"\",\n\t\"#FFFFFF\",\n\t\"#916AAD\",\n\t\"#916AAD\",\n\t\"#F5DF1B\",\n\t\"#F5DF1B\",\n\t\"#EC8729\",\n\t\"#EC8729\",\n\t\"#E22028\",\n\t\"#E22028\",\n\t\"\"]\n\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d colors[Val_NotifyAll]\n\t\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 3 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 14, + "width": 140, + "y": 59 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.showLabel" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#808080", + "borderStyle": "none", + "borderWidth": "1px", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIndicator" + }, + "position": { + "height": 16, + "width": 16, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotReady" + }, + "position": { + "height": 16, + "width": 16, + "x": 63, + "y": 23 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_NotRdy\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_NotReady.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "MaintBypass" + }, + "position": { + "height": 16, + "width": 16, + "x": 63, + "y": 44 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_MaintByp\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_MaintByp.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Exceptions" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 23 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Err\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\t\t\n\tSts_Error \u003d value\n\tindex \u003d 0\n\t\n\tSrcQ3 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 8) \u003d\u003d 8\n\tSrcQ4 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 16) \u003d\u003d 16\n\tSrcQ5 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 32) \u003d\u003d 32\n\n\tif (Sts_Error \u003d\u003d True):\n\t\tindex \u003d 4 \n\telif (SrcQ5 \u003d\u003d True):\n\t\tindex \u003d 3\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 2\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 1\n\telse:\n\t\tindex \u003d 0\n\n\tif (index \u003e 0):\n\t\tret_val \u003d True\t\t\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Err\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_Simulated\",\n\t 2: \"Sts_CommUncertain\",\n\t 3: \"Sts_CommBad\",\n\t 4: \"Sts_BC_BadCfg\",\n\t}\n\t\t\t\n\tSts_Error \u003d value\n\tindex \u003d 0\n\t\n\tSrcQ3 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 8) \u003d\u003d 8\n\tSrcQ4 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 16) \u003d\u003d 16\n\tSrcQ5 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 32) \u003d\u003d 32\n\n\tif (Sts_Error \u003d\u003d True):\n\t\tindex \u003d 4 \n\telif (SrcQ5 \u003d\u003d True):\n\t\tindex \u003d 3\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 2\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 1\n\telse:\n\t\tindex \u003d 0\n\n\ttry:\n\t\tret_value \u003d images_path.format(images[index])\n\texcept:\n\t\tret_value \u003d images_path.format(\"Error\")\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "CmdSrcExceptions" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 44 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_OoS\") || tag({view.params.tagPath} + \"/CmdSrc/Sts_Normal\") " + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\t\t\n\tSts_OoS \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_OoS\"])[0].value\n\tindex \u003d 0\n\tCmdSrc_Sts_Normal \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_Normal\"])[0].value\n\n\tif (Sts_OoS \u003d\u003d True):\n\t\tindex \u003d 2 \n\telif (CmdSrc_Sts_Normal \u003d\u003d True):\n\t\tindex \u003d 0\n\telse:\n\t\tindex \u003d 1\n\n\tif (index \u003e 0):\n\t\tret_value \u003d True\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_OoS\") || tag({view.params.tagPath} + \"/CmdSrc/Sts_Normal\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_BC_CmdSrcNotNorm\",\n\t 2: \"Sts_CmdSrcOoS\"\n\t}\n\t\t\t\n\tSts_OoS \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_OoS\"])[0].value\n\tindex \u003d 0\n\tCmdSrc_Sts_Normal \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_Normal\"])[0].value\n\n\tif (Sts_OoS \u003d\u003d True):\n\t\tindex \u003d 2 \n\telif (CmdSrc_Sts_Normal \u003d\u003d True):\n\t\tindex \u003d 0\n\telse:\n\t\tindex \u003d 1\n\n\ttry:\n\t\tret_value \u003d images_path.format(images[index])\n\texcept:\n\t\tret_value \u003d images_path.format(\"Error\")\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Status" + }, + "position": { + "height": 14, + "width": 81, + "x": 59, + "y": 6 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.showLabel" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "case(tag({view.params.tagPath} + \"/Val_Sts\"), 0, \"Unknown\", 1, \"Stopped\", 2, \"Running\" + tag({view.params.tagPath} + \"/Cfg_FwdText\"),\r\n3, \"Running\" + tag({view.params.tagPath} + \"/Cfg_RevText\"), 5, \"Starting\" + tag({view.params.tagPath} + \"/Cfg_FwdText\"), \r\n6, \"Starting\" + tag({view.params.tagPath} + \"/Cfg_RevText\"), 8, \"Jogging\" + tag({view.params.tagPath} + \"/Cfg_FwdText\"),\r\n9, \"Jogging\" + tag({view.params.tagPath} + \"/Cfg_RevText\"), 10, \"Stopping\", 14, \"Horn\", \"Error\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#808080", + "borderStyle": "none", + "borderWidth": "1px", + "color": "#3F3F3F", + "fontSize": 8, + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "left" + }, + "textStyle": { + "fontSize": "8pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "godsData_Value", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 18, + "width": 66, + "x": 8, + "y": 73 + }, + "propConfig": { + "custom.decPlcs": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_DecPlcs\")" + }, + "type": "expr" + } + }, + "custom.numberFormat": { + "binding": { + "config": { + "expression": "case({this.custom.decPlcs}, 0, \"\", 1, \"0\", 2, \"00\", 3, \"000\", 4, \"0000\", 5, \"00000\", 6, \"000000\", \"00\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "numberformat(tag({view.params.tagPath}+ \"/Val_SpeedFdbk\"), \"#0.\" + {this.custom.numberFormat})" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#2A4191", + "fontWeight": "bold", + "textAlign": "center" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": 14.667 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "godsData_EU", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 14, + "width": 56, + "x": 77, + "y": 76 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Cfg_SpeedFdbkEU\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#919191", + "fontWeight": "bold", + "outlineStyle": "none", + "paddingLeft": 5, + "textAlign": "left" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": 14.667 + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Line2" + }, + "position": { + "height": 9, + "width": 3, + "x": 56, + "y": 16 + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Line1" + }, + "position": { + "height": 1, + "width": 7, + "x": 51, + "y": 19 + }, + "props": { + "style": { + "backgroundColor": "#3F3F3F", + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Base" + }, + "position": { + "height": 9, + "rotate": { + "angle": 180 + }, + "width": 38, + "x": 8 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.motorColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderTopLeftRadius": 20, + "borderTopRightRadius": 20, + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Middle" + }, + "position": { + "height": 30, + "width": 40, + "x": 7, + "y": 5 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.motorColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "RightWedge" + }, + "position": { + "height": 30, + "width": 9, + "x": 45, + "y": 5 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.motorColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomRightRadius": 2000, + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderTopRightRadius": 2000, + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftWedge" + }, + "position": { + "height": 30, + "rotate": { + "angle": 180 + }, + "width": 9, + "x": 0.002400000000000061, + "y": 5.0024 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.motorColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomRightRadius": 2000, + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderTopRightRadius": 2000, + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "MotorGroup" + }, + "position": { + "height": 35, + "rotate": { + "angle": 90 + }, + "width": 59, + "x": 9, + "y": 13 + }, + "propConfig": { + "custom.motorColor": { + "binding": { + "config": { + "expression": "case(tag({view.params.tagPath} + \"/Val_Sts\"), \t0, \"#93C2E4\",\r\n1, \"#808080\",\r\n2, \"#F0F0F0\",\r\n3, \"#F0F0F0\",\r\n4, \"#F0F0F0\",\r\n5, \"#93C2E4\",\r\n6, \"#93C2E4\",\r\n7, \"#93C2E4\",\r\n8, \"#93C2E4\",\r\n9, \"#93C2E4\",\r\n10, \"#93C2E4\",\r\n14, \"#93C2E4\",\r\n \"#FFC0FF\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "{view.params.tagPath}", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "{/root.meta.tooltip.text}", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}" + }, + "viewPath": "Plant PAX/Popups/P_VSD/P_VSD", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "root", + "tooltip": {} + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_Tag\") + \" - \" + tag({view.params.tagPath}+\"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_VSD/P_VSD_MotorR/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_VSD/P_VSD_MotorR/resource.json new file mode 100644 index 0000000..268fbc7 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_VSD/P_VSD_MotorR/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "c45ea4270f593f20e27d8030798bb6b0dab412c928c0bddf27b954c4f3333582", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:18Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_VSD/P_VSD_MotorR/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_VSD/P_VSD_MotorR/thumbnail.png new file mode 100644 index 0000000..4591688 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_VSD/P_VSD_MotorR/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_VSD/P_VSD_MotorR/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_VSD/P_VSD_MotorR/view.json new file mode 100644 index 0000000..e99c0c1 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_VSD/P_VSD_MotorR/view.json @@ -0,0 +1,671 @@ +{ + "custom": {}, + "params": { + "showLabel": true, + "tagPath": "[default]Test_Tags/P_VSD" + }, + "propConfig": { + "params.showLabel": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 96, + "width": 142 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "AlarmFrame" + }, + "position": { + "height": 86, + "width": 125, + "x": 9, + "y": 5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d value\n\t\n\tcolors \u003d [\"\",\n\t\"#FFFFFF\",\n\t\"#916AAD\",\n\t\"#916AAD\",\n\t\"#F5DF1B\",\n\t\"#F5DF1B\",\n\t\"#EC8729\",\n\t\"#EC8729\",\n\t\"#E22028\",\n\t\"#E22028\",\n\t\"\"]\n\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d colors[Val_NotifyAll]\n\t\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 3 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 14, + "width": 140, + "y": 59 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.showLabel" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#808080", + "borderStyle": "none", + "borderWidth": "1px", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIndicator" + }, + "position": { + "height": 16, + "width": 16, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotReady" + }, + "position": { + "height": 16, + "width": 16, + "x": 103, + "y": 13 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_NotRdy\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_NotReady.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "MaintBypass" + }, + "position": { + "height": 16, + "width": 16, + "x": 103, + "y": 44 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_MaintByp\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_MaintByp.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Exceptions" + }, + "position": { + "height": 16, + "width": 16, + "x": 19, + "y": 13 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Err\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\t\t\n\tSts_Error \u003d value\n\tindex \u003d 0\n\t\n\tSrcQ3 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 8) \u003d\u003d 8\n\tSrcQ4 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 16) \u003d\u003d 16\n\tSrcQ5 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 32) \u003d\u003d 32\n\n\tif (Sts_Error \u003d\u003d True):\n\t\tindex \u003d 4 \n\telif (SrcQ5 \u003d\u003d True):\n\t\tindex \u003d 3\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 2\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 1\n\telse:\n\t\tindex \u003d 0\n\n\tif (index \u003e 0):\n\t\tret_val \u003d True\t\t\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Err\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_Simulated\",\n\t 2: \"Sts_CommUncertain\",\n\t 3: \"Sts_CommBad\",\n\t 4: \"Sts_BC_BadCfg\",\n\t}\n\t\t\t\n\tSts_Error \u003d value\n\tindex \u003d 0\n\t\n\tSrcQ3 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 8) \u003d\u003d 8\n\tSrcQ4 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 16) \u003d\u003d 16\n\tSrcQ5 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 32) \u003d\u003d 32\n\n\tif (Sts_Error \u003d\u003d True):\n\t\tindex \u003d 4 \n\telif (SrcQ5 \u003d\u003d True):\n\t\tindex \u003d 3\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 2\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 1\n\telse:\n\t\tindex \u003d 0\n\n\ttry:\n\t\tret_value \u003d images_path.format(images[index])\n\texcept:\n\t\tret_value \u003d images_path.format(\"Error\")\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "CmdSrcExceptions" + }, + "position": { + "height": 16, + "width": 16, + "x": 19, + "y": 44 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_OoS\") || tag({view.params.tagPath} + \"/CmdSrc/Sts_Normal\") " + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\t\t\n\tSts_OoS \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_OoS\"])[0].value\n\tindex \u003d 0\n\tCmdSrc_Sts_Normal \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_Normal\"])[0].value\n\n\tif (Sts_OoS \u003d\u003d True):\n\t\tindex \u003d 2 \n\telif (CmdSrc_Sts_Normal \u003d\u003d True):\n\t\tindex \u003d 0\n\telse:\n\t\tindex \u003d 1\n\n\tif (index \u003e 0):\n\t\tret_value \u003d True\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_OoS\") || tag({view.params.tagPath} + \"/CmdSrc/Sts_Normal\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_BC_CmdSrcNotNorm\",\n\t 2: \"Sts_CmdSrcOoS\"\n\t}\n\t\t\t\n\tSts_OoS \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_OoS\"])[0].value\n\tindex \u003d 0\n\tCmdSrc_Sts_Normal \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_Normal\"])[0].value\n\n\tif (Sts_OoS \u003d\u003d True):\n\t\tindex \u003d 2 \n\telif (CmdSrc_Sts_Normal \u003d\u003d True):\n\t\tindex \u003d 0\n\telse:\n\t\tindex \u003d 1\n\n\ttry:\n\t\tret_value \u003d images_path.format(images[index])\n\texcept:\n\t\tret_value \u003d images_path.format(\"Error\")\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Status" + }, + "position": { + "height": 14, + "width": 140, + "y": 6 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.showLabel" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "case(tag({view.params.tagPath} + \"/Val_Sts\"), 0, \"Unknown\", 1, \"Stopped\", 2, \"Running\" + tag({view.params.tagPath} + \"/Cfg_FwdText\"),\r\n3, \"Running\" + tag({view.params.tagPath} + \"/Cfg_RevText\"), 5, \"Starting\" + tag({view.params.tagPath} + \"/Cfg_FwdText\"), \r\n6, \"Starting\" + tag({view.params.tagPath} + \"/Cfg_RevText\"), 8, \"Jogging\" + tag({view.params.tagPath} + \"/Cfg_FwdText\"),\r\n9, \"Jogging\" + tag({view.params.tagPath} + \"/Cfg_RevText\"), 10, \"Stopping\", 14, \"Horn\", \"Error\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#808080", + "borderStyle": "none", + "borderWidth": "1px", + "color": "#3F3F3F", + "fontSize": 8, + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "center" + }, + "textStyle": { + "fontSize": "8pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "godsData_EU", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 14, + "width": 56, + "x": 77, + "y": 76 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Cfg_SpeedFdbkEU\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#919191", + "fontWeight": "bold", + "outlineStyle": "none", + "paddingLeft": 5, + "textAlign": "left" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": 14.667 + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Line2" + }, + "position": { + "height": 9, + "width": 3, + "x": 56, + "y": 11 + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Line1" + }, + "position": { + "height": 1, + "width": 7, + "x": 51, + "y": 14 + }, + "props": { + "style": { + "backgroundColor": "#3F3F3F", + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Base" + }, + "position": { + "height": 9, + "width": 38, + "x": 8, + "y": 26 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.motorColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderTopLeftRadius": 20, + "borderTopRightRadius": 20, + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Middle" + }, + "position": { + "height": 30, + "width": 40, + "x": 7 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.motorColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "RightWedge" + }, + "position": { + "height": 30, + "width": 9, + "x": 45 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.motorColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomRightRadius": 2000, + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderTopRightRadius": 2000, + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftWedge" + }, + "position": { + "height": 30, + "rotate": { + "angle": 180 + }, + "width": 9, + "x": 0.0023999999999999577, + "y": 0.0024 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.motorColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomRightRadius": 2000, + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderTopRightRadius": 2000, + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "MotorGroup" + }, + "position": { + "height": 35, + "width": 59, + "x": 41, + "y": 21 + }, + "propConfig": { + "custom.motorColor": { + "binding": { + "config": { + "expression": "case(tag({view.params.tagPath} + \"/Val_Sts\"), \t0, \"#93C2E4\",\r\n1, \"#808080\",\r\n2, \"#F0F0F0\",\r\n3, \"#F0F0F0\",\r\n4, \"#F0F0F0\",\r\n5, \"#93C2E4\",\r\n6, \"#93C2E4\",\r\n7, \"#93C2E4\",\r\n8, \"#93C2E4\",\r\n9, \"#93C2E4\",\r\n10, \"#93C2E4\",\r\n14, \"#93C2E4\",\r\n \"#FFC0FF\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "godsData_Value", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 18, + "width": 66, + "x": 8, + "y": 73 + }, + "propConfig": { + "custom.decPlcs": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_DecPlcs\")" + }, + "type": "expr" + } + }, + "custom.numberFormat": { + "binding": { + "config": { + "expression": "case({this.custom.decPlcs}, 0, \"\", 1, \"0\", 2, \"00\", 3, \"000\", 4, \"0000\", 5, \"00000\", 6, \"000000\", \"00\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "numberformat(tag({view.params.tagPath}+ \"/Val_SpeedFdbk\"), \"#0.\" + {this.custom.numberFormat})" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#2A4191", + "fontWeight": "bold", + "textAlign": "right" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": 14.667 + } + }, + "type": "ia.display.label" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "{view.params.tagPath}", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "{/root.meta.tooltip.text}", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}" + }, + "viewPath": "Plant PAX/Popups/P_VSD/P_VSD", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "root", + "tooltip": {} + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_Tag\") + \" - \" + tag({view.params.tagPath}+\"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_VSD/P_VSD_MotorU/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_VSD/P_VSD_MotorU/resource.json new file mode 100644 index 0000000..0d8ff38 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_VSD/P_VSD_MotorU/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "039029d5dac3bce63d0561ad8e2b27bdb5a794b4db0dc557ef1a0b43570e61f5", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:18Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_VSD/P_VSD_MotorU/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_VSD/P_VSD_MotorU/thumbnail.png new file mode 100644 index 0000000..14d7605 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_VSD/P_VSD_MotorU/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_VSD/P_VSD_MotorU/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_VSD/P_VSD_MotorU/view.json new file mode 100644 index 0000000..0040ec5 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_VSD/P_VSD_MotorU/view.json @@ -0,0 +1,676 @@ +{ + "custom": {}, + "params": { + "showLabel": true, + "tagPath": "[default]Test_Tags/P_VSD" + }, + "propConfig": { + "params.showLabel": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 96, + "width": 142 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "AlarmFrame" + }, + "position": { + "height": 86, + "width": 125, + "x": 9, + "y": 5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d value\n\t\n\tcolors \u003d [\"\",\n\t\"#FFFFFF\",\n\t\"#916AAD\",\n\t\"#916AAD\",\n\t\"#F5DF1B\",\n\t\"#F5DF1B\",\n\t\"#EC8729\",\n\t\"#EC8729\",\n\t\"#E22028\",\n\t\"#E22028\",\n\t\"\"]\n\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d colors[Val_NotifyAll]\n\t\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 3 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 14, + "width": 140, + "y": 59 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.showLabel" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#808080", + "borderStyle": "none", + "borderWidth": "1px", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIndicator" + }, + "position": { + "height": 16, + "width": 16, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotReady" + }, + "position": { + "height": 16, + "width": 16, + "x": 63, + "y": 23 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_NotRdy\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_NotReady.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "MaintBypass" + }, + "position": { + "height": 16, + "width": 16, + "x": 63, + "y": 44 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_MaintByp\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_MaintByp.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Exceptions" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 23 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Err\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\t\t\n\tSts_Error \u003d value\n\tindex \u003d 0\n\t\n\tSrcQ3 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 8) \u003d\u003d 8\n\tSrcQ4 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 16) \u003d\u003d 16\n\tSrcQ5 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 32) \u003d\u003d 32\n\n\tif (Sts_Error \u003d\u003d True):\n\t\tindex \u003d 4 \n\telif (SrcQ5 \u003d\u003d True):\n\t\tindex \u003d 3\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 2\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 1\n\telse:\n\t\tindex \u003d 0\n\n\tif (index \u003e 0):\n\t\tret_val \u003d True\t\t\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Err\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_Simulated\",\n\t 2: \"Sts_CommUncertain\",\n\t 3: \"Sts_CommBad\",\n\t 4: \"Sts_BC_BadCfg\",\n\t}\n\t\t\t\n\tSts_Error \u003d value\n\tindex \u003d 0\n\t\n\tSrcQ3 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 8) \u003d\u003d 8\n\tSrcQ4 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 16) \u003d\u003d 16\n\tSrcQ5 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 32) \u003d\u003d 32\n\n\tif (Sts_Error \u003d\u003d True):\n\t\tindex \u003d 4 \n\telif (SrcQ5 \u003d\u003d True):\n\t\tindex \u003d 3\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 2\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 1\n\telse:\n\t\tindex \u003d 0\n\n\ttry:\n\t\tret_value \u003d images_path.format(images[index])\n\texcept:\n\t\tret_value \u003d images_path.format(\"Error\")\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "CmdSrcExceptions" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 44 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_OoS\") || tag({view.params.tagPath} + \"/CmdSrc/Sts_Normal\") " + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\t\t\n\tSts_OoS \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_OoS\"])[0].value\n\tindex \u003d 0\n\tCmdSrc_Sts_Normal \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_Normal\"])[0].value\n\n\tif (Sts_OoS \u003d\u003d True):\n\t\tindex \u003d 2 \n\telif (CmdSrc_Sts_Normal \u003d\u003d True):\n\t\tindex \u003d 0\n\telse:\n\t\tindex \u003d 1\n\n\tif (index \u003e 0):\n\t\tret_value \u003d True\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_OoS\") || tag({view.params.tagPath} + \"/CmdSrc/Sts_Normal\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_BC_CmdSrcNotNorm\",\n\t 2: \"Sts_CmdSrcOoS\"\n\t}\n\t\t\t\n\tSts_OoS \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_OoS\"])[0].value\n\tindex \u003d 0\n\tCmdSrc_Sts_Normal \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_Normal\"])[0].value\n\n\tif (Sts_OoS \u003d\u003d True):\n\t\tindex \u003d 2 \n\telif (CmdSrc_Sts_Normal \u003d\u003d True):\n\t\tindex \u003d 0\n\telse:\n\t\tindex \u003d 1\n\n\ttry:\n\t\tret_value \u003d images_path.format(images[index])\n\texcept:\n\t\tret_value \u003d images_path.format(\"Error\")\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Status" + }, + "position": { + "height": 14, + "width": 81, + "x": 59, + "y": 6 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.showLabel" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "case(tag({view.params.tagPath} + \"/Val_Sts\"), 0, \"Unknown\", 1, \"Stopped\", 2, \"Running\" + tag({view.params.tagPath} + \"/Cfg_FwdText\"),\r\n3, \"Running\" + tag({view.params.tagPath} + \"/Cfg_RevText\"), 5, \"Starting\" + tag({view.params.tagPath} + \"/Cfg_FwdText\"), \r\n6, \"Starting\" + tag({view.params.tagPath} + \"/Cfg_RevText\"), 8, \"Jogging\" + tag({view.params.tagPath} + \"/Cfg_FwdText\"),\r\n9, \"Jogging\" + tag({view.params.tagPath} + \"/Cfg_RevText\"), 10, \"Stopping\", 14, \"Horn\", \"Error\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#808080", + "borderStyle": "none", + "borderWidth": "1px", + "color": "#3F3F3F", + "fontSize": 8, + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "left" + }, + "textStyle": { + "fontSize": "8pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "godsData_EU", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 14, + "width": 56, + "x": 77, + "y": 76 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Cfg_SpeedFdbkEU\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#919191", + "fontWeight": "bold", + "outlineStyle": "none", + "paddingLeft": 5, + "textAlign": "left" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": 14.667 + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Line2" + }, + "position": { + "height": 9, + "width": 3, + "x": 56, + "y": 11 + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Line1" + }, + "position": { + "height": 1, + "width": 7, + "x": 51, + "y": 14 + }, + "props": { + "style": { + "backgroundColor": "#3F3F3F", + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Base" + }, + "position": { + "height": 9, + "width": 38, + "x": 8, + "y": 26 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.motorColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderTopLeftRadius": 20, + "borderTopRightRadius": 20, + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Middle" + }, + "position": { + "height": 30, + "width": 40, + "x": 7 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.motorColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "RightWedge" + }, + "position": { + "height": 30, + "width": 9, + "x": 45 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.motorColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomRightRadius": 2000, + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderTopRightRadius": 2000, + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftWedge" + }, + "position": { + "height": 30, + "rotate": { + "angle": 180 + }, + "width": 9, + "x": 0.0023999999999999577, + "y": 0.0024 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.motorColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomRightRadius": 2000, + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderTopRightRadius": 2000, + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "MotorGroup" + }, + "position": { + "height": 35, + "rotate": { + "angle": -90 + }, + "width": 59, + "x": 11, + "y": 11 + }, + "propConfig": { + "custom.motorColor": { + "binding": { + "config": { + "expression": "case(tag({view.params.tagPath} + \"/Val_Sts\"), \t0, \"#93C2E4\",\r\n1, \"#808080\",\r\n2, \"#F0F0F0\",\r\n3, \"#F0F0F0\",\r\n4, \"#F0F0F0\",\r\n5, \"#93C2E4\",\r\n6, \"#93C2E4\",\r\n7, \"#93C2E4\",\r\n8, \"#93C2E4\",\r\n9, \"#93C2E4\",\r\n10, \"#93C2E4\",\r\n14, \"#93C2E4\",\r\n \"#FFC0FF\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "godsData_Value", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 18, + "width": 66, + "x": 8, + "y": 73 + }, + "propConfig": { + "custom.decPlcs": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_DecPlcs\")" + }, + "type": "expr" + } + }, + "custom.numberFormat": { + "binding": { + "config": { + "expression": "case({this.custom.decPlcs}, 0, \"\", 1, \"0\", 2, \"00\", 3, \"000\", 4, \"0000\", 5, \"00000\", 6, \"000000\", \"00\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "numberformat(tag({view.params.tagPath}+ \"/Val_SpeedFdbk\"), \"#0.\" + {this.custom.numberFormat})" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#2A4191", + "fontWeight": "bold", + "textAlign": "center" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": 14.667 + } + }, + "type": "ia.display.label" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "{view.params.tagPath}", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "{/root.meta.tooltip.text}", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}" + }, + "viewPath": "Plant PAX/Popups/P_VSD/P_VSD", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "root", + "tooltip": {} + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_Tag\") + \" - \" + tag({view.params.tagPath}+\"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_VSD/P_VSD_PumpL/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_VSD/P_VSD_PumpL/resource.json new file mode 100644 index 0000000..efc8d36 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_VSD/P_VSD_PumpL/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "55f9b206e19d3dd0a8059bdcb14038f91c80908a9fcb59d301492cbe6911633c", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:18Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_VSD/P_VSD_PumpL/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_VSD/P_VSD_PumpL/thumbnail.png new file mode 100644 index 0000000..216bf2b Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_VSD/P_VSD_PumpL/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_VSD/P_VSD_PumpL/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_VSD/P_VSD_PumpL/view.json new file mode 100644 index 0000000..2fe4d61 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_VSD/P_VSD_PumpL/view.json @@ -0,0 +1,631 @@ +{ + "custom": {}, + "params": { + "showLabel": true, + "tagPath": "[default]Test_Tags/P_VSD" + }, + "propConfig": { + "params.showLabel": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 96, + "width": 142 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "AlarmFrame" + }, + "position": { + "height": 86, + "width": 125, + "x": 9, + "y": 5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d value\n\t\n\tcolors \u003d [\"\",\n\t\"#FFFFFF\",\n\t\"#916AAD\",\n\t\"#916AAD\",\n\t\"#F5DF1B\",\n\t\"#F5DF1B\",\n\t\"#EC8729\",\n\t\"#EC8729\",\n\t\"#E22028\",\n\t\"#E22028\",\n\t\"\"]\n\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d colors[Val_NotifyAll]\n\t\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 3 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 14, + "width": 140, + "y": 59 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.showLabel" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#808080", + "borderStyle": "none", + "borderWidth": "1px", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIndicator" + }, + "position": { + "height": 16, + "width": 16, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotReady" + }, + "position": { + "height": 16, + "width": 16, + "x": 93, + "y": 20 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_NotRdy\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_NotReady.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "MaintBypass" + }, + "position": { + "height": 16, + "width": 16, + "x": 93, + "y": 44 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_MaintByp\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_MaintByp.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Exceptions" + }, + "position": { + "height": 16, + "width": 16, + "x": 15, + "y": 44 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Err\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\t\t\n\tSts_Error \u003d value\n\tindex \u003d 0\n\t\n\tSrcQ3 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 8) \u003d\u003d 8\n\tSrcQ4 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 16) \u003d\u003d 16\n\tSrcQ5 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 32) \u003d\u003d 32\n\n\tif (Sts_Error \u003d\u003d True):\n\t\tindex \u003d 4 \n\telif (SrcQ5 \u003d\u003d True):\n\t\tindex \u003d 3\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 2\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 1\n\telse:\n\t\tindex \u003d 0\n\n\tif (index \u003e 0):\n\t\tret_val \u003d True\t\t\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Err\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_Simulated\",\n\t 2: \"Sts_CommUncertain\",\n\t 3: \"Sts_CommBad\",\n\t 4: \"Sts_BC_BadCfg\",\n\t}\n\t\t\t\n\tSts_Error \u003d value\n\tindex \u003d 0\n\t\n\tSrcQ3 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 8) \u003d\u003d 8\n\tSrcQ4 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 16) \u003d\u003d 16\n\tSrcQ5 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 32) \u003d\u003d 32\n\n\tif (Sts_Error \u003d\u003d True):\n\t\tindex \u003d 4 \n\telif (SrcQ5 \u003d\u003d True):\n\t\tindex \u003d 3\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 2\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 1\n\telse:\n\t\tindex \u003d 0\n\n\ttry:\n\t\tret_value \u003d images_path.format(images[index])\n\texcept:\n\t\tret_value \u003d images_path.format(\"Error\")\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "CmdSrcExceptions" + }, + "position": { + "height": 16, + "width": 16, + "x": 35, + "y": 44 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_OoS\") || tag({view.params.tagPath} + \"/CmdSrc/Sts_Normal\") " + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\t\t\n\tSts_OoS \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_OoS\"])[0].value\n\tindex \u003d 0\n\tCmdSrc_Sts_Normal \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_Normal\"])[0].value\n\n\tif (Sts_OoS \u003d\u003d True):\n\t\tindex \u003d 2 \n\telif (CmdSrc_Sts_Normal \u003d\u003d True):\n\t\tindex \u003d 0\n\telse:\n\t\tindex \u003d 1\n\n\tif (index \u003e 0):\n\t\tret_value \u003d True\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_OoS\") || tag({view.params.tagPath} + \"/CmdSrc/Sts_Normal\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_BC_CmdSrcNotNorm\",\n\t 2: \"Sts_CmdSrcOoS\"\n\t}\n\t\t\t\n\tSts_OoS \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_OoS\"])[0].value\n\tindex \u003d 0\n\tCmdSrc_Sts_Normal \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_Normal\"])[0].value\n\n\tif (Sts_OoS \u003d\u003d True):\n\t\tindex \u003d 2 \n\telif (CmdSrc_Sts_Normal \u003d\u003d True):\n\t\tindex \u003d 0\n\telse:\n\t\tindex \u003d 1\n\n\ttry:\n\t\tret_value \u003d images_path.format(images[index])\n\texcept:\n\t\tret_value \u003d images_path.format(\"Error\")\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "children": [ + { + "meta": { + "name": "Polygon" + }, + "position": { + "height": 11, + "width": 25 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.motorColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Base" + }, + "position": { + "height": 9, + "width": 35, + "x": 7, + "y": 29 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.motorColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderTopLeftRadius": 20, + "borderTopRightRadius": 20, + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "OutsideEllipse" + }, + "position": { + "height": 34, + "width": 34, + "x": 7 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.motorColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "InsideEllipse" + }, + "position": { + "height": 14, + "width": 14, + "x": 17, + "y": 10 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.motorColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "MotorGroup" + }, + "position": { + "height": 38, + "width": 42, + "x": 47, + "y": 21 + }, + "propConfig": { + "custom.motorColor": { + "binding": { + "config": { + "expression": "case(tag({view.params.tagPath} + \"/Val_Sts\"), \t0, \"#93C2E4\",\r\n1, \"#808080\",\r\n2, \"#F0F0F0\",\r\n3, \"#F0F0F0\",\r\n4, \"#F0F0F0\",\r\n5, \"#93C2E4\",\r\n6, \"#93C2E4\",\r\n7, \"#93C2E4\",\r\n8, \"#93C2E4\",\r\n9, \"#93C2E4\",\r\n10, \"#93C2E4\",\r\n14, \"#93C2E4\",\r\n \"#FFC0FF\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Status" + }, + "position": { + "height": 14, + "width": 140, + "y": 6 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.showLabel" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "case(tag({view.params.tagPath} + \"/Val_Sts\"), 0, \"Unknown\", 1, \"Stopped\", 2, \"Running\" + tag({view.params.tagPath} + \"/Cfg_FwdText\"),\r\n3, \"Running\" + tag({view.params.tagPath} + \"/Cfg_RevText\"), 5, \"Starting\" + tag({view.params.tagPath} + \"/Cfg_FwdText\"), \r\n6, \"Starting\" + tag({view.params.tagPath} + \"/Cfg_RevText\"), 8, \"Jogging\" + tag({view.params.tagPath} + \"/Cfg_FwdText\"),\r\n9, \"Jogging\" + tag({view.params.tagPath} + \"/Cfg_RevText\"), 10, \"Stopping\", 14, \"Horn\", \"Error\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#808080", + "borderStyle": "none", + "borderWidth": "1px", + "color": "#3F3F3F", + "fontSize": 8, + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "center" + }, + "textStyle": { + "fontSize": "8pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "godsData_EU", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 14, + "width": 56, + "x": 77, + "y": 76 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Cfg_SpeedFdbkEU\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#919191", + "fontWeight": "bold", + "outlineStyle": "none", + "paddingLeft": 5, + "textAlign": "left" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": 14.667 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "godsData_Value", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 18, + "width": 66, + "x": 8, + "y": 73 + }, + "propConfig": { + "custom.decPlcs": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_DecPlcs\")" + }, + "type": "expr" + } + }, + "custom.numberFormat": { + "binding": { + "config": { + "expression": "case({this.custom.decPlcs}, 0, \"\", 1, \"0\", 2, \"00\", 3, \"000\", 4, \"0000\", 5, \"00000\", 6, \"000000\", \"00\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "numberformat(tag({view.params.tagPath}+ \"/Val_SpeedFdbk\"), \"#0.\" + {this.custom.numberFormat})" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#2A4191", + "fontWeight": "bold", + "textAlign": "center" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": 14.667 + } + }, + "type": "ia.display.label" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "{view.params.tagPath}", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "{/root.meta.tooltip.text}", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}" + }, + "viewPath": "Plant PAX/Popups/P_VSD/P_VSD", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "root", + "tooltip": {} + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_Tag\") + \" - \" + tag({view.params.tagPath}+\"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_VSD/P_VSD_PumpR/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_VSD/P_VSD_PumpR/resource.json new file mode 100644 index 0000000..8f688f2 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_VSD/P_VSD_PumpR/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "55b40184bebf77b875491dd2e590e20d34c79e96173979f2dfb61bdc63e420d1", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:18Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_VSD/P_VSD_PumpR/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_VSD/P_VSD_PumpR/thumbnail.png new file mode 100644 index 0000000..6d99ace Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_VSD/P_VSD_PumpR/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_VSD/P_VSD_PumpR/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_VSD/P_VSD_PumpR/view.json new file mode 100644 index 0000000..0c66d5e --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_VSD/P_VSD_PumpR/view.json @@ -0,0 +1,630 @@ +{ + "custom": {}, + "params": { + "showLabel": true, + "tagPath": "[DH1]Block 1/Process/Motor/P_11" + }, + "propConfig": { + "params.showLabel": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 96, + "width": 142 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "AlarmFrame" + }, + "position": { + "height": 86, + "width": 125, + "x": 9, + "y": 5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d value\n\t\n\tcolors \u003d [\"\",\n\t\"#FFFFFF\",\n\t\"#916AAD\",\n\t\"#916AAD\",\n\t\"#F5DF1B\",\n\t\"#F5DF1B\",\n\t\"#EC8729\",\n\t\"#EC8729\",\n\t\"#E22028\",\n\t\"#E22028\",\n\t\"\"]\n\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d colors[Val_NotifyAll]\n\t\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 3 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 14, + "width": 140, + "y": 59 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.showLabel" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#808080", + "borderStyle": "none", + "borderWidth": "1px", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIndicator" + }, + "position": { + "height": 16, + "width": 16, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotReady" + }, + "position": { + "height": 16, + "width": 16, + "x": 101, + "y": 43 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_NotRdy\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_NotReady.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "MaintBypass" + }, + "position": { + "height": 16, + "width": 16, + "x": 83, + "y": 44 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_MaintByp\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_MaintByp.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Exceptions" + }, + "position": { + "height": 16, + "width": 16, + "x": 29, + "y": 23 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Err\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\t\t\n\tSts_Error \u003d value\n\tindex \u003d 0\n\t\n\tSrcQ3 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 8) \u003d\u003d 8\n\tSrcQ4 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 16) \u003d\u003d 16\n\tSrcQ5 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 32) \u003d\u003d 32\n\n\tif (Sts_Error \u003d\u003d True):\n\t\tindex \u003d 4 \n\telif (SrcQ5 \u003d\u003d True):\n\t\tindex \u003d 3\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 2\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 1\n\telse:\n\t\tindex \u003d 0\n\n\tif (index \u003e 0):\n\t\tret_val \u003d True\t\t\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Err\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_Simulated\",\n\t 2: \"Sts_CommUncertain\",\n\t 3: \"Sts_CommBad\",\n\t 4: \"Sts_BC_BadCfg\",\n\t}\n\t\t\t\n\tSts_Error \u003d value\n\tindex \u003d 0\n\t\n\tSrcQ3 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 8) \u003d\u003d 8\n\tSrcQ4 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 16) \u003d\u003d 16\n\tSrcQ5 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 32) \u003d\u003d 32\n\n\tif (Sts_Error \u003d\u003d True):\n\t\tindex \u003d 4 \n\telif (SrcQ5 \u003d\u003d True):\n\t\tindex \u003d 3\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 2\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 1\n\telse:\n\t\tindex \u003d 0\n\n\ttry:\n\t\tret_value \u003d images_path.format(images[index])\n\texcept:\n\t\tret_value \u003d images_path.format(\"Error\")\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "CmdSrcExceptions" + }, + "position": { + "height": 16, + "width": 16, + "x": 29, + "y": 44 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_OoS\") || tag({view.params.tagPath} + \"/CmdSrc/Sts_Normal\") " + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\t\t\n\tSts_OoS \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_OoS\"])[0].value\n\tindex \u003d 0\n\tCmdSrc_Sts_Normal \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_Normal\"])[0].value\n\n\tif (Sts_OoS \u003d\u003d True):\n\t\tindex \u003d 2 \n\telif (CmdSrc_Sts_Normal \u003d\u003d True):\n\t\tindex \u003d 0\n\telse:\n\t\tindex \u003d 1\n\n\tif (index \u003e 0):\n\t\tret_value \u003d True\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_OoS\") || tag({view.params.tagPath} + \"/CmdSrc/Sts_Normal\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_BC_CmdSrcNotNorm\",\n\t 2: \"Sts_CmdSrcOoS\"\n\t}\n\t\t\t\n\tSts_OoS \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_OoS\"])[0].value\n\tindex \u003d 0\n\tCmdSrc_Sts_Normal \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_Normal\"])[0].value\n\n\tif (Sts_OoS \u003d\u003d True):\n\t\tindex \u003d 2 \n\telif (CmdSrc_Sts_Normal \u003d\u003d True):\n\t\tindex \u003d 0\n\telse:\n\t\tindex \u003d 1\n\n\ttry:\n\t\tret_value \u003d images_path.format(images[index])\n\texcept:\n\t\tret_value \u003d images_path.format(\"Error\")\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "children": [ + { + "meta": { + "name": "Polygon" + }, + "position": { + "height": 11, + "width": 25, + "x": 17 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.motorColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Base" + }, + "position": { + "height": 9, + "width": 35, + "y": 29 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.motorColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderTopLeftRadius": 20, + "borderTopRightRadius": 20, + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "OutsideEllipse" + }, + "position": { + "height": 34, + "width": 34 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.motorColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "InsideEllipse" + }, + "position": { + "height": 14, + "width": 14, + "x": 10, + "y": 10 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.motorColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "MotorGroup" + }, + "position": { + "height": 38, + "width": 42, + "x": 47, + "y": 21 + }, + "propConfig": { + "custom.motorColor": { + "binding": { + "config": { + "expression": "case(tag({view.params.tagPath} + \"/Val_Sts\"), \t0, \"#93C2E4\",\r\n1, \"#808080\",\r\n2, \"#F0F0F0\",\r\n3, \"#F0F0F0\",\r\n4, \"#F0F0F0\",\r\n5, \"#93C2E4\",\r\n6, \"#93C2E4\",\r\n7, \"#93C2E4\",\r\n8, \"#93C2E4\",\r\n9, \"#93C2E4\",\r\n10, \"#93C2E4\",\r\n14, \"#93C2E4\",\r\n \"#FFC0FF\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Status" + }, + "position": { + "height": 14, + "width": 140, + "y": 6 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.showLabel" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "case(tag({view.params.tagPath} + \"/Val_Sts\"), 0, \"Unknown\", 1, \"Stopped\", 2, \"Running \" + tag({view.params.tagPath} + \"/Cfg_FwdText\"),\r\n3, \"Running \" + tag({view.params.tagPath} + \"/Cfg_RevText\"), 5, \"Starting \" + tag({view.params.tagPath} + \"/Cfg_FwdText\"), \r\n6, \"Starting \" + tag({view.params.tagPath} + \"/Cfg_RevText\"), 8, \"Jogging \" + tag({view.params.tagPath} + \"/Cfg_FwdText\"),\r\n9, \"Jogging \" + tag({view.params.tagPath} + \"/Cfg_RevText\"), 10, \"Stopping \", 14, \"Horn\", \"Error\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#808080", + "borderStyle": "none", + "borderWidth": "1px", + "color": "#3F3F3F", + "fontSize": 8, + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "center" + }, + "textStyle": { + "fontSize": "8pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "godsData_EU", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 14, + "width": 56, + "x": 77, + "y": 76 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Cfg_SpeedFdbkEU\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#919191", + "fontWeight": "bold", + "outlineStyle": "none", + "paddingLeft": 5, + "textAlign": "left" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": 14.667 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "godsData_Value", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 18, + "width": 66, + "x": 8, + "y": 73 + }, + "propConfig": { + "custom.decPlcs": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_DecPlcs\")" + }, + "type": "expr" + } + }, + "custom.numberFormat": { + "binding": { + "config": { + "expression": "case({this.custom.decPlcs}, 0, \"\", 1, \"0\", 2, \"00\", 3, \"000\", 4, \"0000\", 5, \"00000\", 6, \"000000\", \"00\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "numberformat(tag({view.params.tagPath}+ \"/Val_SpeedFdbk\"), \"#0.\" + {this.custom.numberFormat})" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#2A4191", + "fontWeight": "bold", + "textAlign": "right" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": 14.667 + } + }, + "type": "ia.display.label" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "{view.params.tagPath}", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "{/root.meta.tooltip.text}", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}" + }, + "viewPath": "Plant PAX/Popups/P_VSD/P_VSD", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "root", + "tooltip": {} + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_Tag\") + \" - \" + tag({view.params.tagPath}+\"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_VSD/P_VSD_PumpU/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_VSD/P_VSD_PumpU/resource.json new file mode 100644 index 0000000..89506e8 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_VSD/P_VSD_PumpU/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "6bebd7f3db06ac4ee1e6f4bb45f0b6c071f7dc794ac6f01d75648510e53482fb", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:18Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_VSD/P_VSD_PumpU/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_VSD/P_VSD_PumpU/thumbnail.png new file mode 100644 index 0000000..780bc63 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_VSD/P_VSD_PumpU/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_VSD/P_VSD_PumpU/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_VSD/P_VSD_PumpU/view.json new file mode 100644 index 0000000..f79821d --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_VSD/P_VSD_PumpU/view.json @@ -0,0 +1,642 @@ +{ + "custom": {}, + "params": { + "showLabel": true, + "tagPath": "[default]Test_Tags/P_VSD" + }, + "propConfig": { + "params.showLabel": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 96, + "width": 142 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "AlarmFrame" + }, + "position": { + "height": 86, + "width": 125, + "x": 9, + "y": 5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d value\n\t\n\tcolors \u003d [\"\",\n\t\"#FFFFFF\",\n\t\"#916AAD\",\n\t\"#916AAD\",\n\t\"#F5DF1B\",\n\t\"#F5DF1B\",\n\t\"#EC8729\",\n\t\"#EC8729\",\n\t\"#E22028\",\n\t\"#E22028\",\n\t\"\"]\n\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d colors[Val_NotifyAll]\n\t\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 3 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 14, + "width": 140, + "y": 59 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.showLabel" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#808080", + "borderStyle": "none", + "borderWidth": "1px", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIndicator" + }, + "position": { + "height": 16, + "width": 16, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotReady" + }, + "position": { + "height": 16, + "width": 16, + "x": 83, + "y": 44 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_NotRdy\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_NotReady.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "MaintBypass" + }, + "position": { + "height": 16, + "width": 16, + "x": 63, + "y": 44 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_MaintByp\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_MaintByp.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Exceptions" + }, + "position": { + "height": 16, + "width": 16, + "x": 5, + "y": 24 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Err\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\t\t\n\tSts_Error \u003d value\n\tindex \u003d 0\n\t\n\tSrcQ3 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 8) \u003d\u003d 8\n\tSrcQ4 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 16) \u003d\u003d 16\n\tSrcQ5 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 32) \u003d\u003d 32\n\n\tif (Sts_Error \u003d\u003d True):\n\t\tindex \u003d 4 \n\telif (SrcQ5 \u003d\u003d True):\n\t\tindex \u003d 3\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 2\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 1\n\telse:\n\t\tindex \u003d 0\n\n\tif (index \u003e 0):\n\t\tret_val \u003d True\t\t\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Err\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_Simulated\",\n\t 2: \"Sts_CommUncertain\",\n\t 3: \"Sts_CommBad\",\n\t 4: \"Sts_BC_BadCfg\",\n\t}\n\t\t\t\n\tSts_Error \u003d value\n\tindex \u003d 0\n\t\n\tSrcQ3 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 8) \u003d\u003d 8\n\tSrcQ4 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 16) \u003d\u003d 16\n\tSrcQ5 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 32) \u003d\u003d 32\n\n\tif (Sts_Error \u003d\u003d True):\n\t\tindex \u003d 4 \n\telif (SrcQ5 \u003d\u003d True):\n\t\tindex \u003d 3\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 2\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 1\n\telse:\n\t\tindex \u003d 0\n\n\ttry:\n\t\tret_value \u003d images_path.format(images[index])\n\texcept:\n\t\tret_value \u003d images_path.format(\"Error\")\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "CmdSrcExceptions" + }, + "position": { + "height": 16, + "width": 16, + "x": 5, + "y": 44 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_OoS\") || tag({view.params.tagPath} + \"/CmdSrc/Sts_Normal\") " + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\t\t\n\tSts_OoS \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_OoS\"])[0].value\n\tindex \u003d 0\n\tCmdSrc_Sts_Normal \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_Normal\"])[0].value\n\n\tif (Sts_OoS \u003d\u003d True):\n\t\tindex \u003d 2 \n\telif (CmdSrc_Sts_Normal \u003d\u003d True):\n\t\tindex \u003d 0\n\telse:\n\t\tindex \u003d 1\n\n\tif (index \u003e 0):\n\t\tret_value \u003d True\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_OoS\") || tag({view.params.tagPath} + \"/CmdSrc/Sts_Normal\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_BC_CmdSrcNotNorm\",\n\t 2: \"Sts_CmdSrcOoS\"\n\t}\n\t\t\t\n\tSts_OoS \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_OoS\"])[0].value\n\tindex \u003d 0\n\tCmdSrc_Sts_Normal \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_Normal\"])[0].value\n\n\tif (Sts_OoS \u003d\u003d True):\n\t\tindex \u003d 2 \n\telif (CmdSrc_Sts_Normal \u003d\u003d True):\n\t\tindex \u003d 0\n\telse:\n\t\tindex \u003d 1\n\n\ttry:\n\t\tret_value \u003d images_path.format(images[index])\n\texcept:\n\t\tret_value \u003d images_path.format(\"Error\")\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "children": [ + { + "meta": { + "name": "Polygon" + }, + "position": { + "height": 11, + "rotate": { + "angle": 90 + }, + "width": 25, + "x": 23 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.motorColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Base" + }, + "position": { + "height": 9, + "width": 35, + "x": 7, + "y": 29 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.motorColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderTopLeftRadius": 20, + "borderTopRightRadius": 20, + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "OutsideEllipse" + }, + "position": { + "height": 34, + "width": 34, + "x": 7 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.motorColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "InsideEllipse" + }, + "position": { + "height": 14, + "width": 14, + "x": 17, + "y": 10 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.motorColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "MotorGroup" + }, + "position": { + "height": 38, + "width": 42, + "x": 7, + "y": 21 + }, + "propConfig": { + "custom.motorColor": { + "binding": { + "config": { + "expression": "case(tag({view.params.tagPath} + \"/Val_Sts\"), \t0, \"#93C2E4\",\r\n1, \"#808080\",\r\n2, \"#F0F0F0\",\r\n3, \"#F0F0F0\",\r\n4, \"#F0F0F0\",\r\n5, \"#93C2E4\",\r\n6, \"#93C2E4\",\r\n7, \"#93C2E4\",\r\n8, \"#93C2E4\",\r\n9, \"#93C2E4\",\r\n10, \"#93C2E4\",\r\n14, \"#93C2E4\",\r\n \"#FFC0FF\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Status" + }, + "position": { + "height": 14, + "width": 80, + "x": 51, + "y": 6 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.showLabel" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "case(tag({view.params.tagPath} + \"/Val_Sts\"), 0, \"Unknown\", 1, \"Stopped\", 2, \"Running\" + tag({view.params.tagPath} + \"/Cfg_FwdText\"),\r\n3, \"Running\" + tag({view.params.tagPath} + \"/Cfg_RevText\"), 5, \"Starting\" + tag({view.params.tagPath} + \"/Cfg_FwdText\"), \r\n6, \"Starting\" + tag({view.params.tagPath} + \"/Cfg_RevText\"), 8, \"Jogging\" + tag({view.params.tagPath} + \"/Cfg_FwdText\"),\r\n9, \"Jogging\" + tag({view.params.tagPath} + \"/Cfg_RevText\"), 10, \"Stopping\", 14, \"Horn\", \"Error\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#808080", + "borderStyle": "none", + "borderWidth": "1px", + "color": "#3F3F3F", + "fontSize": 8, + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "left" + }, + "textStyle": { + "fontSize": "8pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "godsData_EU", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 14, + "width": 56, + "x": 77, + "y": 76 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Cfg_SpeedFdbkEU\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#919191", + "fontWeight": "bold", + "outlineStyle": "none", + "paddingLeft": 5, + "textAlign": "left" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": 14.667 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "godsData_Value", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 18, + "width": 66, + "x": 8, + "y": 73 + }, + "propConfig": { + "custom.decPlcs": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_DecPlcs\")" + }, + "type": "expr" + } + }, + "custom.numberFormat": { + "binding": { + "config": { + "expression": "case({this.custom.decPlcs}, 0, \"\", 1, \"0\", 2, \"00\", 3, \"000\", 4, \"0000\", 5, \"00000\", 6, \"000000\", \"00\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "numberformat(tag({view.params.tagPath}+ \"/Val_SpeedFdbk\"), \"#0.\" + {this.custom.numberFormat})" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#2A4191", + "fontWeight": "bold", + "textAlign": "center" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": 14.667 + } + }, + "type": "ia.display.label" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "{view.params.tagPath}", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "{/root.meta.tooltip.text}", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}" + }, + "viewPath": "Plant PAX/Popups/P_VSD/P_VSD", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "root", + "tooltip": {} + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_Tag\") + \" - \" + tag({view.params.tagPath}+\"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveC/Archive/P_ValveSO/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveC/Archive/P_ValveSO/resource.json new file mode 100644 index 0000000..80b5482 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveC/Archive/P_ValveSO/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "3c74aa86f9c3be817a2ab20100ed888d313ed90e135dd0154c0432461b6bad6a", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:18Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveC/Archive/P_ValveSO/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveC/Archive/P_ValveSO/thumbnail.png new file mode 100644 index 0000000..c16f71c Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveC/Archive/P_ValveSO/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveC/Archive/P_ValveSO/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveC/Archive/P_ValveSO/view.json new file mode 100644 index 0000000..76e3cce --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveC/Archive/P_ValveSO/view.json @@ -0,0 +1,721 @@ +{ + "custom": {}, + "params": { + "showLabel": true, + "tagPath": "[default]Test_Tags/P_Valve_C" + }, + "propConfig": { + "params.showLabel": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 95, + "width": 140 + }, + "dropConfig": { + "udts": [ + { + "action": "path", + "param": "tagPath", + "type": "Plant PAX/P_Ain" + } + ] + } + }, + "root": { + "children": [ + { + "meta": { + "name": "godsAlarmPolygon" + }, + "position": { + "height": "90px", + "width": "124px", + "x": "8px", + "y": "5px" + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d value\n\t\n\tcolors \u003d [\"\",\n\t\"#FFFFFF\",\n\t\"#916AAD\",\n\t\"#916AAD\",\n\t\"#F5DF1B\",\n\t\"#F5DF1B\",\n\t\"#EC8729\",\n\t\"#EC8729\",\n\t\"#E22028\",\n\t\"#E22028\",\n\t\"\"]\n\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d colors[Val_NotifyAll]\n\t\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 5 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Line" + }, + "position": { + "height": 50, + "width": 12, + "x": 63.5, + "y": 8 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Vert_Line.svg" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Wedge" + }, + "position": { + "height": 17, + "width": 28, + "x": 56, + "y": 1 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Wedge.svg" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Wedge_Case2" + }, + "position": { + "height": 17, + "width": 28, + "x": 56, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Val_CVOut\")" + }, + "transforms": [ + { + "code": "\tVal_CVOut \u003d value\n\tindex \u003d 0\n\t\n\tif (Val_CVOut \u003e 0):\n\t\tindex \u003d True\n\telse:\n\t\tindex \u003d False\n\t\n\treturn index", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Wedge_Case2.svg" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Wedge_Case0" + }, + "position": { + "height": 17, + "width": 28, + "x": 56, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Val_CVOut\")" + }, + "transforms": [ + { + "code": "\tVal_CVOut \u003d value\n\tindex \u003d 0\n\t\n\tif (Val_CVOut \u003e 0):\n\t\tindex \u003d False\n\telse:\n\t\tindex \u003d True\n\t\n\treturn index", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Wedge_Case0.svg" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "CVPercentVPointer" + }, + "position": { + "height": 8, + "width": 8, + "x": 52 + }, + "propConfig": { + "meta.VertPos": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Val_CVOut\")" + }, + "transforms": [ + { + "code": "\tindex \u003d 0\n\tPercentEU \u003d 0\n\n\tVal_CVOut \u003d value\n\tVal_CVEUMin \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_CVEUMin\"])[0].value\t\n\tVal_CVEUMax \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_CVEUMax\"])[0].value\t\n\tPercentEU \u003d Val_CVOut / (Val_CVEUMax - Val_CVEUMin)\n\n\tindex \u003d 30 - (18*PercentEU)\n\t\n\treturn index", + "type": "script" + } + ], + "type": "expr" + } + }, + "position.y": { + "binding": { + "config": { + "path": "this.meta.VertPos" + }, + "type": "property" + } + } + }, + "props": { + "path": "material/play_arrow", + "style": { + "fill": "#3F3F3F", + "stroke": "#3F3F3F" + } + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "CVPercentVPolygon" + }, + "position": { + "height": 21, + "width": 8, + "x": 59, + "y": 15 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CVPercentVPolygon.svg" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ValveLtOuterPolygon" + }, + "position": { + "height": 35, + "width": 35, + "x": 41, + "y": 35 + }, + "propConfig": { + "props.style.fill": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Ramping\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\" # default color\n\tindex \u003d 0\n\t\n\tSts_Ramping \u003d value\n\tSts_Active \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Active\"])[0].value\n\n\t\n\t# fill colors according to the PlantPAX standard\n\tcolors \u003d {\n\t0 : \"808080\",\n\t1 : \"93C2E4\",\n\t2 : \"F0F0F0\"\n\t}\n\t\n\t# DO THE IF ELSE USING THE VARIABLES ABOVE\n\tif (Sts_Ramping): \n\t\tindex \u003d 1\n\telif (Sts_Active):\n\t\tindex \u003d 2\n\telse:\n\t\tindex \u003d 0\n\n\treturn colors[index]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "path": "material/play_arrow", + "style": { + "stroke": "#3F3F3F" + } + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "ValveLtInnerPolygon" + }, + "position": { + "height": 27, + "width": 27, + "x": 45, + "y": 39.5 + }, + "propConfig": { + "props.style.fill": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Ramping\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\" # default color\n\tindex \u003d 0\n\t\n\tSts_Ramping \u003d value\n\tSts_Active \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Active\"])[0].value\n\n\t\n\t# fill colors according to the PlantPAX standard\n\tcolors \u003d {\n\t0 : \"808080\",\n\t1 : \"93C2E4\",\n\t2 : \"F0F0F0\"\n\t}\n\t\n\t# DO THE IF ELSE USING THE VARIABLES ABOVE\n\tif (Sts_Ramping): \n\t\tindex \u003d 1\n\telif (Sts_Active):\n\t\tindex \u003d 2\n\telse:\n\t\tindex \u003d 0\n\n\treturn colors[index]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "path": "material/play_arrow", + "style": { + "stroke": "#3F3F3F" + } + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "ValveRtOuterPolygon" + }, + "position": { + "height": 35, + "rotate": { + "angle": 180 + }, + "width": 35, + "x": 64, + "y": 35 + }, + "propConfig": { + "props.style.fill": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Ramping\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\" # default color\n\tindex \u003d 0\n\t\n\tSts_Ramping \u003d value\n\tSts_Active \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Active\"])[0].value\n\n\t\n\t# fill colors according to the PlantPAX standard\n\tcolors \u003d {\n\t0 : \"808080\",\n\t1 : \"93C2E4\",\n\t2 : \"F0F0F0\"\n\t}\n\t\n\t# DO THE IF ELSE USING THE VARIABLES ABOVE\n\tif (Sts_Ramping): \n\t\tindex \u003d 1\n\telif (Sts_Active):\n\t\tindex \u003d 2\n\telse:\n\t\tindex \u003d 0\n\n\treturn colors[index]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "path": "material/play_arrow", + "style": { + "stroke": "#3F3F3F" + } + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "ValveRtInnerPolygon" + }, + "position": { + "height": 27, + "rotate": { + "angle": 180 + }, + "width": 27, + "x": 68, + "y": 39.5 + }, + "propConfig": { + "props.style.fill": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Ramping\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\" # default color\n\tindex \u003d 0\n\t\n\tSts_Ramping \u003d value\n\tSts_Active \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Active\"])[0].value\n\n\t\n\t# fill colors according to the PlantPAX standard\n\tcolors \u003d {\n\t0 : \"808080\",\n\t1 : \"93C2E4\",\n\t2 : \"F0F0F0\"\n\t}\n\t\n\t# DO THE IF ELSE USING THE VARIABLES ABOVE\n\tif (Sts_Ramping): \n\t\tindex \u003d 1\n\telif (Sts_Active):\n\t\tindex \u003d 2\n\telse:\n\t\tindex \u003d 0\n\n\treturn colors[index]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "path": "material/play_arrow", + "style": { + "stroke": "#3F3F3F" + } + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "godsData_Value", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 18, + "width": 66, + "x": 10, + "y": 75 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Val_CVOut\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#2A4191", + "paddingLeft": 10, + "textAlign": "right" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontFamily": "Arial", + "fontSize": 11, + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "godsData_EU", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 14, + "width": 56, + "x": 79, + "y": 78 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Cfg_EU\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#919191", + "paddingLeft": 10, + "textAlign": "left" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontFamily": "Arial", + "fontSize": 8, + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "godsLabel" + }, + "position": { + "height": 14, + "width": 140, + "y": 61 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderStyle": "none", + "color": "#3F3F3F", + "fontSize": 8, + "fontWeight": "500", + "outlineStyle": "none", + "paddingLeft": 10, + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "msi_AlarmIndicator" + }, + "position": { + "height": 16, + "width": 16, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_MaintBypass" + }, + "position": { + "height": 16, + "width": 16, + "x": 94, + "y": 34 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_MaintByp\"), True, False)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_MaintByp.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "msi_CmdSrcExceptions" + }, + "position": { + "height": 16, + "width": 16, + "x": 31, + "y": 34 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_OoS\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_BC_CmdSrcNotNorm\",\n\t 2: \"Sts_CmdSrcOoS\"\n\t}\n\n\tindex \u003d 0\t\t\t\n\tSts_OoS \u003d value\n\t\n\tSts_Normal \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_Normal\"])[0].value\n\t\n\tif (Sts_OoS \u003d\u003d True):\n\t\tindex \u003d 2 \n\telif (Sts_OoS \u003d\u003d True):\n\t\tindex \u003d 0\n\telse:\n\t\tindex \u003d 1\n\n\ttry:\n\t\tret_value \u003d images_path.format(images[index])\n\texcept:\n\t\tret_value \u003d images_path.format(\"Error\")\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "msi_Exceptions" + }, + "position": { + "height": 16, + "width": 16, + "x": 31, + "y": 14 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_Fault\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tindex \u003d 0\n\t\n\tVal_Fault \u003d value\n\tSrcQ3 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 8) \u003d\u003d 8\n\tSrcQ4 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 16) \u003d\u003d 16\n\n\tif (Val_Fault \u003e\u003d 20):\n\t\tindex \u003d Val_Fault \n\telif (SrcQ3 \u003d\u003d True):\n\t\tindex \u003d 1\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 2\n\telse:\n\t\tindex \u003d 0\n\n\tif (index \u003e 0):\n\t\tret_value \u003d True \n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Err\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_Simulated\",\n\t 2: \"Sts_CommUncertain\",\n\t 3: \"Sts_CommBad\",\n\t 4: \"Sts_BC_BadCfg\"\n\t}\n\t\t\t\n\tSts_Err \u003d value\n\tSrcQ3 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 8) \u003d\u003d 8\n\tSrcQ4 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 16) \u003d\u003d 16\n\tSrcQ5 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 32) \u003d\u003d 32\n\t\t\n\tif (Sts_Err \u003d\u003d True):\n\t\tSts_Err \u003d 4 \n\telif (SrcQ5 \u003d\u003d True):\n\t\tSts_Err \u003d 3\n\n\telif (SrcQ4 \u003d\u003d True):\n\t\tSts_Err \u003d 2\n\t\t\n\telif (SrcQ3 \u003d\u003d True):\n\t\tSts_Err \u003d 1\n\telse:\n\t\tSts_Err \u003d 0\n\n\ttry:\n\t\tret_value \u003d images_path.format(images[Sts_Err])\n\texcept:\n\t\tret_value \u003d images_path.format(\"Error\")\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_NotReady" + }, + "position": { + "height": 16, + "width": 16, + "x": 94, + "y": 14 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_NotRdy\"), True, False)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_NotReady.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "{view.params.tagPath}", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "{/root.meta.tooltip.text}", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}" + }, + "viewPath": "Plant PAX/Popups/DigitalInput/Popup", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "root", + "tooltip": {} + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_Tag\") + \" - \" + tag({view.params.tagPath}+\"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveC/P_ValveC/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveC/P_ValveC/resource.json new file mode 100644 index 0000000..1a7b3aa --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveC/P_ValveC/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "5f36520c2e27716a5aa8daac823bd5c5ddccf8c95884d62c7d80ad0072f9a382", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:18Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveC/P_ValveC/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveC/P_ValveC/thumbnail.png new file mode 100644 index 0000000..1822e83 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveC/P_ValveC/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveC/P_ValveC/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveC/P_ValveC/view.json new file mode 100644 index 0000000..d5b079f --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveC/P_ValveC/view.json @@ -0,0 +1,726 @@ +{ + "custom": {}, + "params": { + "showLabel": true, + "tagPath": "[default]Test_Tags/P_Valve_C" + }, + "propConfig": { + "params.showLabel": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 95, + "width": 140 + }, + "dropConfig": { + "udts": [ + { + "action": "path", + "param": "tagPath", + "type": "Plant PAX/P_Ain" + } + ] + } + }, + "root": { + "children": [ + { + "meta": { + "name": "godsAlarmPolygon" + }, + "position": { + "height": "90px", + "width": "124px", + "x": "8px", + "y": "5px" + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d value\n\t\n\tcolors \u003d [\"\",\n\t\"#FFFFFF\",\n\t\"#916AAD\",\n\t\"#916AAD\",\n\t\"#F5DF1B\",\n\t\"#F5DF1B\",\n\t\"#EC8729\",\n\t\"#EC8729\",\n\t\"#E22028\",\n\t\"#E22028\",\n\t\"\"]\n\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d colors[Val_NotifyAll]\n\t\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 5 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Line" + }, + "position": { + "height": 50, + "width": 12, + "x": 63.5, + "y": 8 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Vert_Line.svg" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Wedge" + }, + "position": { + "height": 17, + "width": 28, + "x": 56, + "y": 1 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Wedge.svg" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Wedge_Case2" + }, + "position": { + "height": 17, + "width": 28, + "x": 56, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Val_CVOut\")" + }, + "transforms": [ + { + "code": "\tVal_CVOut \u003d value\n\tindex \u003d 0\n\t\n\tif (Val_CVOut \u003e 0):\n\t\tindex \u003d True\n\telse:\n\t\tindex \u003d False\n\t\n\treturn index", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Wedge_Case2.svg" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Wedge_Case0" + }, + "position": { + "height": 17, + "width": 28, + "x": 56, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Val_CVOut\")" + }, + "transforms": [ + { + "code": "\tVal_CVOut \u003d value\n\tindex \u003d 0\n\t\n\tif (Val_CVOut \u003e 0):\n\t\tindex \u003d False\n\telse:\n\t\tindex \u003d True\n\t\n\treturn index", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Wedge_Case0.svg" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "CVPercentVPointer" + }, + "position": { + "height": 8, + "width": 8, + "x": 52 + }, + "propConfig": { + "meta.VertPos": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Val_CVOut\")" + }, + "transforms": [ + { + "code": "\tindex \u003d 0\n\tPercentEU \u003d 0\n\n\tVal_CVOut \u003d value\n\tVal_CVEUMin \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_CVEUMin\"])[0].value\t\n\tVal_CVEUMax \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_CVEUMax\"])[0].value\t\n\tPercentEU \u003d Val_CVOut / (Val_CVEUMax - Val_CVEUMin)\n\n\tindex \u003d 34 - (self.getSibling(\"CVPercentVPolygon\").position.height * PercentEU)\n\t\n\treturn index", + "type": "script" + } + ], + "type": "expr" + } + }, + "position.y": { + "binding": { + "config": { + "path": "this.meta.VertPos" + }, + "type": "property" + } + } + }, + "props": { + "path": "material/play_arrow", + "style": { + "fill": "#3F3F3F", + "stroke": "#3F3F3F" + } + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "CVPercentVPolygon" + }, + "position": { + "height": 20, + "width": 8, + "x": 59, + "y": 16 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CVPercentVPolygon.svg" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ValveLtOuterPolygon" + }, + "position": { + "height": 35, + "width": 35, + "x": 41, + "y": 35 + }, + "propConfig": { + "props.style.fill": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Ramping\") || tag({view.params.tagPath} + \"/Sts_Active\") " + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\" # default color\n\tindex \u003d 0\n\t\n\tSts_Ramping \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Ramping\"])[0].value\n\tSts_Active \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Active\"])[0].value\n\n\t\n\t# fill colors according to the PlantPAX standard\n\tcolors \u003d {\n\t0 : \"#808080\",\n\t1 : \"#93C2E4\",\n\t2 : \"#F0F0F0\"\n\t}\n\t\n\t# DO THE IF ELSE USING THE VARIABLES ABOVE\n\tif (Sts_Ramping): \n\t\tindex \u003d 1\n\telif (Sts_Active):\n\t\tindex \u003d 2\n\telse:\n\t\tindex \u003d 0\n\n\treturn colors[index]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "path": "material/play_arrow", + "style": { + "stroke": "#3F3F3F" + } + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "ValveLtInnerPolygon" + }, + "position": { + "height": 28, + "width": 27, + "x": 45, + "y": 39 + }, + "propConfig": { + "props.style.fill": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Ramping\") || tag({view.params.tagPath} + \"/Sts_Active\") " + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\" # default color\n\tindex \u003d 0\n\t\n\tSts_Ramping \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Ramping\"])[0].value\n\tSts_Active \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Active\"])[0].value\n\n\t\n\t# fill colors according to the PlantPAX standard\n\tcolors \u003d {\n\t0 : \"#808080\",\n\t1 : \"#93C2E4\",\n\t2 : \"#F0F0F0\"\n\t}\n\t\n\t# DO THE IF ELSE USING THE VARIABLES ABOVE\n\tif (Sts_Ramping): \n\t\tindex \u003d 1\n\telif (Sts_Active):\n\t\tindex \u003d 2\n\telse:\n\t\tindex \u003d 0\n\n\treturn colors[index]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "path": "material/play_arrow", + "style": { + "stroke": "#3F3F3F" + } + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "ValveRtOuterPolygon" + }, + "position": { + "height": 35, + "rotate": { + "angle": 180 + }, + "width": 35, + "x": 64, + "y": 35 + }, + "propConfig": { + "props.style.fill": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Ramping\") || tag({view.params.tagPath} + \"/Sts_Active\") " + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\" # default color\n\tindex \u003d 0\n\t\n\tSts_Ramping \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Ramping\"])[0].value\n\tSts_Active \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Active\"])[0].value\n\n\t\n\t# fill colors according to the PlantPAX standard\n\tcolors \u003d {\n\t0 : \"#808080\",\n\t1 : \"#93C2E4\",\n\t2 : \"#F0F0F0\"\n\t}\n\t\n\t# DO THE IF ELSE USING THE VARIABLES ABOVE\n\tif (Sts_Ramping): \n\t\tindex \u003d 1\n\telif (Sts_Active):\n\t\tindex \u003d 2\n\telse:\n\t\tindex \u003d 0\n\n\treturn colors[index]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "path": "material/play_arrow", + "style": { + "stroke": "#3F3F3F" + } + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "ValveRtInnerPolygon" + }, + "position": { + "height": 28, + "rotate": { + "angle": 180 + }, + "width": 27, + "x": 68, + "y": 39 + }, + "propConfig": { + "props.style.fill": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Ramping\") || tag({view.params.tagPath} + \"/Sts_Active\") " + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\" # default color\n\tindex \u003d 0\n\t\n\tSts_Ramping \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Ramping\"])[0].value\n\tSts_Active \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Active\"])[0].value\n\n\t\n\t# fill colors according to the PlantPAX standard\n\tcolors \u003d {\n\t0 : \"#808080\",\n\t1 : \"#93C2E4\",\n\t2 : \"#F0F0F0\"\n\t}\n\t\n\t# DO THE IF ELSE USING THE VARIABLES ABOVE\n\tif (Sts_Ramping): \n\t\tindex \u003d 1\n\telif (Sts_Active):\n\t\tindex \u003d 2\n\telse:\n\t\tindex \u003d 0\n\n\treturn colors[index]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "path": "material/play_arrow", + "style": { + "stroke": "#3F3F3F" + } + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "godsData_Value", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 18, + "width": 66, + "x": 10, + "y": 75 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Val_CVOut\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#2A4191", + "paddingRight": 0, + "textAlign": "right" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontFamily": "Arial", + "fontSize": "11pt", + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "godsData_EU", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 14, + "width": 56, + "x": 79, + "y": 78 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Cfg_EU\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#919191", + "textAlign": "left" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontFamily": "Arial", + "fontSize": "8pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "godsLabel" + }, + "position": { + "height": 14, + "width": 140, + "y": 61 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderStyle": "none", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "500", + "outlineStyle": "none", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "msi_AlarmIndicator" + }, + "position": { + "height": 16, + "width": 16, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_MaintBypass" + }, + "position": { + "height": 16, + "width": 16, + "x": 94, + "y": 34 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_MaintByp\"), True, False)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_MaintByp.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "msi_CmdSrcExceptions" + }, + "position": { + "height": 16, + "width": 16, + "x": 31, + "y": 34 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_OoS\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\t\t\n\tSts_OoS \u003d value\n\tindex \u003d 0\n\tCmdSrc_Sts_Normal \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_Normal\"])[0].value\n\n\tif (Sts_OoS \u003d\u003d True):\n\t\tindex \u003d 2 \n\telif (CmdSrc_Sts_Normal \u003d\u003d True):\n\t\tindex \u003d 0\n\telse:\n\t\tindex \u003d 1\n\n\tif (index \u003e 0):\n\t\tret_value \u003d True\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_OoS\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_BC_CmdSrcNotNorm\",\n\t 2: \"Sts_CmdSrcOoS\"\n\t}\n\n\tindex \u003d 0\t\t\t\n\tSts_OoS \u003d value\n\t\n\tSts_Normal \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_Normal\"])[0].value\n\t\n\tif (Sts_OoS \u003d\u003d True):\n\t\tindex \u003d 2 \n\telif (Sts_OoS \u003d\u003d True):\n\t\tindex \u003d 0\n\telse:\n\t\tindex \u003d 1\n\n\ttry:\n\t\tret_value \u003d images_path.format(images[index])\n\texcept:\n\t\tret_value \u003d images_path.format(\"Error\")\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "msi_Exceptions" + }, + "position": { + "height": 16, + "width": 16, + "x": 31, + "y": 14 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Err\") || tag({view.params.tagPath} + \"/SrcQ\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_Simulated\",\n\t 2: \"Sts_CommUncertain\",\n\t 3: \"Sts_CommBad\",\n\t 4: \"Sts_BC_BadCfg\"\n\t}\n\t\t\t\n\tSts_Err \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Err\"])[0].value\n\tSrcQ3 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 8) \u003d\u003d 8\n\tSrcQ4 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 16) \u003d\u003d 16\n\tSrcQ5 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 32) \u003d\u003d 32\n\t\t\n\tif (Sts_Err \u003d\u003d True):\n\t\tSts_Err \u003d 4 \n\telif (SrcQ5 \u003d\u003d True):\n\t\tSts_Err \u003d 3\n\n\telif (SrcQ4 \u003d\u003d True):\n\t\tSts_Err \u003d 2\n\t\t\n\telif (SrcQ3 \u003d\u003d True):\n\t\tSts_Err \u003d 1\n\telse:\n\t\tSts_Err \u003d 0\n\n\tif (Sts_Err \u003e 0):\n\t\tret_value \u003d True\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Err\") || tag({view.params.tagPath} + \"/SrcQ\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_Simulated\",\n\t 2: \"Sts_CommUncertain\",\n\t 3: \"Sts_CommBad\",\n\t 4: \"Sts_BC_BadCfg\"\n\t}\n\t\t\t\n\tSts_Err \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Err\"])[0].value\n\tSrcQ3 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 8) \u003d\u003d 8\n\tSrcQ4 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 16) \u003d\u003d 16\n\tSrcQ5 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 32) \u003d\u003d 32\n\t\t\n\tif (Sts_Err \u003d\u003d True):\n\t\tSts_Err \u003d 4 \n\telif (SrcQ5 \u003d\u003d True):\n\t\tSts_Err \u003d 3\n\n\telif (SrcQ4 \u003d\u003d True):\n\t\tSts_Err \u003d 2\n\t\t\n\telif (SrcQ3 \u003d\u003d True):\n\t\tSts_Err \u003d 1\n\telse:\n\t\tSts_Err \u003d 0\n\n\ttry:\n\t\tret_value \u003d images_path.format(images[Sts_Err])\n\texcept:\n\t\tret_value \u003d images_path.format(\"Error\")\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_NotReady" + }, + "position": { + "height": 16, + "width": 16, + "x": 94, + "y": 14 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_NotRdy\"), True, False)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_NotReady.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "{view.params.tagPath}", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "{/root.meta.tooltip.text}", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}" + }, + "viewPath": "Plant PAX/Popups/P_ValveC/P_ValveC", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "root", + "tooltip": {} + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_Tag\") + \" - \" + tag({view.params.tagPath}+\"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveC/P_ValveC_VerLeft/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveC/P_ValveC_VerLeft/resource.json new file mode 100644 index 0000000..86b5b97 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveC/P_ValveC_VerLeft/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "e4c4186907d7c766170b613d04f21062a71052d9a0280aa198b368b184a7033b", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:18Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveC/P_ValveC_VerLeft/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveC/P_ValveC_VerLeft/thumbnail.png new file mode 100644 index 0000000..39283d9 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveC/P_ValveC_VerLeft/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveC/P_ValveC_VerLeft/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveC/P_ValveC_VerLeft/view.json new file mode 100644 index 0000000..9b387d3 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveC/P_ValveC_VerLeft/view.json @@ -0,0 +1,759 @@ +{ + "custom": {}, + "params": { + "showLabel": true, + "tagPath": "[default]Test_Tags/P_Valve_C" + }, + "propConfig": { + "params.showLabel": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 59, + "width": 201 + }, + "dropConfig": { + "udts": [ + { + "action": "path", + "param": "tagPath", + "type": "Plant PAX/P_Ain" + } + ] + } + }, + "root": { + "children": [ + { + "meta": { + "name": "godsAlarmPolygon" + }, + "position": { + "height": 50, + "width": 193, + "x": 4, + "y": "5px" + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d value\n\t\n\tcolors \u003d [\"\",\n\t\"#FFFFFF\",\n\t\"#916AAD\",\n\t\"#916AAD\",\n\t\"#F5DF1B\",\n\t\"#F5DF1B\",\n\t\"#EC8729\",\n\t\"#EC8729\",\n\t\"#E22028\",\n\t\"#E22028\",\n\t\"\"]\n\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d colors[Val_NotifyAll]\n\t\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 5 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "godsData_Value", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 18, + "width": 41, + "x": 70, + "y": 32 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Val_CVOut\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#2A4191", + "paddingRight": 0, + "textAlign": "right" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontFamily": "Arial", + "fontSize": "11pt", + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "godsData_EU", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 14, + "width": 56, + "x": 115, + "y": 35 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Cfg_EU\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#919191", + "textAlign": "left" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontFamily": "Arial", + "fontSize": "8pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "godsLabel" + }, + "position": { + "height": 14, + "width": 140, + "x": 70, + "y": 13 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderStyle": "none", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "500", + "outlineStyle": "none", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "msi_AlarmIndicator" + }, + "position": { + "height": 16, + "width": 16, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_MaintBypass" + }, + "position": { + "height": 16, + "width": 16, + "x": 154, + "y": 11 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_MaintByp\"), True, False)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_MaintByp.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "msi_CmdSrcExceptions" + }, + "position": { + "height": 16, + "width": 16, + "x": 175, + "y": 31 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_OoS\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\t\t\n\tSts_OoS \u003d value\n\tindex \u003d 0\n\tCmdSrc_Sts_Normal \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_Normal\"])[0].value\n\n\tif (Sts_OoS \u003d\u003d True):\n\t\tindex \u003d 2 \n\telif (CmdSrc_Sts_Normal \u003d\u003d True):\n\t\tindex \u003d 0\n\telse:\n\t\tindex \u003d 1\n\n\tif (index \u003e 0):\n\t\tret_value \u003d True\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_OoS\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_BC_CmdSrcNotNorm\",\n\t 2: \"Sts_CmdSrcOoS\"\n\t}\n\n\tindex \u003d 0\t\t\t\n\tSts_OoS \u003d value\n\t\n\tSts_Normal \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_Normal\"])[0].value\n\t\n\tif (Sts_OoS \u003d\u003d True):\n\t\tindex \u003d 2 \n\telif (Sts_OoS \u003d\u003d True):\n\t\tindex \u003d 0\n\telse:\n\t\tindex \u003d 1\n\n\ttry:\n\t\tret_value \u003d images_path.format(images[index])\n\texcept:\n\t\tret_value \u003d images_path.format(\"Error\")\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "msi_Exceptions" + }, + "position": { + "height": 16, + "width": 16, + "x": 20, + "y": 32 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Err\") || tag({view.params.tagPath} + \"/SrcQ\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_Simulated\",\n\t 2: \"Sts_CommUncertain\",\n\t 3: \"Sts_CommBad\",\n\t 4: \"Sts_BC_BadCfg\"\n\t}\n\t\t\t\n\tSts_Err \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Err\"])[0].value\n\tSrcQ3 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 8) \u003d\u003d 8\n\tSrcQ4 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 16) \u003d\u003d 16\n\tSrcQ5 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 32) \u003d\u003d 32\n\t\t\n\tif (Sts_Err \u003d\u003d True):\n\t\tSts_Err \u003d 4 \n\telif (SrcQ5 \u003d\u003d True):\n\t\tSts_Err \u003d 3\n\n\telif (SrcQ4 \u003d\u003d True):\n\t\tSts_Err \u003d 2\n\t\t\n\telif (SrcQ3 \u003d\u003d True):\n\t\tSts_Err \u003d 1\n\telse:\n\t\tSts_Err \u003d 0\n\n\tif (Sts_Err \u003e 0):\n\t\tret_value \u003d True\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Err\") || tag({view.params.tagPath} + \"/SrcQ\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_Simulated\",\n\t 2: \"Sts_CommUncertain\",\n\t 3: \"Sts_CommBad\",\n\t 4: \"Sts_BC_BadCfg\"\n\t}\n\t\t\t\n\tSts_Err \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Err\"])[0].value\n\tSrcQ3 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 8) \u003d\u003d 8\n\tSrcQ4 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 16) \u003d\u003d 16\n\tSrcQ5 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 32) \u003d\u003d 32\n\t\t\n\tif (Sts_Err \u003d\u003d True):\n\t\tSts_Err \u003d 4 \n\telif (SrcQ5 \u003d\u003d True):\n\t\tSts_Err \u003d 3\n\n\telif (SrcQ4 \u003d\u003d True):\n\t\tSts_Err \u003d 2\n\t\t\n\telif (SrcQ3 \u003d\u003d True):\n\t\tSts_Err \u003d 1\n\telse:\n\t\tSts_Err \u003d 0\n\n\ttry:\n\t\tret_value \u003d images_path.format(images[Sts_Err])\n\texcept:\n\t\tret_value \u003d images_path.format(\"Error\")\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_NotReady" + }, + "position": { + "height": 16, + "width": 16, + "x": 175, + "y": 11 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_NotRdy\"), True, False)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_NotReady.png" + }, + "type": "ia.display.image" + }, + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 50, + "width": 12, + "x": 23.5, + "y": 7 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Vert_Line.svg" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Wedge" + }, + "position": { + "height": 17, + "width": 28, + "x": 16 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Wedge.svg" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Wedge_Case2" + }, + "position": { + "height": 17, + "width": 28, + "x": 16 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Val_CVOut\")" + }, + "transforms": [ + { + "code": "\tVal_CVOut \u003d value\n\tindex \u003d 0\n\t\n\tif (Val_CVOut \u003e 0):\n\t\tindex \u003d True\n\telse:\n\t\tindex \u003d False\n\t\n\treturn index", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Wedge_Case2.svg" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Wedge_Case0" + }, + "position": { + "height": 17, + "width": 28, + "x": 16 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Val_CVOut\")" + }, + "transforms": [ + { + "code": "\tVal_CVOut \u003d value\n\tindex \u003d 0\n\t\n\tif (Val_CVOut \u003e 0):\n\t\tindex \u003d False\n\telse:\n\t\tindex \u003d True\n\t\n\treturn index", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Wedge_Case0.svg" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ValveLtOuterPolygon" + }, + "position": { + "height": 35, + "width": 35, + "x": 2, + "y": 34 + }, + "propConfig": { + "props.style.fill": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Ramping\") || tag({view.params.tagPath} + \"/Sts_Active\") " + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\" # default color\n\tindex \u003d 0\n\t\n\tSts_Ramping \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Ramping\"])[0].value\n\tSts_Active \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Active\"])[0].value\n\n\t\n\t# fill colors according to the PlantPAX standard\n\tcolors \u003d {\n\t0 : \"#808080\",\n\t1 : \"#93C2E4\",\n\t2 : \"#F0F0F0\"\n\t}\n\t\n\t# DO THE IF ELSE USING THE VARIABLES ABOVE\n\tif (Sts_Ramping): \n\t\tindex \u003d 1\n\telif (Sts_Active):\n\t\tindex \u003d 2\n\telse:\n\t\tindex \u003d 0\n\n\treturn colors[index]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "path": "material/play_arrow", + "style": { + "stroke": "#3F3F3F" + } + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "ValveLtInnerPolygon" + }, + "position": { + "height": 28, + "width": 27, + "x": 6, + "y": 38 + }, + "propConfig": { + "props.style.fill": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Ramping\") || tag({view.params.tagPath} + \"/Sts_Active\") " + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\" # default color\n\tindex \u003d 0\n\t\n\tSts_Ramping \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Ramping\"])[0].value\n\tSts_Active \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Active\"])[0].value\n\n\t\n\t# fill colors according to the PlantPAX standard\n\tcolors \u003d {\n\t0 : \"#808080\",\n\t1 : \"#93C2E4\",\n\t2 : \"#F0F0F0\"\n\t}\n\t\n\t# DO THE IF ELSE USING THE VARIABLES ABOVE\n\tif (Sts_Ramping): \n\t\tindex \u003d 1\n\telif (Sts_Active):\n\t\tindex \u003d 2\n\telse:\n\t\tindex \u003d 0\n\n\treturn colors[index]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "path": "material/play_arrow", + "style": { + "stroke": "#3F3F3F" + } + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "ValveRtOuterPolygon" + }, + "position": { + "height": 35, + "rotate": { + "angle": 180 + }, + "width": 35, + "x": 25, + "y": 34 + }, + "propConfig": { + "props.style.fill": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Ramping\") || tag({view.params.tagPath} + \"/Sts_Active\") " + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\" # default color\n\tindex \u003d 0\n\t\n\tSts_Ramping \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Ramping\"])[0].value\n\tSts_Active \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Active\"])[0].value\n\n\t\n\t# fill colors according to the PlantPAX standard\n\tcolors \u003d {\n\t0 : \"#808080\",\n\t1 : \"#93C2E4\",\n\t2 : \"#F0F0F0\"\n\t}\n\t\n\t# DO THE IF ELSE USING THE VARIABLES ABOVE\n\tif (Sts_Ramping): \n\t\tindex \u003d 1\n\telif (Sts_Active):\n\t\tindex \u003d 2\n\telse:\n\t\tindex \u003d 0\n\n\treturn colors[index]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "path": "material/play_arrow", + "style": { + "stroke": "#3F3F3F" + } + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "ValveRtInnerPolygon" + }, + "position": { + "height": 28, + "rotate": { + "angle": 180 + }, + "width": 27, + "x": 29, + "y": 38 + }, + "propConfig": { + "props.style.fill": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Ramping\") || tag({view.params.tagPath} + \"/Sts_Active\") " + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\" # default color\n\tindex \u003d 0\n\t\n\tSts_Ramping \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Ramping\"])[0].value\n\tSts_Active \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Active\"])[0].value\n\n\t\n\t# fill colors according to the PlantPAX standard\n\tcolors \u003d {\n\t0 : \"#808080\",\n\t1 : \"#93C2E4\",\n\t2 : \"#F0F0F0\"\n\t}\n\t\n\t# DO THE IF ELSE USING THE VARIABLES ABOVE\n\tif (Sts_Ramping): \n\t\tindex \u003d 1\n\telif (Sts_Active):\n\t\tindex \u003d 2\n\telse:\n\t\tindex \u003d 0\n\n\treturn colors[index]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "path": "material/play_arrow", + "style": { + "stroke": "#3F3F3F" + } + }, + "type": "ia.display.icon" + }, + { + "children": [ + { + "meta": { + "name": "CVPercentVPointer" + }, + "position": { + "height": 8, + "width": 8, + "x": 1 + }, + "propConfig": { + "meta.VertPos": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Val_CVOut\")" + }, + "transforms": [ + { + "code": "\tindex \u003d 0\n\tPercentEU \u003d 0\n\n\tVal_CVOut \u003d value\n\tVal_CVEUMin \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_CVEUMin\"])[0].value\t\n\tVal_CVEUMax \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_CVEUMax\"])[0].value\t\n\tPercentEU \u003d Val_CVOut / (Val_CVEUMax - Val_CVEUMin)\n\n\tindex \u003d 18 - (self.getSibling(\"CVPercentVPolygon\").position.height * PercentEU)\n\t\n\treturn index", + "type": "script" + } + ], + "type": "expr" + } + }, + "position.y": { + "binding": { + "config": { + "path": "this.meta.VertPos" + }, + "type": "property" + } + } + }, + "props": { + "path": "material/play_arrow", + "style": { + "fill": "#3F3F3F", + "stroke": "#3F3F3F" + } + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "CVPercentVPolygon" + }, + "position": { + "height": 20, + "width": 8, + "x": 8, + "y": 2 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CVPercentVPolygon.svg" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "CVPercent" + }, + "position": { + "height": 37, + "rotate": { + "angle": 180 + }, + "width": 20, + "x": 31, + "y": 3 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "ValveBody" + }, + "position": { + "height": 72, + "rotate": { + "angle": -90 + }, + "width": 60, + "x": 7, + "y": -4 + }, + "type": "ia.container.coord" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "{view.params.tagPath}", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "{/root.meta.tooltip.text}", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}" + }, + "viewPath": "Plant PAX/Popups/P_ValveC/P_ValveC", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "root", + "tooltip": {} + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_Tag\") + \" - \" + tag({view.params.tagPath}+\"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer", + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveC/P_ValveC_VerRight/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveC/P_ValveC_VerRight/resource.json new file mode 100644 index 0000000..fbac856 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveC/P_ValveC_VerRight/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "69f3e9699249c4fd498cb8271b8fca1b1c821453dd7387dd02af4b3f58f43766", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:18Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveC/P_ValveC_VerRight/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveC/P_ValveC_VerRight/thumbnail.png new file mode 100644 index 0000000..8fc2140 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveC/P_ValveC_VerRight/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveC/P_ValveC_VerRight/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveC/P_ValveC_VerRight/view.json new file mode 100644 index 0000000..e7d6376 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveC/P_ValveC_VerRight/view.json @@ -0,0 +1,757 @@ +{ + "custom": {}, + "params": { + "showLabel": true, + "tagPath": "[default]Test_Tags/P_Valve_C" + }, + "propConfig": { + "params.showLabel": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 59, + "width": 201 + }, + "dropConfig": { + "udts": [ + { + "action": "path", + "param": "tagPath", + "type": "Plant PAX/P_Ain" + } + ] + } + }, + "root": { + "children": [ + { + "meta": { + "name": "godsAlarmPolygon" + }, + "position": { + "height": 50, + "width": 193, + "x": 4, + "y": "5px" + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d value\n\t\n\tcolors \u003d [\"\",\n\t\"#FFFFFF\",\n\t\"#916AAD\",\n\t\"#916AAD\",\n\t\"#F5DF1B\",\n\t\"#F5DF1B\",\n\t\"#EC8729\",\n\t\"#EC8729\",\n\t\"#E22028\",\n\t\"#E22028\",\n\t\"\"]\n\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d colors[Val_NotifyAll]\n\t\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 5 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "godsData_Value", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 18, + "width": 41, + "y": 32 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Val_CVOut\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#2A4191", + "paddingRight": 0, + "textAlign": "right" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontFamily": "Arial", + "fontSize": "11pt", + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "godsData_EU", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 14, + "width": 56, + "x": 45, + "y": 35 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Cfg_EU\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#919191", + "textAlign": "left" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontFamily": "Arial", + "fontSize": "8pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "godsLabel" + }, + "position": { + "height": 14, + "width": 135, + "y": 13 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderStyle": "none", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "500", + "outlineStyle": "none", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "msi_AlarmIndicator" + }, + "position": { + "height": 16, + "width": 16, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_MaintBypass" + }, + "position": { + "height": 16, + "width": 16, + "x": 95, + "y": 10 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_MaintByp\"), True, False)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_MaintByp.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "msi_CmdSrcExceptions" + }, + "position": { + "height": 16, + "width": 16, + "x": 165, + "y": 31 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_OoS\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\t\t\n\tSts_OoS \u003d value\n\tindex \u003d 0\n\tCmdSrc_Sts_Normal \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_Normal\"])[0].value\n\n\tif (Sts_OoS \u003d\u003d True):\n\t\tindex \u003d 2 \n\telif (CmdSrc_Sts_Normal \u003d\u003d True):\n\t\tindex \u003d 0\n\telse:\n\t\tindex \u003d 1\n\n\tif (index \u003e 0):\n\t\tret_value \u003d True\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_OoS\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_BC_CmdSrcNotNorm\",\n\t 2: \"Sts_CmdSrcOoS\"\n\t}\n\n\tindex \u003d 0\t\t\t\n\tSts_OoS \u003d value\n\t\n\tSts_Normal \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_Normal\"])[0].value\n\t\n\tif (Sts_OoS \u003d\u003d True):\n\t\tindex \u003d 2 \n\telif (Sts_OoS \u003d\u003d True):\n\t\tindex \u003d 0\n\telse:\n\t\tindex \u003d 1\n\n\ttry:\n\t\tret_value \u003d images_path.format(images[index])\n\texcept:\n\t\tret_value \u003d images_path.format(\"Error\")\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "msi_Exceptions" + }, + "position": { + "height": 16, + "width": 16, + "x": 117, + "y": 31 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Err\") || tag({view.params.tagPath} + \"/SrcQ\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_Simulated\",\n\t 2: \"Sts_CommUncertain\",\n\t 3: \"Sts_CommBad\",\n\t 4: \"Sts_BC_BadCfg\"\n\t}\n\t\t\t\n\tSts_Err \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Err\"])[0].value\n\tSrcQ3 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 8) \u003d\u003d 8\n\tSrcQ4 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 16) \u003d\u003d 16\n\tSrcQ5 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 32) \u003d\u003d 32\n\t\t\n\tif (Sts_Err \u003d\u003d True):\n\t\tSts_Err \u003d 4 \n\telif (SrcQ5 \u003d\u003d True):\n\t\tSts_Err \u003d 3\n\n\telif (SrcQ4 \u003d\u003d True):\n\t\tSts_Err \u003d 2\n\t\t\n\telif (SrcQ3 \u003d\u003d True):\n\t\tSts_Err \u003d 1\n\telse:\n\t\tSts_Err \u003d 0\n\n\tif (Sts_Err \u003e 0):\n\t\tret_value \u003d True\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Err\") || tag({view.params.tagPath} + \"/SrcQ\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_Simulated\",\n\t 2: \"Sts_CommUncertain\",\n\t 3: \"Sts_CommBad\",\n\t 4: \"Sts_BC_BadCfg\"\n\t}\n\t\t\t\n\tSts_Err \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Err\"])[0].value\n\tSrcQ3 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 8) \u003d\u003d 8\n\tSrcQ4 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 16) \u003d\u003d 16\n\tSrcQ5 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 32) \u003d\u003d 32\n\t\t\n\tif (Sts_Err \u003d\u003d True):\n\t\tSts_Err \u003d 4 \n\telif (SrcQ5 \u003d\u003d True):\n\t\tSts_Err \u003d 3\n\n\telif (SrcQ4 \u003d\u003d True):\n\t\tSts_Err \u003d 2\n\t\t\n\telif (SrcQ3 \u003d\u003d True):\n\t\tSts_Err \u003d 1\n\telse:\n\t\tSts_Err \u003d 0\n\n\ttry:\n\t\tret_value \u003d images_path.format(images[Sts_Err])\n\texcept:\n\t\tret_value \u003d images_path.format(\"Error\")\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_NotReady" + }, + "position": { + "height": 16, + "width": 16, + "x": 116, + "y": 10 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_NotRdy\"), True, False)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_NotReady.png" + }, + "type": "ia.display.image" + }, + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 50, + "width": 12, + "x": 23.5, + "y": 7 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Vert_Line.svg" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Wedge" + }, + "position": { + "height": 17, + "width": 28, + "x": 16 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Wedge.svg" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Wedge_Case2" + }, + "position": { + "height": 17, + "width": 28, + "x": 16 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Val_CVOut\")" + }, + "transforms": [ + { + "code": "\tVal_CVOut \u003d value\n\tindex \u003d 0\n\t\n\tif (Val_CVOut \u003e 0):\n\t\tindex \u003d True\n\telse:\n\t\tindex \u003d False\n\t\n\treturn index", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Wedge_Case2.svg" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Wedge_Case0" + }, + "position": { + "height": 17, + "width": 28, + "x": 16 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Val_CVOut\")" + }, + "transforms": [ + { + "code": "\tVal_CVOut \u003d value\n\tindex \u003d 0\n\t\n\tif (Val_CVOut \u003e 0):\n\t\tindex \u003d False\n\telse:\n\t\tindex \u003d True\n\t\n\treturn index", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Wedge_Case0.svg" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ValveLtOuterPolygon" + }, + "position": { + "height": 35, + "width": 35, + "x": 2, + "y": 34 + }, + "propConfig": { + "props.style.fill": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Ramping\") || tag({view.params.tagPath} + \"/Sts_Active\") " + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\" # default color\n\tindex \u003d 0\n\t\n\tSts_Ramping \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Ramping\"])[0].value\n\tSts_Active \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Active\"])[0].value\n\n\t\n\t# fill colors according to the PlantPAX standard\n\tcolors \u003d {\n\t0 : \"#808080\",\n\t1 : \"#93C2E4\",\n\t2 : \"#F0F0F0\"\n\t}\n\t\n\t# DO THE IF ELSE USING THE VARIABLES ABOVE\n\tif (Sts_Ramping): \n\t\tindex \u003d 1\n\telif (Sts_Active):\n\t\tindex \u003d 2\n\telse:\n\t\tindex \u003d 0\n\n\treturn colors[index]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "path": "material/play_arrow", + "style": { + "stroke": "#3F3F3F" + } + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "ValveLtInnerPolygon" + }, + "position": { + "height": 28, + "width": 27, + "x": 6, + "y": 38 + }, + "propConfig": { + "props.style.fill": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Ramping\") || tag({view.params.tagPath} + \"/Sts_Active\") " + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\" # default color\n\tindex \u003d 0\n\t\n\tSts_Ramping \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Ramping\"])[0].value\n\tSts_Active \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Active\"])[0].value\n\n\t\n\t# fill colors according to the PlantPAX standard\n\tcolors \u003d {\n\t0 : \"#808080\",\n\t1 : \"#93C2E4\",\n\t2 : \"#F0F0F0\"\n\t}\n\t\n\t# DO THE IF ELSE USING THE VARIABLES ABOVE\n\tif (Sts_Ramping): \n\t\tindex \u003d 1\n\telif (Sts_Active):\n\t\tindex \u003d 2\n\telse:\n\t\tindex \u003d 0\n\n\treturn colors[index]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "path": "material/play_arrow", + "style": { + "stroke": "#3F3F3F" + } + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "ValveRtOuterPolygon" + }, + "position": { + "height": 35, + "rotate": { + "angle": 180 + }, + "width": 35, + "x": 25, + "y": 34 + }, + "propConfig": { + "props.style.fill": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Ramping\") || tag({view.params.tagPath} + \"/Sts_Active\") " + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\" # default color\n\tindex \u003d 0\n\t\n\tSts_Ramping \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Ramping\"])[0].value\n\tSts_Active \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Active\"])[0].value\n\n\t\n\t# fill colors according to the PlantPAX standard\n\tcolors \u003d {\n\t0 : \"#808080\",\n\t1 : \"#93C2E4\",\n\t2 : \"#F0F0F0\"\n\t}\n\t\n\t# DO THE IF ELSE USING THE VARIABLES ABOVE\n\tif (Sts_Ramping): \n\t\tindex \u003d 1\n\telif (Sts_Active):\n\t\tindex \u003d 2\n\telse:\n\t\tindex \u003d 0\n\n\treturn colors[index]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "path": "material/play_arrow", + "style": { + "stroke": "#3F3F3F" + } + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "ValveRtInnerPolygon" + }, + "position": { + "height": 28, + "rotate": { + "angle": 180 + }, + "width": 27, + "x": 29, + "y": 38 + }, + "propConfig": { + "props.style.fill": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Ramping\") || tag({view.params.tagPath} + \"/Sts_Active\") " + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\" # default color\n\tindex \u003d 0\n\t\n\tSts_Ramping \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Ramping\"])[0].value\n\tSts_Active \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Active\"])[0].value\n\n\t\n\t# fill colors according to the PlantPAX standard\n\tcolors \u003d {\n\t0 : \"#808080\",\n\t1 : \"#93C2E4\",\n\t2 : \"#F0F0F0\"\n\t}\n\t\n\t# DO THE IF ELSE USING THE VARIABLES ABOVE\n\tif (Sts_Ramping): \n\t\tindex \u003d 1\n\telif (Sts_Active):\n\t\tindex \u003d 2\n\telse:\n\t\tindex \u003d 0\n\n\treturn colors[index]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "path": "material/play_arrow", + "style": { + "stroke": "#3F3F3F" + } + }, + "type": "ia.display.icon" + }, + { + "children": [ + { + "meta": { + "name": "CVPercentVPointer" + }, + "position": { + "height": 8, + "width": 8, + "x": 1 + }, + "propConfig": { + "meta.VertPos": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Val_CVOut\")" + }, + "transforms": [ + { + "code": "\tindex \u003d 0\n\tPercentEU \u003d 0\n\n\tVal_CVOut \u003d value\n\tVal_CVEUMin \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_CVEUMin\"])[0].value\t\n\tVal_CVEUMax \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_CVEUMax\"])[0].value\t\n\tPercentEU \u003d Val_CVOut / (Val_CVEUMax - Val_CVEUMin)\n\n\tindex \u003d 18 - (self.getSibling(\"CVPercentVPolygon\").position.height * PercentEU)\n\t\n\treturn index", + "type": "script" + } + ], + "type": "expr" + } + }, + "position.y": { + "binding": { + "config": { + "path": "this.meta.VertPos" + }, + "type": "property" + } + } + }, + "props": { + "path": "material/play_arrow", + "style": { + "fill": "#3F3F3F", + "stroke": "#3F3F3F" + } + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "CVPercentVPolygon" + }, + "position": { + "height": 20, + "width": 8, + "x": 8, + "y": 2 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CVPercentVPolygon.svg" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "CVPercent" + }, + "position": { + "height": 37, + "rotate": { + "angle": 0 + }, + "width": 20, + "x": 8, + "y": 16 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "ValveBody" + }, + "position": { + "height": 72, + "rotate": { + "angle": 90 + }, + "width": 60, + "x": 132, + "y": -9 + }, + "type": "ia.container.coord" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "{view.params.tagPath}", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "{/root.meta.tooltip.text}", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}" + }, + "viewPath": "Plant PAX/Popups/P_ValveC/P_ValveC", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "root", + "tooltip": {} + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_Tag\") + \" - \" + tag({view.params.tagPath}+\"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer", + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/Archive/P_ValveSO/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/Archive/P_ValveSO/resource.json new file mode 100644 index 0000000..97ba6f3 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/Archive/P_ValveSO/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "7dfa2c7e95e1428b6c17bdf7b308cc832e726ee2a29d4ba2b2a3322c6891e748", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:18Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/Archive/P_ValveSO/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/Archive/P_ValveSO/thumbnail.png new file mode 100644 index 0000000..188784c Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/Archive/P_ValveSO/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/Archive/P_ValveSO/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/Archive/P_ValveSO/view.json new file mode 100644 index 0000000..bf80804 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/Archive/P_ValveSO/view.json @@ -0,0 +1,385 @@ +{ + "custom": {}, + "params": { + "showLabel": true, + "tagPath": "[default]Test_Tags/P_ValveSO" + }, + "propConfig": { + "params.showLabel": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 37, + "width": 163 + }, + "dropConfig": { + "udts": [ + { + "action": "path", + "param": "tagPath", + "type": "Plant PAX/P_Ain" + } + ] + } + }, + "root": { + "children": [ + { + "meta": { + "name": "godsAlarmPolygon" + }, + "position": { + "height": "32px", + "width": "130px", + "x": "5px", + "y": "5px" + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d value\n\t\n\tcolors \u003d [\"\",\n\t\"#FFFFFF\",\n\t\"#916AAD\",\n\t\"#916AAD\",\n\t\"#F5DF1B\",\n\t\"#F5DF1B\",\n\t\"#EC8729\",\n\t\"#EC8729\",\n\t\"#E22028\",\n\t\"#E22028\",\n\t\"\"]\n\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d colors[Val_NotifyAll]\n\t\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 5 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "godsLabel" + }, + "position": { + "height": 14, + "width": 140, + "x": 23, + "y": 8 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderStyle": "none", + "color": "#3F3F3F", + "fontSize": 8, + "fontWeight": "500", + "outlineStyle": "none", + "paddingLeft": 10, + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "ValveSO_MSI_Status", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 14, + "width": 140, + "x": 23, + "y": 20 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Val_Sts\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"Error\"\n\t\n\tVal \u003d value\n\t\n\tif (value \u003d\u003d 0):\n\t\tret_value \u003d \"Unknown\"\n\telif (value \u003d\u003d 1):\n\t\tret_value \u003d \"Closed\"\n\telif (value \u003d\u003d 2):\n\t\tret_value \u003d \"Opened\"\n\telif (value \u003d\u003d 5):\n\t\tret_value \u003d \"Closing\"\n\telif (value \u003d\u003d 6):\n\t\tret_value \u003d \"Opening\"\t\t\n\telif (value \u003d\u003d 5):\n\t\tret_value \u003d \"Horn\"\t\t\n\telse:\n\t\tret_value \u003d \"Calc Error\"\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#808080", + "fontWeight": "normal", + "paddingLeft": 10, + "textAlign": "left" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": 8 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "msi_AlarmIndicator" + }, + "position": { + "height": 16, + "width": 16, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Motor_StateColor_OLD", + "visible": false + }, + "position": { + "height": 16, + "width": 16, + "x": 92.99716186523438, + "y": 4.999053955078125 + }, + "propConfig": { + "props.style.fill": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_Closed\"), 1, \r\n\tif(tag({view.params.tagPath} + \"/Sts_Closing\"), 2 ,\r\n\t\tif(tag({view.params.tagPath} + \"/Sts_Opening\"), 3,\r\n\t\t\tif(tag({view.params.tagPath} + \"/Sts_Opened\"), 4,\r\n\t0))))" + }, + "transforms": [ + { + "fallback": "#FF0000", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "#FF00FF" + }, + { + "input": 1, + "output": "#808080" + }, + { + "input": 2, + "output": "#F0F0F0" + }, + { + "input": 3, + "output": "#808080" + }, + { + "input": 4, + "output": "#F0F0F0" + } + ], + "outputType": "color", + "type": "map" + } + ], + "type": "expr" + } + } + }, + "props": { + "color": "#000000", + "path": "material/panorama_fish_eye", + "style": { + "stroke": "#3F3F3F" + } + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "P_ValveSO_MotorColor_Case0" + }, + "position": { + "height": 17, + "width": 17, + "x": 7, + "y": 14 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_Closed\"), False, \r\n\tif(tag({view.params.tagPath} + \"/Sts_Closing\"), False ,\r\n\t\tif(tag({view.params.tagPath} + \"/Sts_Opening\"), False,\r\n\t\t\tif(tag({view.params.tagPath} + \"/Sts_Opened\"), False,\r\n\tTrue))))" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/P_ValveSO_MotorColor_Case0.svg" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "P_ValveSO_MotorColor_Case1" + }, + "position": { + "height": 17, + "width": 17, + "x": 7, + "y": 14 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_Closed\"), True, \r\n\tif(tag({view.params.tagPath} + \"/Sts_Closing\"), False ,\r\n\t\tif(tag({view.params.tagPath} + \"/Sts_Opening\"), True,\r\n\t\t\tif(tag({view.params.tagPath} + \"/Sts_Opened\"), False,\r\n\tFalse))))" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/P_ValveSO_MotorColor_Case1.svg" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "P_ValveSO_MotorColor_Case2" + }, + "position": { + "height": 17, + "width": 17, + "x": 10, + "y": 14 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_Closed\"), False, \r\n\tif(tag({view.params.tagPath} + \"/Sts_Closing\"), True ,\r\n\t\tif(tag({view.params.tagPath} + \"/Sts_Opening\"), False,\r\n\t\t\tif(tag({view.params.tagPath} + \"/Sts_Opened\"), True,\r\n\tFalse))))" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/P_ValveSO_MotorColor_Case2.svg" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "{view.params.tagPath}", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "{/root.meta.tooltip.text}", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}" + }, + "viewPath": "Plant PAX/Popups/DigitalInput/Popup", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "root", + "tooltip": {} + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_Tag\") + \" - \" + tag({view.params.tagPath}+\"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/Archive/P_ValveSO_Block (1)/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/Archive/P_ValveSO_Block (1)/resource.json new file mode 100644 index 0000000..4cee4a4 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/Archive/P_ValveSO_Block (1)/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "bbe488f292f567d0c23c65d80099f561bd1de2bd31e7a2922d96ce19f2a2df43", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:18Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/Archive/P_ValveSO_Block (1)/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/Archive/P_ValveSO_Block (1)/thumbnail.png new file mode 100644 index 0000000..d8f01ff Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/Archive/P_ValveSO_Block (1)/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/Archive/P_ValveSO_Block (1)/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/Archive/P_ValveSO_Block (1)/view.json new file mode 100644 index 0000000..52c7ca8 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/Archive/P_ValveSO_Block (1)/view.json @@ -0,0 +1,310 @@ +{ + "custom": {}, + "params": { + "tagPath": "[default]Test_Tags/P_ValveSO" + }, + "propConfig": { + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 44, + "width": 35 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "P_ValveSO_Actuator_Case0" + }, + "position": { + "height": 19, + "width": 19, + "x": 5, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Sts_Closed\")" + }, + "transforms": [ + { + "code": "\t\n\tret_value \u003d \"\" # default color\n\tindex \u003d False\t#Index is the variable being determined by this script\n\t\n\tSts_Closed \u003d value\n\tInp_Sim \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_Sim\"])[0].value\n\tOut \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Out\"])[0].value\n\tCfg_FailOpen \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_FailOpen\"])[0].value\n\tSts_Closing \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Closing\"])[0].value\n\tSts_Opening \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Opening\"])[0].value\n\tSts_Opened \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Opened\"])[0].value\n\t\n\t# DO THE IF ELSE USING THE VARIABLES ABOVE\n\t\t\n\tif (not Inp_Sim) and (Out): \n\t\tindex \u003d True\n\t\t\n\telif (not Inp_Sim) and (not Out): \n\t\tindex \u003d False\n\t\t\t\n\telif (Cfg_FailOpen) and (Sts_Closed or Sts_Closing):\n\t\tindex \u003d True\n\t\t\n\telif (not Cfg_FailOpen) and (Sts_Opening or Sts_Opened):\n\t\tindex \u003d True\n\t\t\n\telse: False\n\n\t#\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\t#NOTE THIS SCRIPT HAS ITS OUTPUT REVERSED\n\t#\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\t\n\treturn not index", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/P_ValveSO_Actuator_Case0.svg" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "P_ValveSO_Actuator_Case1" + }, + "position": { + "height": 19, + "width": 19, + "x": 5, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Sts_Closed\")" + }, + "transforms": [ + { + "code": "\t\n\tret_value \u003d \"\" # default color\n\tindex \u003d False\t#Index is the variable being determined by this script\n\t\n\tSts_Closed \u003d value\n\tInp_Sim \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_Sim\"])[0].value\n\tOut \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Out\"])[0].value\n\tCfg_FailOpen \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_FailOpen\"])[0].value\n\tSts_Closing \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Closing\"])[0].value\n\tSts_Opening \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Opening\"])[0].value\n\tSts_Opened \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Opened\"])[0].value\n\t\n\t# DO THE IF ELSE USING THE VARIABLES ABOVE\n\t\t\n\tif (not Inp_Sim) and (Out): \n\t\tindex \u003d True\n\t\t\n\telif (not Inp_Sim) and (not Out): \n\t\tindex \u003d False\n\t\t\t\n\telif (Cfg_FailOpen) and (Sts_Closed or Sts_Closing):\n\t\tindex \u003d True\n\t\t\n\telif (not Cfg_FailOpen) and (Sts_Opening or Sts_Opened):\n\t\tindex \u003d True\n\t\t\n\telse: False\n\n\treturn index", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/P_ValveSO_Actuator_Case1.svg", + "style": { + "stroke": "3F3F3F" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Text" + }, + "position": { + "height": "15px", + "width": "9px", + "x": "10px", + "y": "2px" + }, + "props": { + "text": "S", + "textStyle": { + "color": "#000000", + "fontFamily": "Arial", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Line" + }, + "position": { + "height": 14, + "width": 6, + "x": 12, + "y": 15 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Vert_Line.svg" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ValveLtOuterPolygon" + }, + "position": { + "height": 19, + "width": 19, + "y": 19 + }, + "propConfig": { + "props.style.fill": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Closed\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\" # default color\n\tindex \u003d 0\n\t\n\tSts_Closed \u003d value\n\tSts_Horn \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Horn\"])[0].value\n\tVal_Fdbk \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_Fdbk\"])[0].value\n\tSts_Closing \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Closing\"])[0].value\n\tSts_Opening \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Opening\"])[0].value\n\tSts_Opened \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Opened\"])[0].value\n\t\n\t# fill colors according to the PlantPAX standard\n\tcolors \u003d {\n\t0 : \"FF00FF\",\n\t1 : \"808080\",\n\t2 : \"808080\",\n\t3 : \"F0F0F0\",\n\t4 : \"F0F0F0\"\n\t}\n\t\n\t# DO THE IF ELSE USING THE VARIABLES ABOVE\n\tif (Sts_Closed) or (Sts_Horn and (Val_Fdbk \u003d\u003d 1)): \n\t\tindex \u003d 1\n\telif (Sts_Closing):\n\t\tindex \u003d 2\n\telif (Sts_Opening):\n\t\tindex \u003d 3\n\telif (Sts_Opened) or (Sts_Horn and (Val_Fdbk \u003d\u003d 2)):\n\t\tindex \u003d 4\n\t\n\treturn colors[index]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "path": "material/play_arrow", + "style": { + "stroke": "#3F3F3F" + } + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "ValveLtInnerPolygon" + }, + "position": { + "height": 16, + "width": 17, + "x": 1, + "y": 20.5 + }, + "propConfig": { + "props.style.fill": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Closed\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\" # default color\n\tindex \u003d 0\n\t\n\tSts_Closed \u003d value\n\tSts_Horn \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Horn\"])[0].value\n\tVal_Fdbk \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_Fdbk\"])[0].value\n\tSts_Closing \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Closing\"])[0].value\n\tSts_Opening \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Opening\"])[0].value\n\tSts_Opened \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Opened\"])[0].value\n\t\n\t# fill colors according to the PlantPAX standard\n\tcolors \u003d {\n\t0 : \"FF00FF\",\n\t1 : \"808080\",\n\t2 : \"808080\",\n\t3 : \"F0F0F0\",\n\t4 : \"F0F0F0\"\n\t}\n\t\n\t# DO THE IF ELSE USING THE VARIABLES ABOVE\n\tif (Sts_Closed) or (Sts_Horn and (Val_Fdbk \u003d\u003d 1)): \n\t\tindex \u003d 1\n\telif (Sts_Closing):\n\t\tindex \u003d 2\n\telif (Sts_Opening):\n\t\tindex \u003d 3\n\telif (Sts_Opened) or (Sts_Horn and (Val_Fdbk \u003d\u003d 2)):\n\t\tindex \u003d 4\n\t\n\treturn colors[index]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "path": "material/play_arrow", + "style": { + "stroke": "#3F3F3F" + } + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "ValveRtOuterPolygon" + }, + "position": { + "height": 19, + "rotate": { + "angle": 180 + }, + "width": 19, + "x": 11, + "y": 19 + }, + "propConfig": { + "props.style.fill": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Closed\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\" # default color\n\tindex \u003d 0\n\t\n\tSts_Closed \u003d value\n\tSts_Horn \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Horn\"])[0].value\n\tVal_Fdbk \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_Fdbk\"])[0].value\n\tSts_Closing \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Closing\"])[0].value\n\tSts_Opening \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Opening\"])[0].value\n\tSts_Opened \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Opened\"])[0].value\n\t\n\t# fill colors according to the PlantPAX standard\n\tcolors \u003d {\n\t0 : \"FF00FF\",\n\t1 : \"808080\",\n\t2 : \"F0F0F0\",\n\t3 : \"808080\",\n\t4 : \"F0F0F0\"\n\t}\n\t\n\t# DO THE IF ELSE USING THE VARIABLES ABOVE\n\tif (Sts_Closed) or (Sts_Horn and (Val_Fdbk \u003d\u003d 1)): \n\t\tindex \u003d 1\n\telif (Sts_Closing):\n\t\tindex \u003d 2\n\telif (Sts_Opening):\n\t\tindex \u003d 3\n\telif (Sts_Opened) or (Sts_Horn and (Val_Fdbk \u003d\u003d 2)):\n\t\tindex \u003d 4\n\t\n\treturn colors[index]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "path": "material/play_arrow", + "style": { + "stroke": "#3F3F3F" + } + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "ValveRtInnerPolygon" + }, + "position": { + "height": 16, + "rotate": { + "angle": 180 + }, + "width": 17, + "x": 12, + "y": 20.5 + }, + "propConfig": { + "props.style.fill": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Closed\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\" # default color\n\tindex \u003d 0\n\t\n\tSts_Closed \u003d value\n\tSts_Horn \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Horn\"])[0].value\n\tVal_Fdbk \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_Fdbk\"])[0].value\n\tSts_Closing \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Closing\"])[0].value\n\tSts_Opening \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Opening\"])[0].value\n\tSts_Opened \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Opened\"])[0].value\n\t\n\t# fill colors according to the PlantPAX standard\n\tcolors \u003d {\n\t0 : \"FF00FF\",\n\t1 : \"808080\",\n\t2 : \"F0F0F0\",\n\t3 : \"808080\",\n\t4 : \"F0F0F0\"\n\t}\n\t\n\t# DO THE IF ELSE USING THE VARIABLES ABOVE\n\tif (Sts_Closed) or (Sts_Horn and (Val_Fdbk \u003d\u003d 1)): \n\t\tindex \u003d 1\n\telif (Sts_Closing):\n\t\tindex \u003d 2\n\telif (Sts_Opening):\n\t\tindex \u003d 3\n\telif (Sts_Opened) or (Sts_Horn and (Val_Fdbk \u003d\u003d 2)):\n\t\tindex \u003d 4\n\t\n\treturn colors[index]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "path": "material/play_arrow", + "style": { + "stroke": "#3F3F3F" + } + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "TextFailOpen" + }, + "position": { + "height": 13, + "width": 17, + "x": 6, + "y": 31 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"Cfg_FailOpen\")" + }, + "type": "expr" + } + } + }, + "props": { + "text": "FO", + "textStyle": { + "color": "3F3F3F", + "fontFamily": "Arial", + "fontSize": 8, + "fontWeight": "normal", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/Archive/P_ValveSO_Block/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/Archive/P_ValveSO_Block/resource.json new file mode 100644 index 0000000..b9edf8e --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/Archive/P_ValveSO_Block/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "ed3c0cc018352c67813fa00d933fac1b3488bdbfdfc038a23c6356c5dc2b21e8", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:18Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/Archive/P_ValveSO_Block/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/Archive/P_ValveSO_Block/thumbnail.png new file mode 100644 index 0000000..8a0d6f9 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/Archive/P_ValveSO_Block/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/Archive/P_ValveSO_Block/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/Archive/P_ValveSO_Block/view.json new file mode 100644 index 0000000..071c920 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/Archive/P_ValveSO_Block/view.json @@ -0,0 +1,310 @@ +{ + "custom": {}, + "params": { + "tagPath": "[default]Test_Tags/P_ValveSO" + }, + "propConfig": { + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 44, + "width": 35 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "P_ValveSO_Actuator_Case0" + }, + "position": { + "height": 19, + "width": 19, + "x": 5, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Sts_Closed\")" + }, + "transforms": [ + { + "code": "\t\n\tret_value \u003d \"\" # default color\n\tindex \u003d False\t#Index is the variable being determined by this script\n\t\n\tSts_Closed \u003d value\n\tInp_Sim \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_Sim\"])[0].value\n\tOut \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Out\"])[0].value\n\tCfg_FailOpen \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_FailOpen\"])[0].value\n\tSts_Closing \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Closing\"])[0].value\n\tSts_Opening \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Opening\"])[0].value\n\tSts_Opened \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Opened\"])[0].value\n\t\n\t# DO THE IF ELSE USING THE VARIABLES ABOVE\n\t\t\n\tif (not Inp_Sim) and (Out): \n\t\tindex \u003d True\n\t\t\n\telif (not Inp_Sim) and (not Out): \n\t\tindex \u003d False\n\t\t\t\n\telif (Cfg_FailOpen) and (Sts_Closed or Sts_Closing):\n\t\tindex \u003d True\n\t\t\n\telif (not Cfg_FailOpen) and (Sts_Opening or Sts_Opened):\n\t\tindex \u003d True\n\t\t\n\telse: False\n\n\t#\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\t#NOTE THIS SCRIPT HAS ITS OUTPUT REVERSED\n\t#\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\t\n\treturn not index", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/P_ValveSO_Actuator_Case0.svg" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "P_ValveSO_Actuator_Case1" + }, + "position": { + "height": 19, + "width": 19, + "x": 5, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Sts_Closed\")" + }, + "transforms": [ + { + "code": "\t\n\tret_value \u003d \"\" # default color\n\tindex \u003d False\t#Index is the variable being determined by this script\n\t\n\tSts_Closed \u003d value\n\tInp_Sim \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_Sim\"])[0].value\n\tOut \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Out\"])[0].value\n\tCfg_FailOpen \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_FailOpen\"])[0].value\n\tSts_Closing \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Closing\"])[0].value\n\tSts_Opening \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Opening\"])[0].value\n\tSts_Opened \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Opened\"])[0].value\n\t\n\t# DO THE IF ELSE USING THE VARIABLES ABOVE\n\t\t\n\tif (not Inp_Sim) and (Out): \n\t\tindex \u003d True\n\t\t\n\telif (not Inp_Sim) and (not Out): \n\t\tindex \u003d False\n\t\t\t\n\telif (Cfg_FailOpen) and (Sts_Closed or Sts_Closing):\n\t\tindex \u003d True\n\t\t\n\telif (not Cfg_FailOpen) and (Sts_Opening or Sts_Opened):\n\t\tindex \u003d True\n\t\t\n\telse: False\n\n\treturn index", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/P_ValveSO_Actuator_Case1.svg", + "style": { + "stroke": "3F3F3F" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Text" + }, + "position": { + "height": 15, + "width": 9, + "x": 10, + "y": 2 + }, + "props": { + "text": "S", + "textStyle": { + "color": "#000000", + "fontFamily": "Arial", + "fontSize": 10, + "fontWeight": "normal", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Line" + }, + "position": { + "height": 14, + "width": 6, + "x": 12, + "y": 15 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Vert_Line.svg" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ValveLtOuterPolygon" + }, + "position": { + "height": 19, + "width": 19, + "y": 19 + }, + "propConfig": { + "props.style.fill": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Closed\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\" # default color\n\tindex \u003d 0\n\t\n\tSts_Closed \u003d value\n\tSts_Horn \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Horn\"])[0].value\n\tVal_Fdbk \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_Fdbk\"])[0].value\n\tSts_Closing \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Closing\"])[0].value\n\tSts_Opening \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Opening\"])[0].value\n\tSts_Opened \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Opened\"])[0].value\n\t\n\t# fill colors according to the PlantPAX standard\n\tcolors \u003d {\n\t0 : \"FF00FF\",\n\t1 : \"808080\",\n\t2 : \"808080\",\n\t3 : \"F0F0F0\",\n\t4 : \"F0F0F0\"\n\t}\n\t\n\t# DO THE IF ELSE USING THE VARIABLES ABOVE\n\tif (Sts_Closed) or (Sts_Horn and (Val_Fdbk \u003d\u003d 1)): \n\t\tindex \u003d 1\n\telif (Sts_Closing):\n\t\tindex \u003d 2\n\telif (Sts_Opening):\n\t\tindex \u003d 3\n\telif (Sts_Opened) or (Sts_Horn and (Val_Fdbk \u003d\u003d 2)):\n\t\tindex \u003d 4\n\t\n\treturn colors[index]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "path": "material/play_arrow", + "style": { + "stroke": "#3F3F3F" + } + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "ValveLtInnerPolygon" + }, + "position": { + "height": 16, + "width": 17, + "x": 1, + "y": 20.5 + }, + "propConfig": { + "props.style.fill": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Closed\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\" # default color\n\tindex \u003d 0\n\t\n\tSts_Closed \u003d value\n\tSts_Horn \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Horn\"])[0].value\n\tVal_Fdbk \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_Fdbk\"])[0].value\n\tSts_Closing \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Closing\"])[0].value\n\tSts_Opening \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Opening\"])[0].value\n\tSts_Opened \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Opened\"])[0].value\n\t\n\t# fill colors according to the PlantPAX standard\n\tcolors \u003d {\n\t0 : \"FF00FF\",\n\t1 : \"808080\",\n\t2 : \"808080\",\n\t3 : \"F0F0F0\",\n\t4 : \"F0F0F0\"\n\t}\n\t\n\t# DO THE IF ELSE USING THE VARIABLES ABOVE\n\tif (Sts_Closed) or (Sts_Horn and (Val_Fdbk \u003d\u003d 1)): \n\t\tindex \u003d 1\n\telif (Sts_Closing):\n\t\tindex \u003d 2\n\telif (Sts_Opening):\n\t\tindex \u003d 3\n\telif (Sts_Opened) or (Sts_Horn and (Val_Fdbk \u003d\u003d 2)):\n\t\tindex \u003d 4\n\t\n\treturn colors[index]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "path": "material/play_arrow", + "style": { + "stroke": "#3F3F3F" + } + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "ValveRtOuterPolygon" + }, + "position": { + "height": 19, + "rotate": { + "angle": 180 + }, + "width": 19, + "x": 11, + "y": 19 + }, + "propConfig": { + "props.style.fill": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Closed\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\" # default color\n\tindex \u003d 0\n\t\n\tSts_Closed \u003d value\n\tSts_Horn \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Horn\"])[0].value\n\tVal_Fdbk \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_Fdbk\"])[0].value\n\tSts_Closing \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Closing\"])[0].value\n\tSts_Opening \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Opening\"])[0].value\n\tSts_Opened \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Opened\"])[0].value\n\t\n\t# fill colors according to the PlantPAX standard\n\tcolors \u003d {\n\t0 : \"FF00FF\",\n\t1 : \"808080\",\n\t2 : \"F0F0F0\",\n\t3 : \"808080\",\n\t4 : \"F0F0F0\"\n\t}\n\t\n\t# DO THE IF ELSE USING THE VARIABLES ABOVE\n\tif (Sts_Closed) or (Sts_Horn and (Val_Fdbk \u003d\u003d 1)): \n\t\tindex \u003d 1\n\telif (Sts_Closing):\n\t\tindex \u003d 2\n\telif (Sts_Opening):\n\t\tindex \u003d 3\n\telif (Sts_Opened) or (Sts_Horn and (Val_Fdbk \u003d\u003d 2)):\n\t\tindex \u003d 4\n\t\n\treturn colors[index]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "path": "material/play_arrow", + "style": { + "stroke": "#3F3F3F" + } + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "ValveRtInnerPolygon" + }, + "position": { + "height": 16, + "rotate": { + "angle": 180 + }, + "width": 17, + "x": 12, + "y": 20.5 + }, + "propConfig": { + "props.style.fill": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Closed\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\" # default color\n\tindex \u003d 0\n\t\n\tSts_Closed \u003d value\n\tSts_Horn \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Horn\"])[0].value\n\tVal_Fdbk \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_Fdbk\"])[0].value\n\tSts_Closing \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Closing\"])[0].value\n\tSts_Opening \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Opening\"])[0].value\n\tSts_Opened \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Opened\"])[0].value\n\t\n\t# fill colors according to the PlantPAX standard\n\tcolors \u003d {\n\t0 : \"FF00FF\",\n\t1 : \"808080\",\n\t2 : \"F0F0F0\",\n\t3 : \"808080\",\n\t4 : \"F0F0F0\"\n\t}\n\t\n\t# DO THE IF ELSE USING THE VARIABLES ABOVE\n\tif (Sts_Closed) or (Sts_Horn and (Val_Fdbk \u003d\u003d 1)): \n\t\tindex \u003d 1\n\telif (Sts_Closing):\n\t\tindex \u003d 2\n\telif (Sts_Opening):\n\t\tindex \u003d 3\n\telif (Sts_Opened) or (Sts_Horn and (Val_Fdbk \u003d\u003d 2)):\n\t\tindex \u003d 4\n\t\n\treturn colors[index]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "path": "material/play_arrow", + "style": { + "stroke": "#3F3F3F" + } + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "TextFailOpen" + }, + "position": { + "height": 13, + "width": 17, + "x": 6, + "y": 31 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"Cfg_FailOpen\")" + }, + "type": "expr" + } + } + }, + "props": { + "text": "FO", + "textStyle": { + "color": "3F3F3F", + "fontFamily": "Arial", + "fontSize": 8, + "fontWeight": "normal", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/P_ValveSO/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/P_ValveSO/resource.json new file mode 100644 index 0000000..9d59d35 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/P_ValveSO/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "77966a9ff2a270009acb0c17f65cb2e28d70ba33c93886a933f35e58fb52e3e7", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:18Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/P_ValveSO/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/P_ValveSO/thumbnail.png new file mode 100644 index 0000000..dfa35b3 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/P_ValveSO/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/P_ValveSO/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/P_ValveSO/view.json new file mode 100644 index 0000000..10d964d --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/P_ValveSO/view.json @@ -0,0 +1,371 @@ +{ + "custom": {}, + "params": { + "showLabel": true, + "tagPath": "[default]Test_Tags/P_ValveSO" + }, + "propConfig": { + "params.showLabel": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 37, + "width": 163 + }, + "dropConfig": { + "udts": [ + { + "action": "path", + "param": "tagPath", + "type": "Plant PAX/P_Ain" + } + ] + } + }, + "root": { + "children": [ + { + "meta": { + "name": "godsAlarmPolygon" + }, + "position": { + "height": "32px", + "width": "130px", + "x": "5px", + "y": "5px" + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d value\n\t\n\tcolors \u003d [\"\",\n\t\"#FFFFFF\",\n\t\"#916AAD\",\n\t\"#916AAD\",\n\t\"#F5DF1B\",\n\t\"#F5DF1B\",\n\t\"#EC8729\",\n\t\"#EC8729\",\n\t\"#E22028\",\n\t\"#E22028\",\n\t\"\"]\n\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d colors[Val_NotifyAll]\n\t\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 5 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "godsLabel" + }, + "position": { + "height": "14px", + "width": "140px", + "x": 23, + "y": 8 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderStyle": "none", + "color": "#3F3F3F", + "fontSize": "8pt", + "paddingLeft": "10px", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "ValveSO_MSI_Status", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 14, + "width": 140, + "x": 23, + "y": 20 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Val_Sts\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"Error\"\n\t\n\tVal \u003d value\n\t\n\tif (value \u003d\u003d 0):\n\t\tret_value \u003d \"Unknown\"\n\telif (value \u003d\u003d 1):\n\t\tret_value \u003d \"Closed\"\n\telif (value \u003d\u003d 2):\n\t\tret_value \u003d \"Opened\"\n\telif (value \u003d\u003d 5):\n\t\tret_value \u003d \"Closing\"\n\telif (value \u003d\u003d 6):\n\t\tret_value \u003d \"Opening\"\t\t\n\telif (value \u003d\u003d 5):\n\t\tret_value \u003d \"Horn\"\t\t\n\telse:\n\t\tret_value \u003d \"Calc Error\"\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#808080", + "fontWeight": "normal", + "paddingLeft": 10, + "textAlign": "left" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "8pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "msi_AlarmIndicator" + }, + "position": { + "height": 16, + "width": 16, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Motor_StateColor_OLD", + "visible": false + }, + "position": { + "height": 16, + "width": 16, + "x": 92.99716186523438, + "y": 4.999053955078125 + }, + "propConfig": { + "props.style.fill": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_Closed\"), 1, \r\n\tif(tag({view.params.tagPath} + \"/Sts_Closing\"), 2 ,\r\n\t\tif(tag({view.params.tagPath} + \"/Sts_Opening\"), 3,\r\n\t\t\tif(tag({view.params.tagPath} + \"/Sts_Opened\"), 4,\r\n\t0))))" + }, + "transforms": [ + { + "fallback": "#FF0000", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "#FF00FF" + }, + { + "input": 1, + "output": "#808080" + }, + { + "input": 2, + "output": "#F0F0F0" + }, + { + "input": 3, + "output": "#808080" + }, + { + "input": 4, + "output": "#F0F0F0" + } + ], + "outputType": "color", + "type": "map" + } + ], + "type": "expr" + } + } + }, + "props": { + "color": "#000000", + "path": "material/panorama_fish_eye", + "style": { + "stroke": "#3F3F3F" + } + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "P_ValveSO_MotorColor_Case0" + }, + "position": { + "height": 17, + "width": 17, + "x": 7, + "y": 14 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_Closed\"), False, \r\n\tif(tag({view.params.tagPath} + \"/Sts_Closing\"), False ,\r\n\t\tif(tag({view.params.tagPath} + \"/Sts_Opening\"), False,\r\n\t\t\tif(tag({view.params.tagPath} + \"/Sts_Opened\"), False,\r\n\tTrue))))" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/P_ValveSO_MotorColor_Case0.svg" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "P_ValveSO_MotorColor_Case1" + }, + "position": { + "height": 17, + "width": 17, + "x": 7, + "y": 14 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_Closed\"), True, \r\n\tif(tag({view.params.tagPath} + \"/Sts_Closing\"), False ,\r\n\t\tif(tag({view.params.tagPath} + \"/Sts_Opening\"), True,\r\n\t\t\tif(tag({view.params.tagPath} + \"/Sts_Opened\"), False,\r\n\tFalse))))" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/P_ValveSO_MotorColor_Case1.svg" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "P_ValveSO_MotorColor_Case2" + }, + "position": { + "height": 17, + "width": 17, + "x": 10, + "y": 14 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_Closed\"), False, \r\n\tif(tag({view.params.tagPath} + \"/Sts_Closing\"), True ,\r\n\t\tif(tag({view.params.tagPath} + \"/Sts_Opening\"), False,\r\n\t\t\tif(tag({view.params.tagPath} + \"/Sts_Opened\"), True,\r\n\tFalse))))" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/P_ValveSO_MotorColor_Case2.svg" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "{view.params.tagPath}", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "{/root.meta.tooltip.text}", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}" + }, + "viewPath": "Plant PAX/Popups/DigitalInput/Popup", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "root", + "tooltip": {} + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_Tag\") + \" - \" + tag({view.params.tagPath}+\"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/P_ValveSO_Block/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/P_ValveSO_Block/resource.json new file mode 100644 index 0000000..fc85363 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/P_ValveSO_Block/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "30d19eff68877d1fb9f5a45891df0b37270870c07e77048c06ae5e9e719221b5", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:18Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/P_ValveSO_Block/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/P_ValveSO_Block/thumbnail.png new file mode 100644 index 0000000..2ff38c5 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/P_ValveSO_Block/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/P_ValveSO_Block/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/P_ValveSO_Block/view.json new file mode 100644 index 0000000..52c7ca8 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/P_ValveSO_Block/view.json @@ -0,0 +1,310 @@ +{ + "custom": {}, + "params": { + "tagPath": "[default]Test_Tags/P_ValveSO" + }, + "propConfig": { + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 44, + "width": 35 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "P_ValveSO_Actuator_Case0" + }, + "position": { + "height": 19, + "width": 19, + "x": 5, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Sts_Closed\")" + }, + "transforms": [ + { + "code": "\t\n\tret_value \u003d \"\" # default color\n\tindex \u003d False\t#Index is the variable being determined by this script\n\t\n\tSts_Closed \u003d value\n\tInp_Sim \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_Sim\"])[0].value\n\tOut \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Out\"])[0].value\n\tCfg_FailOpen \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_FailOpen\"])[0].value\n\tSts_Closing \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Closing\"])[0].value\n\tSts_Opening \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Opening\"])[0].value\n\tSts_Opened \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Opened\"])[0].value\n\t\n\t# DO THE IF ELSE USING THE VARIABLES ABOVE\n\t\t\n\tif (not Inp_Sim) and (Out): \n\t\tindex \u003d True\n\t\t\n\telif (not Inp_Sim) and (not Out): \n\t\tindex \u003d False\n\t\t\t\n\telif (Cfg_FailOpen) and (Sts_Closed or Sts_Closing):\n\t\tindex \u003d True\n\t\t\n\telif (not Cfg_FailOpen) and (Sts_Opening or Sts_Opened):\n\t\tindex \u003d True\n\t\t\n\telse: False\n\n\t#\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\t#NOTE THIS SCRIPT HAS ITS OUTPUT REVERSED\n\t#\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\t\n\treturn not index", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/P_ValveSO_Actuator_Case0.svg" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "P_ValveSO_Actuator_Case1" + }, + "position": { + "height": 19, + "width": 19, + "x": 5, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Sts_Closed\")" + }, + "transforms": [ + { + "code": "\t\n\tret_value \u003d \"\" # default color\n\tindex \u003d False\t#Index is the variable being determined by this script\n\t\n\tSts_Closed \u003d value\n\tInp_Sim \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_Sim\"])[0].value\n\tOut \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Out\"])[0].value\n\tCfg_FailOpen \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_FailOpen\"])[0].value\n\tSts_Closing \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Closing\"])[0].value\n\tSts_Opening \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Opening\"])[0].value\n\tSts_Opened \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Opened\"])[0].value\n\t\n\t# DO THE IF ELSE USING THE VARIABLES ABOVE\n\t\t\n\tif (not Inp_Sim) and (Out): \n\t\tindex \u003d True\n\t\t\n\telif (not Inp_Sim) and (not Out): \n\t\tindex \u003d False\n\t\t\t\n\telif (Cfg_FailOpen) and (Sts_Closed or Sts_Closing):\n\t\tindex \u003d True\n\t\t\n\telif (not Cfg_FailOpen) and (Sts_Opening or Sts_Opened):\n\t\tindex \u003d True\n\t\t\n\telse: False\n\n\treturn index", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/P_ValveSO_Actuator_Case1.svg", + "style": { + "stroke": "3F3F3F" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Text" + }, + "position": { + "height": "15px", + "width": "9px", + "x": "10px", + "y": "2px" + }, + "props": { + "text": "S", + "textStyle": { + "color": "#000000", + "fontFamily": "Arial", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Line" + }, + "position": { + "height": 14, + "width": 6, + "x": 12, + "y": 15 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Vert_Line.svg" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ValveLtOuterPolygon" + }, + "position": { + "height": 19, + "width": 19, + "y": 19 + }, + "propConfig": { + "props.style.fill": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Closed\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\" # default color\n\tindex \u003d 0\n\t\n\tSts_Closed \u003d value\n\tSts_Horn \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Horn\"])[0].value\n\tVal_Fdbk \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_Fdbk\"])[0].value\n\tSts_Closing \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Closing\"])[0].value\n\tSts_Opening \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Opening\"])[0].value\n\tSts_Opened \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Opened\"])[0].value\n\t\n\t# fill colors according to the PlantPAX standard\n\tcolors \u003d {\n\t0 : \"FF00FF\",\n\t1 : \"808080\",\n\t2 : \"808080\",\n\t3 : \"F0F0F0\",\n\t4 : \"F0F0F0\"\n\t}\n\t\n\t# DO THE IF ELSE USING THE VARIABLES ABOVE\n\tif (Sts_Closed) or (Sts_Horn and (Val_Fdbk \u003d\u003d 1)): \n\t\tindex \u003d 1\n\telif (Sts_Closing):\n\t\tindex \u003d 2\n\telif (Sts_Opening):\n\t\tindex \u003d 3\n\telif (Sts_Opened) or (Sts_Horn and (Val_Fdbk \u003d\u003d 2)):\n\t\tindex \u003d 4\n\t\n\treturn colors[index]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "path": "material/play_arrow", + "style": { + "stroke": "#3F3F3F" + } + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "ValveLtInnerPolygon" + }, + "position": { + "height": 16, + "width": 17, + "x": 1, + "y": 20.5 + }, + "propConfig": { + "props.style.fill": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Closed\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\" # default color\n\tindex \u003d 0\n\t\n\tSts_Closed \u003d value\n\tSts_Horn \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Horn\"])[0].value\n\tVal_Fdbk \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_Fdbk\"])[0].value\n\tSts_Closing \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Closing\"])[0].value\n\tSts_Opening \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Opening\"])[0].value\n\tSts_Opened \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Opened\"])[0].value\n\t\n\t# fill colors according to the PlantPAX standard\n\tcolors \u003d {\n\t0 : \"FF00FF\",\n\t1 : \"808080\",\n\t2 : \"808080\",\n\t3 : \"F0F0F0\",\n\t4 : \"F0F0F0\"\n\t}\n\t\n\t# DO THE IF ELSE USING THE VARIABLES ABOVE\n\tif (Sts_Closed) or (Sts_Horn and (Val_Fdbk \u003d\u003d 1)): \n\t\tindex \u003d 1\n\telif (Sts_Closing):\n\t\tindex \u003d 2\n\telif (Sts_Opening):\n\t\tindex \u003d 3\n\telif (Sts_Opened) or (Sts_Horn and (Val_Fdbk \u003d\u003d 2)):\n\t\tindex \u003d 4\n\t\n\treturn colors[index]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "path": "material/play_arrow", + "style": { + "stroke": "#3F3F3F" + } + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "ValveRtOuterPolygon" + }, + "position": { + "height": 19, + "rotate": { + "angle": 180 + }, + "width": 19, + "x": 11, + "y": 19 + }, + "propConfig": { + "props.style.fill": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Closed\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\" # default color\n\tindex \u003d 0\n\t\n\tSts_Closed \u003d value\n\tSts_Horn \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Horn\"])[0].value\n\tVal_Fdbk \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_Fdbk\"])[0].value\n\tSts_Closing \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Closing\"])[0].value\n\tSts_Opening \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Opening\"])[0].value\n\tSts_Opened \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Opened\"])[0].value\n\t\n\t# fill colors according to the PlantPAX standard\n\tcolors \u003d {\n\t0 : \"FF00FF\",\n\t1 : \"808080\",\n\t2 : \"F0F0F0\",\n\t3 : \"808080\",\n\t4 : \"F0F0F0\"\n\t}\n\t\n\t# DO THE IF ELSE USING THE VARIABLES ABOVE\n\tif (Sts_Closed) or (Sts_Horn and (Val_Fdbk \u003d\u003d 1)): \n\t\tindex \u003d 1\n\telif (Sts_Closing):\n\t\tindex \u003d 2\n\telif (Sts_Opening):\n\t\tindex \u003d 3\n\telif (Sts_Opened) or (Sts_Horn and (Val_Fdbk \u003d\u003d 2)):\n\t\tindex \u003d 4\n\t\n\treturn colors[index]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "path": "material/play_arrow", + "style": { + "stroke": "#3F3F3F" + } + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "ValveRtInnerPolygon" + }, + "position": { + "height": 16, + "rotate": { + "angle": 180 + }, + "width": 17, + "x": 12, + "y": 20.5 + }, + "propConfig": { + "props.style.fill": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Closed\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\" # default color\n\tindex \u003d 0\n\t\n\tSts_Closed \u003d value\n\tSts_Horn \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Horn\"])[0].value\n\tVal_Fdbk \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_Fdbk\"])[0].value\n\tSts_Closing \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Closing\"])[0].value\n\tSts_Opening \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Opening\"])[0].value\n\tSts_Opened \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Opened\"])[0].value\n\t\n\t# fill colors according to the PlantPAX standard\n\tcolors \u003d {\n\t0 : \"FF00FF\",\n\t1 : \"808080\",\n\t2 : \"F0F0F0\",\n\t3 : \"808080\",\n\t4 : \"F0F0F0\"\n\t}\n\t\n\t# DO THE IF ELSE USING THE VARIABLES ABOVE\n\tif (Sts_Closed) or (Sts_Horn and (Val_Fdbk \u003d\u003d 1)): \n\t\tindex \u003d 1\n\telif (Sts_Closing):\n\t\tindex \u003d 2\n\telif (Sts_Opening):\n\t\tindex \u003d 3\n\telif (Sts_Opened) or (Sts_Horn and (Val_Fdbk \u003d\u003d 2)):\n\t\tindex \u003d 4\n\t\n\treturn colors[index]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "path": "material/play_arrow", + "style": { + "stroke": "#3F3F3F" + } + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "TextFailOpen" + }, + "position": { + "height": 13, + "width": 17, + "x": 6, + "y": 31 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"Cfg_FailOpen\")" + }, + "type": "expr" + } + } + }, + "props": { + "text": "FO", + "textStyle": { + "color": "3F3F3F", + "fontFamily": "Arial", + "fontSize": 8, + "fontWeight": "normal", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/P_ValveSO_Hor/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/P_ValveSO_Hor/resource.json new file mode 100644 index 0000000..8e72093 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/P_ValveSO_Hor/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "e834e885ff6dc3b4202ec6089b7764a9a3dd1d3b4df51adc8d744cc0df19e46e", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:18Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/P_ValveSO_Hor/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/P_ValveSO_Hor/thumbnail.png new file mode 100644 index 0000000..772b95b Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/P_ValveSO_Hor/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/P_ValveSO_Hor/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/P_ValveSO_Hor/view.json new file mode 100644 index 0000000..5b5e06a --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/P_ValveSO_Hor/view.json @@ -0,0 +1,3141 @@ +{ + "custom": {}, + "params": { + "showLabel": true, + "tagPath": "[default]Test_Tags/P_ValveSO" + }, + "propConfig": { + "params.showLabel": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 77, + "width": 140 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "AlarmFrame" + }, + "position": { + "height": 72, + "width": 124, + "x": 7, + "y": 5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d value\n\t\n\tcolors \u003d [\"\",\n\t\"#FFFFFF\",\n\t\"#916AAD\",\n\t\"#916AAD\",\n\t\"#F5DF1B\",\n\t\"#F5DF1B\",\n\t\"#EC8729\",\n\t\"#EC8729\",\n\t\"#E22028\",\n\t\"#E22028\",\n\t\"\"]\n\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d colors[Val_NotifyAll]\n\t\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 3 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 14, + "width": 140, + "y": 61 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.showLabel" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#808080", + "borderStyle": "none", + "borderWidth": "1px", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIndicator" + }, + "position": { + "height": 16, + "width": 16, + "x": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotReady" + }, + "position": { + "height": 16, + "width": 16, + "x": 114, + "y": 43 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_NotRdy\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_NotReady.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "MaintBypass" + }, + "position": { + "height": 16, + "width": 16, + "x": 94, + "y": 43 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_MaintByp\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_MaintByp.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Exceptions" + }, + "position": { + "height": 16, + "width": 16, + "x": 7, + "y": 43 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Err\") ||\r\ntag({view.params.tagPath} + \"/SrcQ\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\t\t\n\tSts_Error \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Error\"])[0].value\n\tindex \u003d 0\n\t\n\tSrcQ3 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 8) \u003d\u003d 8\n\tSrcQ4 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 16) \u003d\u003d 16\n\tSrcQ5 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 32) \u003d\u003d 32\n\n\tif (Sts_Error \u003d\u003d True):\n\t\tindex \u003d 4 \n\telif (SrcQ5 \u003d\u003d True):\n\t\tindex \u003d 3\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 2\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 1\n\telse:\n\t\tindex \u003d 0\n\n\tif (index \u003e 0):\n\t\tret_value \u003d True\t\t\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Err\") ||\r\ntag({view.params.tagPath} + \"/SrcQ\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_Simulated\",\n\t 2: \"Sts_CommUncertain\",\n\t 3: \"Sts_CommBad\",\n\t 4: \"Sts_BC_BadCfg\",\n\t}\n\t\t\t\n\tSts_Error \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Error\"])[0].value\n\tindex \u003d 0\n\t\n\tSrcQ3 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 8) \u003d\u003d 8\n\tSrcQ4 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 16) \u003d\u003d 16\n\tSrcQ5 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 32) \u003d\u003d 32\n\n\tif (Sts_Error \u003d\u003d True):\n\t\tindex \u003d 4 \n\telif (SrcQ5 \u003d\u003d True):\n\t\tindex \u003d 3\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 2\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 1\n\telse:\n\t\tindex \u003d 0\n\n\ttry:\n\t\tret_value \u003d images_path.format(images[index])\n\texcept:\n\t\tret_value \u003d images_path.format(\"Error\")\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "CmdSrcExceptions" + }, + "position": { + "height": 16, + "width": 16, + "x": 27, + "y": 43 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Sts_OoS\") ||\r\ntag({view.params.tagPath} + \"/CmdSrc/Sts_Normal\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_BC_CmdSrcNotNorm\",\n\t 2: \"Sts_CmdSrcOoS\"\n\t}\n\t\t\t\n\tSts_OoS \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_OoS\"])[0].value\n\tindex \u003d 0\n\tCmdSrc_Sts_Normal \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_Normal\"])[0].value\n\n\tif (Sts_OoS \u003d\u003d True):\n\t\tindex \u003d 2 \n\telif (CmdSrc_Sts_Normal \u003d\u003d True):\n\t\tindex \u003d 0\n\telse:\n\t\tindex \u003d 1\n\n\tif (index \u003e 0):\n\t\tret_value \u003d True\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Sts_OoS\") ||\r\ntag({view.params.tagPath} + \"/CmdSrc/Sts_Normal\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_BC_CmdSrcNotNorm\",\n\t 2: \"Sts_CmdSrcOoS\"\n\t}\n\t\t\t\n\tSts_OoS \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_OoS\"])[0].value\n\tindex \u003d 0\n\tCmdSrc_Sts_Normal \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_Normal\"])[0].value\n\n\tif (Sts_OoS \u003d\u003d True):\n\t\tindex \u003d 2 \n\telif (CmdSrc_Sts_Normal \u003d\u003d True):\n\t\tindex \u003d 0\n\telse:\n\t\tindex \u003d 1\n\n\ttry:\n\t\tret_value \u003d images_path.format(images[index])\n\texcept:\n\t\tret_value \u003d images_path.format(\"Error\")\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Status" + }, + "position": { + "height": 14, + "width": 66, + "x": 74, + "y": 7 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "case(tag({view.params.tagPath}+ \"/Val_Sts\"), \t0, \"Unknown\",\r\n1, \"Closed\",\r\n2, \"Open\",\r\n3, \"Command to Close\",\r\n4, \"Command to Open\",\r\n5, \"Closing\",\r\n6, \"Opening\",\r\n7, \"Stopped\",\r\n8, \"Moving\",\r\n9, \"Tripping\",\r\n10, \"Horn\", \r\n\"Error\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#808080", + "borderStyle": "none", + "borderWidth": "1px", + "color": "#808080", + "fontSize": "8pt", + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "center" + }, + "textStyle": { + "fontSize": "8pt" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 1, + "x": 17.5, + "y": 20 + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftColor": "#3F3F3F", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px", + "borderRightStyle": "none", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Inside0" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 18, + "x": 0.50066, + "y": 5.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside1" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 16, + "x": 2.50066, + "y": 4.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside2" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 16, + "x": 2.50066, + "y": 5.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside3" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 15, + "x": 3.50066, + "y": 5.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside4" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 15, + "x": 3.50066, + "y": 6.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside5" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 14, + "x": 4.50066, + "y": 6.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside6" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 14, + "x": 4.50066, + "y": 7.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside7" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 13, + "x": 5.50066, + "y": 7.002610000000001 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside8" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 13, + "x": 5.50066, + "y": 8.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside9" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 12, + "x": 6.50066, + "y": 8.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside10" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 11, + "x": 7.50066, + "y": 8.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside11" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 11, + "x": 7.50066, + "y": 9.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside12" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 10, + "x": 8.50066, + "y": 9.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside13" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 10, + "x": 8.50066, + "y": 10.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside14" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 9, + "x": 9.50066, + "y": 10.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside15" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 8, + "x": 10.5007, + "y": 10.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside16" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 8, + "x": 10.5007, + "y": 11.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside17" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 7, + "x": 11.5007, + "y": 11.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside18" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 7, + "x": 11.5007, + "y": 12.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside19" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 6, + "x": 12.5007, + "y": 12.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside20" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 5, + "x": 13.5007, + "y": 12.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside21" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 5, + "x": 13.5007, + "y": 13.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside22" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 4, + "x": 14.5007, + "y": 13.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside23" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 3, + "x": 14.5007, + "y": 13.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside24" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 3, + "x": 14.5007, + "y": 14.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside25" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 2, + "x": 15.5007, + "y": 14.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside26" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 1.5, + "x": 16.5007, + "y": 14.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside27" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 1, + "x": 16.5007, + "y": 15.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside28" + }, + "position": { + "height": 1, + "rotate": { + "angle": 25 + }, + "width": 18, + "x": 0.50066, + "y": 12.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside29" + }, + "position": { + "height": 1, + "rotate": { + "angle": 90 + }, + "width": 16, + "x": 9.50066, + "y": 8.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Inside" + }, + "position": { + "height": 19, + "width": 19 + }, + "propConfig": { + "custom.valveColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "TopLeftLine" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 19.5, + "x": -0.49934, + "y": 4.00261 + }, + "props": { + "style": { + "borderTopColor": "#3F3F3F", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BottomLeftLine" + }, + "position": { + "height": 1, + "rotate": { + "angle": 25 + }, + "width": 19.5, + "x": -0.49934, + "y": 12.0026 + }, + "props": { + "style": { + "borderTopColor": "#3F3F3F", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "RightLine" + }, + "position": { + "height": 16.5, + "rotate": { + "angle": 0 + }, + "width": 1, + "x": 17.5007, + "y": 0.5 + }, + "props": { + "style": { + "borderRightColor": "#3F3F3F", + "borderRightStyle": "solid", + "borderRightWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "custom": { + "valveColorArchive": "#F0F0F0" + }, + "meta": { + "name": "ValveRtGroup" + }, + "position": { + "height": 19, + "width": 19, + "x": 17, + "y": 22 + }, + "propConfig": { + "custom.valveColor": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_Closed\") || (tag({view.params.tagPath} + \"/Sts_Horn\") \u0026\u0026 (tag({view.params.tagPath} + \"/Val_Fdbk\") \u003d 1)), \"#808080\", \r\n\tif (tag({view.params.tagPath} + \"/Sts_Closing\"), \"#F0F0F0\",\r\n\t\tif (tag({view.params.tagPath} + \"/Sts_Opening\"), \"#808080\",\r\n\t\t\tif (tag({view.params.tagPath} + \"/Sts_Opened\") || (tag({view.params.tagPath} + \"/Sts_Horn\") \u0026\u0026 (tag({view.params.tagPath} + \"/Val_Fdbk\")) \u003d 2), \"#F0F0F0\", \"#FF00FF\")\r\n\t\t)\r\n\t)\r\n)\r\n\r\n\r\n//colors \u003d {\r\n//0: \"#FF00FF\",\r\n//1: \"#808080\",\r\n//2: \"#F0F0F0\",\r\n//3: \"#808080\",\r\n//4: \"#F0F0F0\",\r\n//}\r\n//\r\n//Sts_Closing \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Closing\"])[0].value\r\n//Sts_Closed \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Closed\"])[0].value\r\n//Sts_Opening \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Opening\"])[0].value\r\n//Sts_Opened \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Opened\"])[0].value\r\n//Sts_Horn \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Horn\"])[0].value\r\n//Val_Fdbk \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_Fdbk\"])[0].value\r\n//\r\n//if (Sts_Closed or (Sts_Horn and (Val_Fdbk \u003d\u003d 1))):\r\n//\tindex \u003d 1\r\n//elif (Sts_Closing):\r\n//\tindex \u003d 2\r\n//elif (Sts_Opening):\r\n//\tindex \u003d 3\r\n//elif (Sts_Opened or (Sts_Horn and (Val_Fdbk \u003d\u003d 2))):\r\n//\tindex \u003d 4\r\n//\r\n//try:\r\n//\tret_value \u003d colors[index]\r\n//except:\r\n//\tret_value \u003d \"#808080\"" + }, + "type": "expr" + } + }, + "custom.valveColorArchive": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Closing\") || tag({view.params.tagPath} + \"/Sts_Closed\") ||\r\ntag({view.params.tagPath} + \"/Sts_Opening\") || tag({view.params.tagPath} + \"/Sts_Opened\") ||\r\ntag({view.params.tagPath} + \"/Sts_Horn\") || tag({view.params.tagPath} + \"/Val_Fdbk\")" + }, + "enabled": false, + "transforms": [ + { + "code": "\tret_value \u003d \"#808080\"\n\tindex \u003d 0\n\t\n\tcolors \u003d {\n\t0: \"#FF00FF\",\n\t1: \"#808080\",\n\t2: \"#F0F0F0\",\n\t3: \"#808080\",\n\t4: \"#F0F0F0\",\n\t}\n\t\n\tSts_Closing \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Closing\"])[0].value\n\tSts_Closed \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Closed\"])[0].value\n\tSts_Opening \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Opening\"])[0].value\n\tSts_Opened \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Opened\"])[0].value\n\tSts_Horn \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Horn\"])[0].value\n\tVal_Fdbk \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_Fdbk\"])[0].value\n\t\n\tif (Sts_Closed or (Sts_Horn and (Val_Fdbk \u003d\u003d 1))):\n\t\tindex \u003d 1\n\telif (Sts_Closing):\n\t\tindex \u003d 2\n\telif (Sts_Opening):\n\t\tindex \u003d 3\n\telif (Sts_Opened or (Sts_Horn and (Val_Fdbk \u003d\u003d 2))):\n\t\tindex \u003d 4\n\t\n\ttry:\n\t\tret_value \u003d colors[index]\n\texcept:\n\t\tret_value \u003d \"#808080\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Inside0" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 18, + "x": 0.50066, + "y": 5.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside1" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 16, + "x": 2.50066, + "y": 4.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside2" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 16, + "x": 2.50066, + "y": 5.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside3" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 15, + "x": 3.50066, + "y": 5.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside4" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 15, + "x": 3.50066, + "y": 6.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside5" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 14, + "x": 4.50066, + "y": 6.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside6" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 14, + "x": 4.50066, + "y": 7.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside7" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 13, + "x": 5.50066, + "y": 7.002610000000001 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside8" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 13, + "x": 5.50066, + "y": 8.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside9" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 12, + "x": 6.50066, + "y": 8.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside10" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 11, + "x": 7.50066, + "y": 8.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside11" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 11, + "x": 7.50066, + "y": 9.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside12" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 10, + "x": 8.50066, + "y": 9.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside13" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 10, + "x": 8.50066, + "y": 10.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside14" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 9, + "x": 9.50066, + "y": 10.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside15" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 8, + "x": 10.5007, + "y": 10.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside16" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 8, + "x": 10.5007, + "y": 11.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside17" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 7, + "x": 11.5007, + "y": 11.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside18" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 7, + "x": 11.5007, + "y": 12.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside19" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 6, + "x": 12.5007, + "y": 12.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside20" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 5, + "x": 13.5007, + "y": 12.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside21" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 5, + "x": 13.5007, + "y": 13.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside22" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 4, + "x": 14.5007, + "y": 13.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside23" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 3, + "x": 14.5007, + "y": 13.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside24" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 3, + "x": 14.5007, + "y": 14.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside25" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 2, + "x": 15.5007, + "y": 14.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside26" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 1.5, + "x": 16.5007, + "y": 14.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside27" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 1, + "x": 16.5007, + "y": 15.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside28" + }, + "position": { + "height": 1, + "rotate": { + "angle": 25 + }, + "width": 18, + "x": 0.50066, + "y": 12.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside29" + }, + "position": { + "height": 1, + "rotate": { + "angle": 90 + }, + "width": 16, + "x": 9.50066, + "y": 8.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Inside" + }, + "position": { + "height": 19, + "width": 19 + }, + "propConfig": { + "custom.valveColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "TopLeftLine" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 19.5, + "x": -0.49934, + "y": 4.00261 + }, + "props": { + "style": { + "borderTopColor": "#3F3F3F", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BottomLeftLine" + }, + "position": { + "height": 1, + "rotate": { + "angle": 25 + }, + "width": 19.5, + "x": -0.49934, + "y": 12.0026 + }, + "props": { + "style": { + "borderTopColor": "#3F3F3F", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "RightLine" + }, + "position": { + "height": 16.5, + "rotate": { + "angle": 0 + }, + "width": 1, + "x": 17.5007, + "y": 0.5 + }, + "props": { + "style": { + "borderRightColor": "#3F3F3F", + "borderRightStyle": "solid", + "borderRightWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "custom": { + "valveColorArchive": "#F0F0F0" + }, + "meta": { + "name": "ValveLtGroup" + }, + "position": { + "height": 19, + "rotate": { + "angle": "180deg" + }, + "width": 19, + "y": 20.25 + }, + "propConfig": { + "custom.valveColor": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_Closed\") || (tag({view.params.tagPath} + \"/Sts_Horn\") \u0026\u0026 (tag({view.params.tagPath} + \"/Val_Fdbk\") \u003d 1)), \"#808080\", \r\n\tif (tag({view.params.tagPath} + \"/Sts_Closing\"), \"#808080\",\r\n\t\tif (tag({view.params.tagPath} + \"/Sts_Opening\"), \"#F0F0F0\",\r\n\t\t\tif (tag({view.params.tagPath} + \"/Sts_Opened\") || (tag({view.params.tagPath} + \"/Sts_Horn\") \u0026\u0026 (tag({view.params.tagPath} + \"/Val_Fdbk\")) \u003d 2), \"#F0F0F0\", \"#FF00FF\")\r\n\t\t)\r\n\t)\r\n)\r\n\r\n//colors \u003d {\r\n//0: \"#FF00FF\",\r\n//1: \"#808080\",\r\n//2: \"#808080\",\r\n//3: \"#F0F0F0\",\r\n//4: \"#F0F0F0\",\r\n//}\r\n//\r\n//Sts_Closing \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Closing\"])[0].value\r\n//Sts_Closed \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Closed\"])[0].value\r\n//Sts_Opening \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Opening\"])[0].value\r\n//Sts_Opened \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Opened\"])[0].value\r\n//Sts_Horn \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Horn\"])[0].value\r\n//Val_Fdbk \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_Fdbk\"])[0].value\r\n//\r\n//if (Sts_Closed or (Sts_Horn and (Val_Fdbk \u003d\u003d 1))):\r\n//\tindex \u003d 1\r\n//elif (Sts_Closing):\r\n//\tindex \u003d 2\r\n//elif (Sts_Opening):\r\n//\tindex \u003d 3\r\n//elif (Sts_Opened or (Sts_Horn and (Val_Fdbk \u003d\u003d 2))):\r\n//\tindex \u003d 4\r\n" + }, + "type": "expr" + } + }, + "custom.valveColorArchive": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Closing\") || tag({view.params.tagPath} + \"/Sts_Closed\") ||\r\ntag({view.params.tagPath} + \"/Sts_Opening\") || tag({view.params.tagPath} + \"/Sts_Opened\") ||\r\ntag({view.params.tagPath} + \"/Sts_Horn\") || tag({view.params.tagPath} + \"/Val_Fdbk\")" + }, + "enabled": false, + "transforms": [ + { + "code": "\tret_value \u003d \"#808080\"\n\tindex \u003d 0\n\t\n\tcolors \u003d {\n\t0: \"#FF00FF\",\n\t1: \"#808080\",\n\t2: \"#808080\",\n\t3: \"#F0F0F0\",\n\t4: \"#F0F0F0\",\n\t}\n\t\n\tSts_Closing \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Closing\"])[0].value\n\tSts_Closed \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Closed\"])[0].value\n\tSts_Opening \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Opening\"])[0].value\n\tSts_Opened \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Opened\"])[0].value\n\tSts_Horn \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Horn\"])[0].value\n\tVal_Fdbk \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_Fdbk\"])[0].value\n\t\n\tif (Sts_Closed or (Sts_Horn and (Val_Fdbk \u003d\u003d 1))):\n\t\tindex \u003d 1\n\telif (Sts_Closing):\n\t\tindex \u003d 2\n\telif (Sts_Opening):\n\t\tindex \u003d 3\n\telif (Sts_Opened or (Sts_Horn and (Val_Fdbk \u003d\u003d 2))):\n\t\tindex \u003d 4\n\t\n\ttry:\n\t\tret_value \u003d colors[index]\n\texcept:\n\t\tret_value \u003d \"#808080\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "custom": { + "backgroundColorArchive": "#F0F0F0" + }, + "meta": { + "name": "Actuator" + }, + "position": { + "height": 19, + "width": 19, + "x": 8.5, + "y": 1.0057 + }, + "propConfig": { + "custom.backgroundColorArchive": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Inp_Sim\") || tag({view.params.tagPath} + \"/Out\") ||\r\ntag({view.params.tagPath} + \"/Cfg_FailOpen\") || tag({view.params.tagPath} + \"/Sts_Closed\") || tag({view.params.tagPath} + \"/Sts_Closing\") || \r\ntag({view.params.tagPath} + \"/Sts_Opening\") || tag({view.params.tagPath} + \"/Sts_Opened\")" + }, + "enabled": false, + "transforms": [ + { + "code": "\tret_value \u003d \"#808080\"\n\tindex \u003d 0\n\t\n\tInp_Sim \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_Sim\"])[0].value\n\tOut \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Out\"])[0].value\n\tCfg_FailOpen \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_FailOpen\"])[0].value\n\tSts_Closing \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Closing\"])[0].value\n\tSts_Closed \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Closed\"])[0].value\n\tSts_Opening \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Opening\"])[0].value\n\tSts_Opened \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Opened\"])[0].value\n\t\n\tif (not Inp_Sim):\n\t\tindex \u003d Out\n\telif (Cfg_FailOpen) and (Sts_Closed or Sts_Closing):\n\t\tindex \u003d 1\n\telif (not (Cfg_FailOpen)) and (Sts_Opening or Sts_Opened):\n\t\tindex \u003d 1\n\t\n\tif (index \u003d\u003d 1):\n\t\tret_value \u003d \"#F0F0F0\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if (!(tag({view.params.tagPath} + \"/Inp_Sim\")), if (tag({view.params.tagPath} + \"/Out\"), \"#F0F0F0\", \"#808080\"),\r\n\tif (tag({view.params.tagPath} + \"/Cfg_FailOpen\") \u0026\u0026 (tag({view.params.tagPath} + \"/Sts_Closed\") || tag({view.params.tagPath} + \"/Sts_Closing\")), \"#F0F0F0\",\r\n\t\tif (!tag({view.params.tagPath} + \"/Cfg_FailOpen\") \u0026\u0026 (tag({view.params.tagPath} + \"/Sts_Opening\") || tag({view.params.tagPath} + \"/Sts_Opened\")), \"#F0F0F0\", \"#808080\"\r\n\t\t)\r\n\t)\r\n)\r\n\r\n//if (not Inp_Sim):\r\n//\tindex \u003d Out\r\n//elif (Cfg_FailOpen) and (Sts_Closed or Sts_Closing):\r\n//\tindex \u003d 1\r\n//elif (not (Cfg_FailOpen)) and (Sts_Opening or Sts_Opened):\r\n//\tindex \u003d 1" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "bold", + "textAlign": "center" + }, + "text": "S" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "ValveGroup" + }, + "position": { + "height": 42, + "width": 37, + "x": 51.5, + "y": 6 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "FailOpen" + }, + "position": { + "height": 14, + "width": 37, + "x": 51, + "y": 43 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_FailOpen\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#808080", + "borderStyle": "none", + "borderWidth": "1px", + "color": "#808080", + "fontSize": "8pt", + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "center" + }, + "text": "FO", + "textStyle": { + "fontSize": "8pt" + } + }, + "type": "ia.display.label" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "{view.params.tagPath}", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "{/root.meta.tooltip.text}", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}" + }, + "viewPath": "Plant PAX/Popups/P_ValveSO/P_ValveSO", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "root", + "tooltip": {} + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_Tag\") + \" - \" + tag({view.params.tagPath}+\"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/P_ValveSO_VerLeft/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/P_ValveSO_VerLeft/resource.json new file mode 100644 index 0000000..b71425d --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/P_ValveSO_VerLeft/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "64f0290c311590aaabfeb9259cad2ee8e8225fc28a68bb663f6a49097f15a520", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:18Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/P_ValveSO_VerLeft/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/P_ValveSO_VerLeft/thumbnail.png new file mode 100644 index 0000000..30ac3a2 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/P_ValveSO_VerLeft/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/P_ValveSO_VerLeft/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/P_ValveSO_VerLeft/view.json new file mode 100644 index 0000000..1c2c9c1 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/P_ValveSO_VerLeft/view.json @@ -0,0 +1,3101 @@ +{ + "custom": {}, + "params": { + "showLabel": true, + "tagPath": "[default]Test_Tags/P_ValveSO" + }, + "propConfig": { + "params.showLabel": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 77, + "width": 140 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "AlarmFrame" + }, + "position": { + "height": 72, + "width": 124, + "x": 7, + "y": 5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d value\n\t\n\tcolors \u003d [\"\",\n\t\"#FFFFFF\",\n\t\"#916AAD\",\n\t\"#916AAD\",\n\t\"#F5DF1B\",\n\t\"#F5DF1B\",\n\t\"#EC8729\",\n\t\"#EC8729\",\n\t\"#E22028\",\n\t\"#E22028\",\n\t\"\"]\n\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d colors[Val_NotifyAll]\n\t\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 3 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 14, + "width": 97, + "x": 37, + "y": 61 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.showLabel" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#808080", + "borderStyle": "none", + "borderWidth": "1px", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIndicator" + }, + "position": { + "height": 16, + "width": 16, + "x": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotReady" + }, + "position": { + "height": 16, + "width": 16, + "x": 94, + "y": 30.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_NotRdy\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_NotReady.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "MaintBypass" + }, + "position": { + "height": 16, + "width": 16, + "x": 114, + "y": 30.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_MaintByp\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_MaintByp.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Exceptions" + }, + "position": { + "height": 16, + "width": 16, + "x": 77, + "y": 30.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Err\") ||\r\ntag({view.params.tagPath} + \"/SrcQ\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\t\t\n\tSts_Error \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Error\"])[0].value\n\tindex \u003d 0\n\t\n\tSrcQ3 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 8) \u003d\u003d 8\n\tSrcQ4 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 16) \u003d\u003d 16\n\tSrcQ5 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 32) \u003d\u003d 32\n\n\tif (Sts_Error \u003d\u003d True):\n\t\tindex \u003d 4 \n\telif (SrcQ5 \u003d\u003d True):\n\t\tindex \u003d 3\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 2\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 1\n\telse:\n\t\tindex \u003d 0\n\n\tif (index \u003e 0):\n\t\tret_value \u003d True\t\t\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Err\") ||\r\ntag({view.params.tagPath} + \"/SrcQ\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_Simulated\",\n\t 2: \"Sts_CommUncertain\",\n\t 3: \"Sts_CommBad\",\n\t 4: \"Sts_BC_BadCfg\",\n\t}\n\t\t\t\n\tSts_Error \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Error\"])[0].value\n\tindex \u003d 0\n\t\n\tSrcQ3 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 8) \u003d\u003d 8\n\tSrcQ4 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 16) \u003d\u003d 16\n\tSrcQ5 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 32) \u003d\u003d 32\n\n\tif (Sts_Error \u003d\u003d True):\n\t\tindex \u003d 4 \n\telif (SrcQ5 \u003d\u003d True):\n\t\tindex \u003d 3\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 2\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 1\n\telse:\n\t\tindex \u003d 0\n\n\ttry:\n\t\tret_value \u003d images_path.format(images[index])\n\texcept:\n\t\tret_value \u003d images_path.format(\"Error\")\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "CmdSrcExceptions" + }, + "position": { + "height": 16, + "width": 16, + "x": 57, + "y": 30.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Sts_OoS\") ||\r\ntag({view.params.tagPath} + \"/CmdSrc/Sts_Normal\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_BC_CmdSrcNotNorm\",\n\t 2: \"Sts_CmdSrcOoS\"\n\t}\n\t\t\t\n\tSts_OoS \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_OoS\"])[0].value\n\tindex \u003d 0\n\tCmdSrc_Sts_Normal \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_Normal\"])[0].value\n\n\tif (Sts_OoS \u003d\u003d True):\n\t\tindex \u003d 2 \n\telif (CmdSrc_Sts_Normal \u003d\u003d True):\n\t\tindex \u003d 0\n\telse:\n\t\tindex \u003d 1\n\n\tif (index \u003e 0):\n\t\tret_value \u003d True\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Sts_OoS\") ||\r\ntag({view.params.tagPath} + \"/CmdSrc/Sts_Normal\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_BC_CmdSrcNotNorm\",\n\t 2: \"Sts_CmdSrcOoS\"\n\t}\n\t\t\t\n\tSts_OoS \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_OoS\"])[0].value\n\tindex \u003d 0\n\tCmdSrc_Sts_Normal \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_Normal\"])[0].value\n\n\tif (Sts_OoS \u003d\u003d True):\n\t\tindex \u003d 2 \n\telif (CmdSrc_Sts_Normal \u003d\u003d True):\n\t\tindex \u003d 0\n\telse:\n\t\tindex \u003d 1\n\n\ttry:\n\t\tret_value \u003d images_path.format(images[index])\n\texcept:\n\t\tret_value \u003d images_path.format(\"Error\")\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Status" + }, + "position": { + "height": 14, + "width": 66, + "x": 37, + "y": 7 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Val_Sts\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\tstates \u003d {\n\t0: \"Unknown\",\n\t1: \"Closed\",\n\t2: \"Open\",\n\t3: \"Command to Close\",\n\t4: \"Command to Open\",\n\t5: \"Closing\",\n\t6: \"Opening\",\n\t7: \"Stopped\",\n\t8: \"Moving\",\n\t9: \"Tripping\",\n\t10: \"Horn\",\n\t}\n\t\n\tVal_Sts \u003d value\n\tindex \u003d Val_Sts\n\t\n\tret_value \u003d states[index]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#808080", + "borderStyle": "none", + "borderWidth": "1px", + "color": "#808080", + "fontSize": "8pt", + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "center" + }, + "textStyle": { + "fontSize": "8pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 1, + "x": 17.5, + "y": 20 + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftColor": "#3F3F3F", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px", + "borderRightStyle": "none", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Inside0" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 18, + "x": 0.50066, + "y": 5.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside1" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 16, + "x": 2.50066, + "y": 4.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside2" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 16, + "x": 2.50066, + "y": 5.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside3" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 15, + "x": 3.50066, + "y": 5.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside4" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 15, + "x": 3.50066, + "y": 6.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside5" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 14, + "x": 4.50066, + "y": 6.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside6" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 14, + "x": 4.50066, + "y": 7.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside7" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 13, + "x": 5.50066, + "y": 7.002610000000001 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside8" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 13, + "x": 5.50066, + "y": 8.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside9" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 12, + "x": 6.50066, + "y": 8.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside10" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 11, + "x": 7.50066, + "y": 8.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside11" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 11, + "x": 7.50066, + "y": 9.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside12" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 10, + "x": 8.50066, + "y": 9.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside13" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 10, + "x": 8.50066, + "y": 10.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside14" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 9, + "x": 9.50066, + "y": 10.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside15" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 8, + "x": 10.5007, + "y": 10.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside16" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 8, + "x": 10.5007, + "y": 11.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside17" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 7, + "x": 11.5007, + "y": 11.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside18" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 7, + "x": 11.5007, + "y": 12.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside19" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 6, + "x": 12.5007, + "y": 12.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside20" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 5, + "x": 13.5007, + "y": 12.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside21" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 5, + "x": 13.5007, + "y": 13.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside22" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 4, + "x": 14.5007, + "y": 13.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside23" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 3, + "x": 14.5007, + "y": 13.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside24" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 3, + "x": 14.5007, + "y": 14.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside25" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 2, + "x": 15.5007, + "y": 14.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside26" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 1.5, + "x": 16.5007, + "y": 14.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside27" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 1, + "x": 16.5007, + "y": 15.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside28" + }, + "position": { + "height": 1, + "rotate": { + "angle": 25 + }, + "width": 18, + "x": 0.50066, + "y": 12.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside29" + }, + "position": { + "height": 1, + "rotate": { + "angle": 90 + }, + "width": 16, + "x": 9.50066, + "y": 8.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Inside" + }, + "position": { + "height": 19, + "width": 19 + }, + "propConfig": { + "custom.valveColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "TopLeftLine" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 19.5, + "x": -0.49934, + "y": 4.00261 + }, + "props": { + "style": { + "borderTopColor": "#3F3F3F", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BottomLeftLine" + }, + "position": { + "height": 1, + "rotate": { + "angle": 25 + }, + "width": 19.5, + "x": -0.49934, + "y": 12.0026 + }, + "props": { + "style": { + "borderTopColor": "#3F3F3F", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "RightLine" + }, + "position": { + "height": 16.5, + "rotate": { + "angle": 0 + }, + "width": 1, + "x": 17.5007, + "y": 0.5 + }, + "props": { + "style": { + "borderRightColor": "#3F3F3F", + "borderRightStyle": "solid", + "borderRightWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "ValveRtGroup" + }, + "position": { + "height": 19, + "width": 19, + "x": 17, + "y": 22 + }, + "propConfig": { + "custom.valveColor": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_Closed\") || (tag({view.params.tagPath} + \"/Sts_Horn\") \u0026\u0026 (tag({view.params.tagPath} + \"/Val_Fdbk\") \u003d 1)), \"#808080\", \r\n\tif (tag({view.params.tagPath} + \"/Sts_Closing\"), \"#F0F0F0\",\r\n\t\tif (tag({view.params.tagPath} + \"/Sts_Opening\"), \"#808080\",\r\n\t\t\tif (tag({view.params.tagPath} + \"/Sts_Opened\") || (tag({view.params.tagPath} + \"/Sts_Horn\") \u0026\u0026 (tag({view.params.tagPath} + \"/Val_Fdbk\")) \u003d 2), \"#F0F0F0\", \"#FF00FF\")\r\n\t\t)\r\n\t)\r\n)\r\n\r\n\r\n//colors \u003d {\r\n//0: \"#FF00FF\",\r\n//1: \"#808080\",\r\n//2: \"#F0F0F0\",\r\n//3: \"#808080\",\r\n//4: \"#F0F0F0\",\r\n//}\r\n//\r\n//Sts_Closing \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Closing\"])[0].value\r\n//Sts_Closed \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Closed\"])[0].value\r\n//Sts_Opening \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Opening\"])[0].value\r\n//Sts_Opened \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Opened\"])[0].value\r\n//Sts_Horn \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Horn\"])[0].value\r\n//Val_Fdbk \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_Fdbk\"])[0].value\r\n//\r\n//if (Sts_Closed or (Sts_Horn and (Val_Fdbk \u003d\u003d 1))):\r\n//\tindex \u003d 1\r\n//elif (Sts_Closing):\r\n//\tindex \u003d 2\r\n//elif (Sts_Opening):\r\n//\tindex \u003d 3\r\n//elif (Sts_Opened or (Sts_Horn and (Val_Fdbk \u003d\u003d 2))):\r\n//\tindex \u003d 4\r\n//\r\n//try:\r\n//\tret_value \u003d colors[index]\r\n//except:\r\n//\tret_value \u003d \"#808080\"" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Inside0" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 18, + "x": 0.50066, + "y": 5.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside1" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 16, + "x": 2.50066, + "y": 4.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside2" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 16, + "x": 2.50066, + "y": 5.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside3" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 15, + "x": 3.50066, + "y": 5.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside4" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 15, + "x": 3.50066, + "y": 6.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside5" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 14, + "x": 4.50066, + "y": 6.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside6" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 14, + "x": 4.50066, + "y": 7.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside7" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 13, + "x": 5.50066, + "y": 7.002610000000001 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside8" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 13, + "x": 5.50066, + "y": 8.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside9" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 12, + "x": 6.50066, + "y": 8.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside10" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 11, + "x": 7.50066, + "y": 8.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside11" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 11, + "x": 7.50066, + "y": 9.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside12" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 10, + "x": 8.50066, + "y": 9.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside13" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 10, + "x": 8.50066, + "y": 10.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside14" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 9, + "x": 9.50066, + "y": 10.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside15" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 8, + "x": 10.5007, + "y": 10.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside16" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 8, + "x": 10.5007, + "y": 11.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside17" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 7, + "x": 11.5007, + "y": 11.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside18" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 7, + "x": 11.5007, + "y": 12.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside19" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 6, + "x": 12.5007, + "y": 12.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside20" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 5, + "x": 13.5007, + "y": 12.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside21" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 5, + "x": 13.5007, + "y": 13.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside22" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 4, + "x": 14.5007, + "y": 13.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside23" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 3, + "x": 14.5007, + "y": 13.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside24" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 3, + "x": 14.5007, + "y": 14.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside25" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 2, + "x": 15.5007, + "y": 14.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside26" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 1.5, + "x": 16.5007, + "y": 14.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside27" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 1, + "x": 16.5007, + "y": 15.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside28" + }, + "position": { + "height": 1, + "rotate": { + "angle": 25 + }, + "width": 18, + "x": 0.50066, + "y": 12.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside29" + }, + "position": { + "height": 1, + "rotate": { + "angle": 90 + }, + "width": 16, + "x": 9.50066, + "y": 8.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Inside" + }, + "position": { + "height": 19, + "width": 19 + }, + "propConfig": { + "custom.valveColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "TopLeftLine" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 19.5, + "x": -0.49934, + "y": 4.00261 + }, + "props": { + "style": { + "borderTopColor": "#3F3F3F", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BottomLeftLine" + }, + "position": { + "height": 1, + "rotate": { + "angle": 25 + }, + "width": 19.5, + "x": -0.49934, + "y": 12.0026 + }, + "props": { + "style": { + "borderTopColor": "#3F3F3F", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "RightLine" + }, + "position": { + "height": 16.5, + "rotate": { + "angle": 0 + }, + "width": 1, + "x": 17.5007, + "y": 0.5 + }, + "props": { + "style": { + "borderRightColor": "#3F3F3F", + "borderRightStyle": "solid", + "borderRightWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "ValveLtGroup" + }, + "position": { + "height": 19, + "rotate": { + "angle": "180deg" + }, + "width": 19, + "y": 20.25 + }, + "propConfig": { + "custom.valveColor": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_Closed\") || (tag({view.params.tagPath} + \"/Sts_Horn\") \u0026\u0026 (tag({view.params.tagPath} + \"/Val_Fdbk\") \u003d 1)), \"#808080\", \r\n\tif (tag({view.params.tagPath} + \"/Sts_Closing\"), \"#808080\",\r\n\t\tif (tag({view.params.tagPath} + \"/Sts_Opening\"), \"#F0F0F0\",\r\n\t\t\tif (tag({view.params.tagPath} + \"/Sts_Opened\") || (tag({view.params.tagPath} + \"/Sts_Horn\") \u0026\u0026 (tag({view.params.tagPath} + \"/Val_Fdbk\")) \u003d 2), \"#F0F0F0\", \"#FF00FF\")\r\n\t\t)\r\n\t)\r\n)\r\n\r\n//colors \u003d {\r\n//0: \"#FF00FF\",\r\n//1: \"#808080\",\r\n//2: \"#808080\",\r\n//3: \"#F0F0F0\",\r\n//4: \"#F0F0F0\",\r\n//}\r\n//\r\n//Sts_Closing \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Closing\"])[0].value\r\n//Sts_Closed \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Closed\"])[0].value\r\n//Sts_Opening \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Opening\"])[0].value\r\n//Sts_Opened \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Opened\"])[0].value\r\n//Sts_Horn \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Horn\"])[0].value\r\n//Val_Fdbk \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_Fdbk\"])[0].value\r\n//\r\n//if (Sts_Closed or (Sts_Horn and (Val_Fdbk \u003d\u003d 1))):\r\n//\tindex \u003d 1\r\n//elif (Sts_Closing):\r\n//\tindex \u003d 2\r\n//elif (Sts_Opening):\r\n//\tindex \u003d 3\r\n//elif (Sts_Opened or (Sts_Horn and (Val_Fdbk \u003d\u003d 2))):\r\n//\tindex \u003d 4\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Actuator" + }, + "position": { + "height": 19, + "rotate": { + "angle": -90 + }, + "width": 19, + "x": 8.5, + "y": 1.0057 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if (!(tag({view.params.tagPath} + \"/Inp_Sim\")), if (tag({view.params.tagPath} + \"/Out\"), \"#F0F0F0\", \"#808080\"),\r\n\tif (tag({view.params.tagPath} + \"/Cfg_FailOpen\") \u0026\u0026 (tag({view.params.tagPath} + \"/Sts_Closed\") || tag({view.params.tagPath} + \"/Sts_Closing\")), \"#F0F0F0\",\r\n\t\tif (!tag({view.params.tagPath} + \"/Cfg_FailOpen\") \u0026\u0026 (tag({view.params.tagPath} + \"/Sts_Opening\") || tag({view.params.tagPath} + \"/Sts_Opened\")), \"#F0F0F0\", \"#808080\"\r\n\t\t)\r\n\t)\r\n)\r\n\r\n//if (not Inp_Sim):\r\n//\tindex \u003d Out\r\n//elif (Cfg_FailOpen) and (Sts_Closed or Sts_Closing):\r\n//\tindex \u003d 1\r\n//elif (not (Cfg_FailOpen)) and (Sts_Opening or Sts_Opened):\r\n//\tindex \u003d 1" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "bold", + "textAlign": "center" + }, + "text": "S" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "ValveGroup" + }, + "position": { + "height": 42, + "rotate": { + "angle": 90 + }, + "width": 37, + "x": 17.5, + "y": 17 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "FailOpen" + }, + "position": { + "height": 14, + "width": 22, + "x": 1, + "y": 30 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_FailOpen\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#808080", + "borderStyle": "none", + "borderWidth": "1px", + "color": "#808080", + "fontSize": "8pt", + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "center" + }, + "text": "FO", + "textStyle": { + "fontSize": "8pt" + } + }, + "type": "ia.display.label" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "{view.params.tagPath}", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "{/root.meta.tooltip.text}", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}" + }, + "viewPath": "Plant PAX/Popups/P_ValveSO/P_ValveSO", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "root", + "tooltip": {} + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_Tag\") + \" - \" + tag({view.params.tagPath}+\"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/P_ValveSO_VerRight/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/P_ValveSO_VerRight/resource.json new file mode 100644 index 0000000..2a7c6d8 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/P_ValveSO_VerRight/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "5feef9058d997f014c1635d33513139e268f08d4489edfaa8b84aaf5d4b025cf", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:18Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/P_ValveSO_VerRight/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/P_ValveSO_VerRight/thumbnail.png new file mode 100644 index 0000000..15453c8 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/P_ValveSO_VerRight/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/P_ValveSO_VerRight/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/P_ValveSO_VerRight/view.json new file mode 100644 index 0000000..2e62257 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/P_ValveSO/P_ValveSO_VerRight/view.json @@ -0,0 +1,3101 @@ +{ + "custom": {}, + "params": { + "showLabel": true, + "tagPath": "[default]Test_Tags/P_ValveSO" + }, + "propConfig": { + "params.showLabel": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 77, + "width": 140 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "AlarmFrame" + }, + "position": { + "height": 72, + "width": 124, + "x": 7, + "y": 5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d value\n\t\n\tcolors \u003d [\"\",\n\t\"#FFFFFF\",\n\t\"#916AAD\",\n\t\"#916AAD\",\n\t\"#F5DF1B\",\n\t\"#F5DF1B\",\n\t\"#EC8729\",\n\t\"#EC8729\",\n\t\"#E22028\",\n\t\"#E22028\",\n\t\"\"]\n\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d colors[Val_NotifyAll]\n\t\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 3 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 14, + "width": 97, + "x": 7, + "y": 61 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.showLabel" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#808080", + "borderStyle": "none", + "borderWidth": "1px", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmIndicator" + }, + "position": { + "height": 16, + "width": 16, + "x": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "({[default]_Settings/PlantPAXBlink} \u0026\u0026 (tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 !(tag({view.params.tagPath} + \"/Sts_AlmInh\"))) ||\r\n((tag({view.params.tagPath} + \"/Val_NotifyAll\") \u003e 0) \u0026\u0026 tag({view.params.tagPath} + \"/Val_NotifyAll\") % 2 \u003d 0)" + }, + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotReady" + }, + "position": { + "height": 16, + "width": 16, + "x": 28, + "y": 30.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_NotRdy\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_NotReady.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "MaintBypass" + }, + "position": { + "height": 16, + "width": 16, + "x": 11, + "y": 30.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_MaintByp\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_MaintByp.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Exceptions" + }, + "position": { + "height": 16, + "width": 16, + "x": 46, + "y": 30.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Err\") ||\r\ntag({view.params.tagPath} + \"/SrcQ\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\t\t\n\tSts_Error \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Error\"])[0].value\n\tindex \u003d 0\n\t\n\tSrcQ3 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 8) \u003d\u003d 8\n\tSrcQ4 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 16) \u003d\u003d 16\n\tSrcQ5 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 32) \u003d\u003d 32\n\n\tif (Sts_Error \u003d\u003d True):\n\t\tindex \u003d 4 \n\telif (SrcQ5 \u003d\u003d True):\n\t\tindex \u003d 3\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 2\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 1\n\telse:\n\t\tindex \u003d 0\n\n\tif (index \u003e 0):\n\t\tret_value \u003d True\t\t\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Err\") ||\r\ntag({view.params.tagPath} + \"/SrcQ\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_Simulated\",\n\t 2: \"Sts_CommUncertain\",\n\t 3: \"Sts_CommBad\",\n\t 4: \"Sts_BC_BadCfg\",\n\t}\n\t\t\t\n\tSts_Error \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Error\"])[0].value\n\tindex \u003d 0\n\t\n\tSrcQ3 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 8) \u003d\u003d 8\n\tSrcQ4 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 16) \u003d\u003d 16\n\tSrcQ5 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/SrcQ\"])[0].value \u0026 32) \u003d\u003d 32\n\n\tif (Sts_Error \u003d\u003d True):\n\t\tindex \u003d 4 \n\telif (SrcQ5 \u003d\u003d True):\n\t\tindex \u003d 3\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 2\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 1\n\telse:\n\t\tindex \u003d 0\n\n\ttry:\n\t\tret_value \u003d images_path.format(images[index])\n\texcept:\n\t\tret_value \u003d images_path.format(\"Error\")\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "CmdSrcExceptions" + }, + "position": { + "height": 16, + "width": 16, + "x": 65, + "y": 30.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Sts_OoS\") ||\r\ntag({view.params.tagPath} + \"/CmdSrc/Sts_Normal\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_BC_CmdSrcNotNorm\",\n\t 2: \"Sts_CmdSrcOoS\"\n\t}\n\t\t\t\n\tSts_OoS \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_OoS\"])[0].value\n\tindex \u003d 0\n\tCmdSrc_Sts_Normal \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_Normal\"])[0].value\n\n\tif (Sts_OoS \u003d\u003d True):\n\t\tindex \u003d 2 \n\telif (CmdSrc_Sts_Normal \u003d\u003d True):\n\t\tindex \u003d 0\n\telse:\n\t\tindex \u003d 1\n\n\tif (index \u003e 0):\n\t\tret_value \u003d True\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Sts_OoS\") ||\r\ntag({view.params.tagPath} + \"/CmdSrc/Sts_Normal\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_BC_CmdSrcNotNorm\",\n\t 2: \"Sts_CmdSrcOoS\"\n\t}\n\t\t\t\n\tSts_OoS \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_OoS\"])[0].value\n\tindex \u003d 0\n\tCmdSrc_Sts_Normal \u003d system.tag.readBlocking([self.view.params.tagPath + \"/CmdSrc/Sts_Normal\"])[0].value\n\n\tif (Sts_OoS \u003d\u003d True):\n\t\tindex \u003d 2 \n\telif (CmdSrc_Sts_Normal \u003d\u003d True):\n\t\tindex \u003d 0\n\telse:\n\t\tindex \u003d 1\n\n\ttry:\n\t\tret_value \u003d images_path.format(images[index])\n\texcept:\n\t\tret_value \u003d images_path.format(\"Error\")\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Status" + }, + "position": { + "height": 14, + "width": 66, + "x": 38, + "y": 7 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Val_Sts\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\tstates \u003d {\n\t0: \"Unknown\",\n\t1: \"Closed\",\n\t2: \"Open\",\n\t3: \"Command to Close\",\n\t4: \"Command to Open\",\n\t5: \"Closing\",\n\t6: \"Opening\",\n\t7: \"Stopped\",\n\t8: \"Moving\",\n\t9: \"Tripping\",\n\t10: \"Horn\",\n\t}\n\t\n\tVal_Sts \u003d value\n\tindex \u003d Val_Sts\n\t\n\tret_value \u003d states[index]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#808080", + "borderStyle": "none", + "borderWidth": "1px", + "color": "#808080", + "fontSize": "8pt", + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "center" + }, + "textStyle": { + "fontSize": "8pt", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 1, + "x": 17.5, + "y": 20 + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftColor": "#3F3F3F", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px", + "borderRightStyle": "none", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Inside0" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 18, + "x": 0.50066, + "y": 5.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside1" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 16, + "x": 2.50066, + "y": 4.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside2" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 16, + "x": 2.50066, + "y": 5.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside3" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 15, + "x": 3.50066, + "y": 5.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside4" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 15, + "x": 3.50066, + "y": 6.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside5" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 14, + "x": 4.50066, + "y": 6.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside6" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 14, + "x": 4.50066, + "y": 7.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside7" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 13, + "x": 5.50066, + "y": 7.002610000000001 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside8" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 13, + "x": 5.50066, + "y": 8.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside9" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 12, + "x": 6.50066, + "y": 8.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside10" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 11, + "x": 7.50066, + "y": 8.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside11" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 11, + "x": 7.50066, + "y": 9.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside12" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 10, + "x": 8.50066, + "y": 9.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside13" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 10, + "x": 8.50066, + "y": 10.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside14" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 9, + "x": 9.50066, + "y": 10.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside15" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 8, + "x": 10.5007, + "y": 10.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside16" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 8, + "x": 10.5007, + "y": 11.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside17" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 7, + "x": 11.5007, + "y": 11.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside18" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 7, + "x": 11.5007, + "y": 12.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside19" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 6, + "x": 12.5007, + "y": 12.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside20" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 5, + "x": 13.5007, + "y": 12.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside21" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 5, + "x": 13.5007, + "y": 13.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside22" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 4, + "x": 14.5007, + "y": 13.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside23" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 3, + "x": 14.5007, + "y": 13.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside24" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 3, + "x": 14.5007, + "y": 14.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside25" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 2, + "x": 15.5007, + "y": 14.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside26" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 1.5, + "x": 16.5007, + "y": 14.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside27" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 1, + "x": 16.5007, + "y": 15.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside28" + }, + "position": { + "height": 1, + "rotate": { + "angle": 25 + }, + "width": 18, + "x": 0.50066, + "y": 12.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside29" + }, + "position": { + "height": 1, + "rotate": { + "angle": 90 + }, + "width": 16, + "x": 9.50066, + "y": 8.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Inside" + }, + "position": { + "height": 19, + "width": 19 + }, + "propConfig": { + "custom.valveColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "TopLeftLine" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 19.5, + "x": -0.49934, + "y": 4.00261 + }, + "props": { + "style": { + "borderTopColor": "#3F3F3F", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BottomLeftLine" + }, + "position": { + "height": 1, + "rotate": { + "angle": 25 + }, + "width": 19.5, + "x": -0.49934, + "y": 12.0026 + }, + "props": { + "style": { + "borderTopColor": "#3F3F3F", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "RightLine" + }, + "position": { + "height": 16.5, + "rotate": { + "angle": 0 + }, + "width": 1, + "x": 17.5007, + "y": 0.5 + }, + "props": { + "style": { + "borderRightColor": "#3F3F3F", + "borderRightStyle": "solid", + "borderRightWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "ValveRtGroup" + }, + "position": { + "height": 19, + "width": 19, + "x": 17, + "y": 22 + }, + "propConfig": { + "custom.valveColor": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_Closed\") || (tag({view.params.tagPath} + \"/Sts_Horn\") \u0026\u0026 (tag({view.params.tagPath} + \"/Val_Fdbk\") \u003d 1)), \"#808080\", \r\n\tif (tag({view.params.tagPath} + \"/Sts_Closing\"), \"#F0F0F0\",\r\n\t\tif (tag({view.params.tagPath} + \"/Sts_Opening\"), \"#808080\",\r\n\t\t\tif (tag({view.params.tagPath} + \"/Sts_Opened\") || (tag({view.params.tagPath} + \"/Sts_Horn\") \u0026\u0026 (tag({view.params.tagPath} + \"/Val_Fdbk\")) \u003d 2), \"#F0F0F0\", \"#FF00FF\")\r\n\t\t)\r\n\t)\r\n)\r\n\r\n\r\n//colors \u003d {\r\n//0: \"#FF00FF\",\r\n//1: \"#808080\",\r\n//2: \"#F0F0F0\",\r\n//3: \"#808080\",\r\n//4: \"#F0F0F0\",\r\n//}\r\n//\r\n//Sts_Closing \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Closing\"])[0].value\r\n//Sts_Closed \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Closed\"])[0].value\r\n//Sts_Opening \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Opening\"])[0].value\r\n//Sts_Opened \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Opened\"])[0].value\r\n//Sts_Horn \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Horn\"])[0].value\r\n//Val_Fdbk \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_Fdbk\"])[0].value\r\n//\r\n//if (Sts_Closed or (Sts_Horn and (Val_Fdbk \u003d\u003d 1))):\r\n//\tindex \u003d 1\r\n//elif (Sts_Closing):\r\n//\tindex \u003d 2\r\n//elif (Sts_Opening):\r\n//\tindex \u003d 3\r\n//elif (Sts_Opened or (Sts_Horn and (Val_Fdbk \u003d\u003d 2))):\r\n//\tindex \u003d 4\r\n//\r\n//try:\r\n//\tret_value \u003d colors[index]\r\n//except:\r\n//\tret_value \u003d \"#808080\"" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Inside0" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 18, + "x": 0.50066, + "y": 5.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside1" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 16, + "x": 2.50066, + "y": 4.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside2" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 16, + "x": 2.50066, + "y": 5.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside3" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 15, + "x": 3.50066, + "y": 5.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside4" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 15, + "x": 3.50066, + "y": 6.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside5" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 14, + "x": 4.50066, + "y": 6.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside6" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 14, + "x": 4.50066, + "y": 7.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside7" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 13, + "x": 5.50066, + "y": 7.002610000000001 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside8" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 13, + "x": 5.50066, + "y": 8.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside9" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 12, + "x": 6.50066, + "y": 8.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside10" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 11, + "x": 7.50066, + "y": 8.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside11" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 11, + "x": 7.50066, + "y": 9.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside12" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 10, + "x": 8.50066, + "y": 9.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside13" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 10, + "x": 8.50066, + "y": 10.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside14" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 9, + "x": 9.50066, + "y": 10.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside15" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 8, + "x": 10.5007, + "y": 10.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside16" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 8, + "x": 10.5007, + "y": 11.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside17" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 7, + "x": 11.5007, + "y": 11.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside18" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 7, + "x": 11.5007, + "y": 12.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside19" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 6, + "x": 12.5007, + "y": 12.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside20" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 5, + "x": 13.5007, + "y": 12.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside21" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 5, + "x": 13.5007, + "y": 13.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside22" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 4, + "x": 14.5007, + "y": 13.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside23" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 3, + "x": 14.5007, + "y": 13.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside24" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 3, + "x": 14.5007, + "y": 14.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside25" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 2, + "x": 15.5007, + "y": 14.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside26" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 1.5, + "x": 16.5007, + "y": 14.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside27" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 1, + "x": 16.5007, + "y": 15.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside28" + }, + "position": { + "height": 1, + "rotate": { + "angle": 25 + }, + "width": 18, + "x": 0.50066, + "y": 12.0026 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Inside29" + }, + "position": { + "height": 1, + "rotate": { + "angle": 90 + }, + "width": 16, + "x": 9.50066, + "y": 8.00261 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + }, + "props.style.borderTopColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Inside" + }, + "position": { + "height": 19, + "width": 19 + }, + "propConfig": { + "custom.valveColor": { + "binding": { + "config": { + "path": "parent.custom.valveColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "TopLeftLine" + }, + "position": { + "height": 1, + "rotate": { + "angle": -25 + }, + "width": 19.5, + "x": -0.49934, + "y": 4.00261 + }, + "props": { + "style": { + "borderTopColor": "#3F3F3F", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BottomLeftLine" + }, + "position": { + "height": 1, + "rotate": { + "angle": 25 + }, + "width": 19.5, + "x": -0.49934, + "y": 12.0026 + }, + "props": { + "style": { + "borderTopColor": "#3F3F3F", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "RightLine" + }, + "position": { + "height": 16.5, + "rotate": { + "angle": 0 + }, + "width": 1, + "x": 17.5007, + "y": 0.5 + }, + "props": { + "style": { + "borderRightColor": "#3F3F3F", + "borderRightStyle": "solid", + "borderRightWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "ValveLtGroup" + }, + "position": { + "height": 19, + "rotate": { + "angle": "180deg" + }, + "width": 19, + "y": 20.25 + }, + "propConfig": { + "custom.valveColor": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_Closed\") || (tag({view.params.tagPath} + \"/Sts_Horn\") \u0026\u0026 (tag({view.params.tagPath} + \"/Val_Fdbk\") \u003d 1)), \"#808080\", \r\n\tif (tag({view.params.tagPath} + \"/Sts_Closing\"), \"#808080\",\r\n\t\tif (tag({view.params.tagPath} + \"/Sts_Opening\"), \"#F0F0F0\",\r\n\t\t\tif (tag({view.params.tagPath} + \"/Sts_Opened\") || (tag({view.params.tagPath} + \"/Sts_Horn\") \u0026\u0026 (tag({view.params.tagPath} + \"/Val_Fdbk\")) \u003d 2), \"#F0F0F0\", \"#FF00FF\")\r\n\t\t)\r\n\t)\r\n)\r\n\r\n//colors \u003d {\r\n//0: \"#FF00FF\",\r\n//1: \"#808080\",\r\n//2: \"#808080\",\r\n//3: \"#F0F0F0\",\r\n//4: \"#F0F0F0\",\r\n//}\r\n//\r\n//Sts_Closing \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Closing\"])[0].value\r\n//Sts_Closed \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Closed\"])[0].value\r\n//Sts_Opening \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Opening\"])[0].value\r\n//Sts_Opened \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Opened\"])[0].value\r\n//Sts_Horn \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Horn\"])[0].value\r\n//Val_Fdbk \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_Fdbk\"])[0].value\r\n//\r\n//if (Sts_Closed or (Sts_Horn and (Val_Fdbk \u003d\u003d 1))):\r\n//\tindex \u003d 1\r\n//elif (Sts_Closing):\r\n//\tindex \u003d 2\r\n//elif (Sts_Opening):\r\n//\tindex \u003d 3\r\n//elif (Sts_Opened or (Sts_Horn and (Val_Fdbk \u003d\u003d 2))):\r\n//\tindex \u003d 4\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Actuator" + }, + "position": { + "height": 19, + "rotate": { + "angle": -90 + }, + "width": 19, + "x": 8.5, + "y": 1.0057 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if (!(tag({view.params.tagPath} + \"/Inp_Sim\")), if (tag({view.params.tagPath} + \"/Out\"), \"#F0F0F0\", \"#808080\"),\r\n\tif (tag({view.params.tagPath} + \"/Cfg_FailOpen\") \u0026\u0026 (tag({view.params.tagPath} + \"/Sts_Closed\") || tag({view.params.tagPath} + \"/Sts_Closing\")), \"#F0F0F0\",\r\n\t\tif (!tag({view.params.tagPath} + \"/Cfg_FailOpen\") \u0026\u0026 (tag({view.params.tagPath} + \"/Sts_Opening\") || tag({view.params.tagPath} + \"/Sts_Opened\")), \"#F0F0F0\", \"#808080\"\r\n\t\t)\r\n\t)\r\n)\r\n\r\n//if (not Inp_Sim):\r\n//\tindex \u003d Out\r\n//elif (Cfg_FailOpen) and (Sts_Closed or Sts_Closing):\r\n//\tindex \u003d 1\r\n//elif (not (Cfg_FailOpen)) and (Sts_Opening or Sts_Opened):\r\n//\tindex \u003d 1" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "bold", + "textAlign": "center" + }, + "text": "S" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "ValveGroup" + }, + "position": { + "height": 42, + "rotate": { + "angle": -90 + }, + "width": 37, + "x": 87.5, + "y": 17 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "FailOpen" + }, + "position": { + "height": 14, + "width": 22, + "x": 116, + "y": 31 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_FailOpen\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#808080", + "borderStyle": "none", + "borderWidth": "1px", + "color": "#808080", + "fontSize": "8pt", + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "center" + }, + "text": "FO", + "textStyle": { + "fontSize": "8pt" + } + }, + "type": "ia.display.label" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "{view.params.tagPath}", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "{/root.meta.tooltip.text}", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}" + }, + "viewPath": "Plant PAX/Popups/P_ValveSO/P_ValveSO", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "root", + "tooltip": {} + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_Tag\") + \" - \" + tag({view.params.tagPath}+\"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/ValveSolenoid/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/ValveSolenoid/resource.json new file mode 100644 index 0000000..d8a8cd7 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/ValveSolenoid/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "2a311645280ab9f439bd2c8712b5d3cf540540209795fb3ad2bce40316222ea4", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:18Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/ValveSolenoid/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/ValveSolenoid/thumbnail.png new file mode 100644 index 0000000..5b0c944 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/ValveSolenoid/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/ValveSolenoid/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/ValveSolenoid/view.json new file mode 100644 index 0000000..0c27ede --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Faceplates/ValveSolenoid/view.json @@ -0,0 +1,289 @@ +{ + "custom": {}, + "params": { + "appearance": "p\u0026id", + "highPerformance": true, + "rotate": false, + "showLabel": true, + "tagPath": "[default]Test_Tags/P_ValveSO" + }, + "propConfig": { + "params.appearance": { + "paramDirection": "input", + "persistent": true + }, + "params.highPerformance": { + "paramDirection": "input", + "persistent": true + }, + "params.rotate": { + "paramDirection": "input", + "persistent": true + }, + "params.showLabel": { + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.valveOrientation": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 82, + "width": 104 + }, + "dropConfig": { + "udts": [ + { + "action": "path", + "param": "tagPath", + "type": "Plant PAX/P_ValveSO" + } + ] + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Valve" + }, + "position": { + "basis": "80px", + "grow": 1, + "shrink": 0 + }, + "propConfig": { + "props.appearance": { + "binding": { + "config": { + "path": "view.params.appearance" + }, + "type": "property" + } + }, + "props.label.location": { + "binding": { + "config": { + "expression": "if({view.params.showLabel}, \"top\", \"hidden\")" + }, + "type": "expr" + } + }, + "props.label.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_Tag\")" + }, + "type": "expr" + } + }, + "props.state": { + "binding": { + "config": { + "path": "view.params.highPerformance" + }, + "transforms": [ + { + "expression": "if({value},if(tag({view.params.tagPath}+\"/Val_Fault\") \u003d 0, tag({view.params.tagPath}+\"/Val_Sts\"), tag({view.params.tagPath}+\"/Val_Fault\")), tag({view.params.tagPath}+\"/Val_Fault\"))", + "type": "expression" + }, + { + "fallback": "default", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "default" + }, + { + "input": 1, + "output": "closed" + }, + { + "input": 2, + "output": "open" + }, + { + "input": 5, + "output": "partiallyClosed" + }, + { + "input": 6, + "output": "partiallyClosed" + }, + { + "input": 16, + "output": "failedToClose" + }, + { + "input": 17, + "output": "failedToClose" + }, + { + "input": 32, + "output": "failedToClose" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.classes": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "TagPath": "{view.params.tagPath}" + }, + "tagPath": "{TagPath}/Val_Sts" + }, + "transforms": [ + { + "fallback": "States/ValveSolenoid/disable", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "States/ValveSolenoid/disable" + }, + { + "input": 1, + "output": "States/ValveSolenoid/estop" + }, + { + "input": 2, + "output": "States/ValveSolenoid/faulted" + }, + { + "input": 3, + "output": "States/ValveSolenoid/opened" + }, + { + "input": 4, + "output": "States/ValveSolenoid/closed" + }, + { + "input": 5, + "output": "States/ValveSolenoid/moving" + }, + { + "input": 6, + "output": "States/ValveSolenoid/moving" + }, + { + "input": 7, + "output": "States/ValveSolenoid/opened" + }, + { + "input": 8, + "output": "States/ValveSolenoid/closed" + }, + { + "input": 9, + "output": "States/ValveSolenoid/moving" + }, + { + "input": 10, + "output": "States/ValveSolenoid/moving" + } + ], + "outputType": "style-list", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.valve": { + "binding": { + "config": { + "path": "view.params.rotate" + }, + "transforms": [ + { + "fallback": "top", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "top" + }, + { + "input": true, + "output": "left" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "label": {}, + "style": {}, + "value": { + "location": "hidden" + } + }, + "type": "ia.symbol.valve" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "{view.params.tagPath}", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "{/root.meta.tooltip.text}", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}" + }, + "viewPath": "Plant PAX/Popups/ValveSolenoid/Popup", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "root", + "tooltip": { + "enabled": true + } + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_Tag\") + \" - \" + tag({view.params.tagPath}+\"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/00_Trend_Popups/Archive/Process_PVwSP_DoNotUse/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/00_Trend_Popups/Archive/Process_PVwSP_DoNotUse/resource.json new file mode 100644 index 0000000..0aeb042 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/00_Trend_Popups/Archive/Process_PVwSP_DoNotUse/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "0c32f47c57366f4a1f557e20c39c8f18ccfb0847bca09727213788c2bb041682", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:18Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/00_Trend_Popups/Archive/Process_PVwSP_DoNotUse/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/00_Trend_Popups/Archive/Process_PVwSP_DoNotUse/thumbnail.png new file mode 100644 index 0000000..e2efe8f Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/00_Trend_Popups/Archive/Process_PVwSP_DoNotUse/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/00_Trend_Popups/Archive/Process_PVwSP_DoNotUse/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/00_Trend_Popups/Archive/Process_PVwSP_DoNotUse/view.json new file mode 100644 index 0000000..c48fc0c --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/00_Trend_Popups/Archive/Process_PVwSP_DoNotUse/view.json @@ -0,0 +1,444 @@ +{ + "custom": {}, + "params": { + "Maximum": 100, + "Minimum": 0, + "PVEU": "Hz", + "PVTagPath": "value", + "SPTagPath": "value" + }, + "propConfig": { + "params.Maximum": { + "paramDirection": "input", + "persistent": true + }, + "params.Minimum": { + "paramDirection": "input", + "persistent": true + }, + "params.PVEU": { + "paramDirection": "input", + "persistent": true + }, + "params.PVTagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.SPTagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 440, + "width": 360 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "PVLegendPolygon" + }, + "position": { + "height": 8, + "width": 16, + "y": 4 + }, + "props": { + "style": { + "backgroundColor": "#2A4191" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "PVLegendText" + }, + "position": { + "height": 16, + "width": 323, + "x": 19 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "\"Process Variable (\" + {view.params.PVEU} + \")\"" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FdbkLegend" + }, + "position": { + "height": 22, + "width": 344 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "PVLegendPolygon" + }, + "position": { + "height": 8, + "width": 16, + "y": 4 + }, + "props": { + "style": { + "backgroundColor": "#93C2E4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "PVLegendText" + }, + "position": { + "height": 16, + "width": 323, + "x": 19 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "\"Setpoint (\" + {view.params.PVEU} + \")\"" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "SPLegend" + }, + "position": { + "height": 22, + "width": 344, + "y": 20 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TrendLegend" + }, + "position": { + "height": 48, + "width": 355 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "PowerChart" + }, + "position": { + "height": "100%", + "width": "100%" + }, + "propConfig": { + "props.axes[0].range.max": { + "binding": { + "config": { + "path": "view.params.Maximum" + }, + "type": "property" + } + }, + "props.axes[0].range.min": { + "binding": { + "config": { + "path": "view.params.Minimum" + }, + "type": "property" + } + } + }, + "props": { + "axes": [ + { + "color": "#757A7F", + "dataFormat": "0,0.##", + "label": { + "font": { + "color": "#757A7F", + "size": 10 + }, + "offset": 0, + "style": { + "classes": "" + }, + "text": "" + }, + "name": "PVwSP", + "position": "left", + "range": { + "auto": false + }, + "style": { + "classes": "" + }, + "tick": { + "color": "#757A7F", + "count": "Auto", + "label": { + "font": { + "color": "#757A7F", + "size": 10 + }, + "format": "Auto", + "style": { + "classes": "" + } + }, + "style": { + "classes": "" + } + }, + "width": 60 + } + ], + "config": { + "measureOfTime": "minutes", + "rangeEndDate": { + "$": [ + "ts", + 0, + 1654302949460 + ], + "$ts": 1654302938653 + }, + "rangeStartDate": { + "$": [ + "ts", + 0, + 1654302949460 + ], + "$ts": 1654302639653 + }, + "unitOfTime": 5, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showMoreButton": false, + "showTagBrowserButton": false + }, + "showPenControlDisplay": false + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "legend": { + "visible": true + }, + "pens": [ + { + "axis": "PVwSP", + "data": { + "aggregateMode": "default", + "source": "histprov:Remote_MySQL:/drv:prime controls plant pax dev:default:/tag:test_tags/p_ain/val" + }, + "display": { + "breakLine": true, + "interpolation": "curveLinear", + "radius": 3, + "styles": { + "highlighted": { + "fill": { + "color": "#2A4191", + "opacity": 1 + }, + "stroke": { + "color": "#2A4191", + "dashArray": 0, + "opacity": 1, + "width": 1 + } + }, + "muted": { + "fill": { + "color": "#2A4191", + "opacity": 0.4 + }, + "stroke": { + "color": "#2A4191", + "dashArray": 0, + "opacity": 0.4, + "width": 1 + } + }, + "normal": { + "fill": { + "color": "#2A4191", + "opacity": 0.8 + }, + "stroke": { + "color": "#2A4191", + "dashArray": 0, + "opacity": 0.8, + "width": 1 + } + }, + "selected": { + "fill": { + "color": "#2A4191", + "opacity": 1 + }, + "stroke": { + "color": "#2A4191", + "dashArray": 0, + "opacity": 1, + "width": 1 + } + } + }, + "type": "line" + }, + "enabled": true, + "name": "PV", + "plot": 0, + "selectable": true, + "visible": true + }, + { + "axis": "PVwSP", + "data": { + "aggregateMode": "default", + "source": "histprov:Remote_MySQL:/drv:prime controls plant pax dev:default:/tag:test_tags/p_ain/val" + }, + "display": { + "breakLine": true, + "interpolation": "curveLinear", + "radius": 3, + "styles": { + "highlighted": { + "fill": { + "color": "#93C2E4", + "opacity": 1 + }, + "stroke": { + "color": "#93C2E4", + "dashArray": 0, + "opacity": 1, + "width": 1 + } + }, + "muted": { + "fill": { + "color": "#93C2E4", + "opacity": 0.4 + }, + "stroke": { + "color": "#93C2E4", + "dashArray": 0, + "opacity": 0.4, + "width": 1 + } + }, + "normal": { + "fill": { + "color": "#93C2E4", + "opacity": 0.8 + }, + "stroke": { + "color": "#93C2E4", + "dashArray": 0, + "opacity": 0.8, + "width": 1 + } + }, + "selected": { + "fill": { + "color": "#93C2E4", + "opacity": 1 + }, + "stroke": { + "color": "#93C2E4", + "dashArray": 0, + "opacity": 1, + "width": 1 + } + } + }, + "type": "line" + }, + "enabled": true, + "name": "SP", + "plot": 0, + "selectable": true, + "visible": true + } + ], + "plots": [ + { + "color": "#FFFFFF00", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + } + ], + "meta": { + "name": "Trend" + }, + "position": { + "height": 390, + "width": 355, + "x": 2.5, + "y": 45 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/00_Trend_Popups/Process_PIDE/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/00_Trend_Popups/Process_PIDE/resource.json new file mode 100644 index 0000000..60cc26d --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/00_Trend_Popups/Process_PIDE/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "c7ec42b24886cbe922993bf7ebe1b4e1aa4ea63f054c79d995822e59272e5543", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:18Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/00_Trend_Popups/Process_PIDE/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/00_Trend_Popups/Process_PIDE/thumbnail.png new file mode 100644 index 0000000..6d5badb Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/00_Trend_Popups/Process_PIDE/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/00_Trend_Popups/Process_PIDE/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/00_Trend_Popups/Process_PIDE/view.json new file mode 100644 index 0000000..7e7087d --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/00_Trend_Popups/Process_PIDE/view.json @@ -0,0 +1,933 @@ +{ + "custom": {}, + "params": { + "tagPath": "[default]Test_Tags/Flow_PID" + }, + "propConfig": { + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 440, + "width": 360 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "PVLegendPolygon" + }, + "position": { + "height": 8, + "width": 16, + "y": 4 + }, + "props": { + "style": { + "backgroundColor": "#2A4191" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "PVLegendText" + }, + "position": { + "height": 16, + "width": 122, + "x": 19 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "\"PV (\" + tag({view.params.tagPath} + \"/Cfg_PVEU\") + \")\"" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FdbkLegend" + }, + "position": { + "height": 22, + "width": 145 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "PVLegendPolygon" + }, + "position": { + "height": 8, + "width": 16, + "y": 4 + }, + "props": { + "style": { + "backgroundColor": "#93C2E4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "PVLegendText" + }, + "position": { + "height": 16, + "width": 123, + "x": 19 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt" + }, + "text": "Setpoint" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "SPLegend" + }, + "position": { + "height": 22, + "width": 145, + "y": 20 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "PVLegendPolygon" + }, + "position": { + "height": 8, + "width": 16, + "y": 4 + }, + "props": { + "style": { + "backgroundColor": "#55555A" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "PVLegendText" + }, + "position": { + "height": 16, + "width": 122, + "x": 19 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "\"Output CV (\" + tag({view.params.tagPath} + \"/Cfg_CVEU\") + \")\"" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "OutputCVLegend" + }, + "position": { + "height": 22, + "width": 145, + "x": 146 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "PVLegendPolygon" + }, + "position": { + "height": 8, + "width": 16, + "y": 4 + }, + "props": { + "style": { + "backgroundColor": "#AAD38F" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "PVLegendText" + }, + "position": { + "height": 16, + "width": 123, + "x": 19 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt" + }, + "text": "Target CV" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "TargetCVLegend" + }, + "position": { + "height": 22, + "width": 145, + "x": 146, + "y": 20 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TrendLegend" + }, + "position": { + "height": 48, + "width": 355 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "custom": { + "historyTags": [ + { + "aggregate": "Average", + "alias": "SP" + }, + { + "aggregate": "Average", + "alias": "PV" + } + ] + }, + "meta": { + "name": "TimeSeriesChartPVandSP" + }, + "position": { + "height": 225, + "width": 355 + }, + "propConfig": { + "custom.historyTags[0].path": { + "binding": { + "config": { + "expression": "{view.params.tagPath} + \"/Val_SP\"" + }, + "type": "expr" + } + }, + "custom.historyTags[1].path": { + "binding": { + "config": { + "expression": "{view.params.tagPath} + \"/Val_PV\"" + }, + "type": "expr" + } + }, + "props.plots[0].axes[0].max": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_PVEUMax\")" + }, + "type": "expr" + } + }, + "props.plots[0].axes[0].min": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_PVEUMin\")" + }, + "type": "expr" + } + }, + "props.series[0].data": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "5", + "mostRecentUnits": "MIN" + }, + "enableValueCache": true, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "4" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "100", + "type": "FIXED" + }, + "tags": "{this.custom.historyTags}", + "valueFormat": "DATASET" + }, + "type": "tag-history" + } + } + }, + "props": { + "enablePanZoom": false, + "plots": [ + { + "axes": [ + { + "alignment": "left", + "label": { + "font": { + "color": "", + "size": 10 + }, + "offset": 0, + "style": { + "classes": "" + }, + "text": "", + "visible": true + }, + "name": "yAxis", + "style": { + "classes": "" + }, + "tick": { + "color": "", + "count": 5, + "label": { + "font": { + "color": "", + "size": 10 + }, + "format": "Auto", + "style": { + "classes": "" + } + }, + "style": { + "classes": "" + } + }, + "width": 0 + } + ], + "markers": [], + "trends": [ + { + "axis": "yAxis", + "baselines": [], + "breakLine": true, + "columns": [ + { + "color": "", + "key": "t_stamp", + "styles": { + "highlighted": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": null + } + }, + "muted": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": null + } + }, + "normal": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": null + } + }, + "selected": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": null + } + } + } + }, + { + "color": "#93C2E4", + "key": "SP", + "styles": { + "highlighted": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": null + } + }, + "muted": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": null + } + }, + "normal": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": 2 + } + }, + "selected": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": null + } + } + } + }, + { + "color": "#475CA7", + "key": "PV", + "styles": { + "highlighted": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": null + } + }, + "muted": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": null + } + }, + "normal": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": 2 + } + }, + "selected": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": null + } + } + } + } + ], + "interpolation": "curveLinear", + "radius": 2, + "series": "Trend", + "stack": true, + "type": "line", + "visible": true + } + ] + } + ], + "series": [ + { + "name": "Trend" + } + ], + "timeAxis": { + "height": 15 + }, + "timeRange": { + "visible": false + }, + "xTrace": { + "visible": false + } + }, + "type": "ia.chart.timeseries" + }, + { + "custom": { + "historyTags": [ + { + "aggregate": "Average", + "alias": "CV" + }, + { + "aggregate": "Average", + "alias": "TargetCV" + } + ] + }, + "meta": { + "name": "TimeSeriesChartCV" + }, + "position": { + "height": 149, + "width": 355, + "x": 0.5, + "y": 239 + }, + "propConfig": { + "custom.historyTags[0].path": { + "binding": { + "config": { + "expression": "{view.params.tagPath} + \"/Val_CVOut\"" + }, + "type": "expr" + } + }, + "custom.historyTags[1].path": { + "binding": { + "config": { + "expression": "{view.params.tagPath} + \"/Val_CVSet\"" + }, + "type": "expr" + } + }, + "props.plots[0].axes[0].max": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_CVEUMax\")" + }, + "type": "expr" + } + }, + "props.plots[0].axes[0].min": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_CVEUMin\")" + }, + "type": "expr" + } + }, + "props.series[0].data": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "5", + "mostRecentUnits": "MIN" + }, + "enableValueCache": true, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "4" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "100", + "type": "FIXED" + }, + "tags": "{this.custom.historyTags}", + "valueFormat": "DATASET" + }, + "type": "tag-history" + } + } + }, + "props": { + "enablePanZoom": false, + "plots": [ + { + "axes": [ + { + "alignment": "left", + "label": { + "font": { + "color": "", + "size": 10 + }, + "offset": 0, + "style": { + "classes": "" + }, + "text": "", + "visible": true + }, + "name": "yAxis", + "style": { + "classes": "" + }, + "tick": { + "color": "", + "count": 5, + "label": { + "font": { + "color": "", + "size": 10 + }, + "format": "Auto", + "style": { + "classes": "" + } + }, + "style": { + "classes": "" + } + }, + "width": 0 + } + ], + "markers": [], + "trends": [ + { + "axis": "yAxis", + "baselines": [], + "breakLine": true, + "columns": [ + { + "color": "", + "key": "t_stamp", + "styles": { + "highlighted": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": null + } + }, + "muted": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": null + } + }, + "normal": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": null + } + }, + "selected": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": null + } + } + } + }, + { + "color": "#AAD38F", + "key": "TargetCV", + "styles": { + "highlighted": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": null + } + }, + "muted": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": null + } + }, + "normal": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": 2 + } + }, + "selected": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": null + } + } + } + }, + { + "color": "#55555A", + "key": "CV", + "styles": { + "highlighted": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": null + } + }, + "muted": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": null + } + }, + "normal": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": 2 + } + }, + "selected": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": null + } + } + } + } + ], + "interpolation": "curveLinear", + "radius": 2, + "series": "Trend", + "stack": true, + "type": "line", + "visible": true + } + ] + } + ], + "series": [ + { + "name": "Trend" + } + ], + "timeAxis": { + "height": 15 + }, + "timeRange": { + "visible": false + }, + "xTrace": { + "visible": false + } + }, + "type": "ia.chart.timeseries" + } + ], + "meta": { + "name": "Trend" + }, + "position": { + "height": 390, + "width": 355, + "x": 2.5, + "y": 45 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/00_Trend_Popups/Process_PVCapture/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/00_Trend_Popups/Process_PVCapture/resource.json new file mode 100644 index 0000000..ee677ac --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/00_Trend_Popups/Process_PVCapture/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "53c6269c42b5646544a04dd30b686fbffc634bcbe5d0517ec96d8c0cd74a373c", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:18Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/00_Trend_Popups/Process_PVCapture/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/00_Trend_Popups/Process_PVCapture/thumbnail.png new file mode 100644 index 0000000..560f67b Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/00_Trend_Popups/Process_PVCapture/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/00_Trend_Popups/Process_PVCapture/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/00_Trend_Popups/Process_PVCapture/view.json new file mode 100644 index 0000000..196ade9 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/00_Trend_Popups/Process_PVCapture/view.json @@ -0,0 +1,387 @@ +{ + "custom": {}, + "params": { + "euParameterName": "Cfg_EU", + "maximumParameterName": "Val_PVEUMax", + "minimumParameterName": "Val_PVEUMin", + "pvParameterName": "Val", + "tagPath": "[default]Test_Tags/P_Ain" + }, + "propConfig": { + "params.euParameterName": { + "paramDirection": "input", + "persistent": true + }, + "params.maximumParameterName": { + "paramDirection": "input", + "persistent": true + }, + "params.minimumParameterName": { + "paramDirection": "input", + "persistent": true + }, + "params.pvParameterName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 440, + "width": 360 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "PVLegendPolygon" + }, + "position": { + "height": 8, + "width": 16, + "y": 4 + }, + "props": { + "style": { + "backgroundColor": "#2A4191" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "PVLegendText" + }, + "position": { + "height": 16, + "width": 323, + "x": 19 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "\"Process Variable (\" + tag({view.params.tagPath} + \"/\" + {view.params.euParameterName}) + \")\"" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "PVLegend" + }, + "position": { + "height": 22, + "width": 344 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TrendLegend" + }, + "position": { + "height": 48, + "width": 355 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "custom": { + "historyTags": [ + { + "aggregate": "Average", + "alias": "PV" + } + ] + }, + "meta": { + "name": "TimeSeriesChart" + }, + "position": { + "height": 390, + "width": 355 + }, + "propConfig": { + "custom.historyTags[0].path": { + "binding": { + "config": { + "expression": "{view.params.tagPath} + \"/\" + {view.params.pvParameterName} " + }, + "type": "expr" + } + }, + "props.plots[0].axes[0].max": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {view.params.maximumParameterName})" + }, + "type": "expr" + } + }, + "props.plots[0].axes[0].min": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {view.params.minimumParameterName})" + }, + "type": "expr" + } + }, + "props.series[0].data": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "5", + "mostRecentUnits": "MIN" + }, + "enableValueCache": true, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "2" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "100", + "type": "FIXED" + }, + "tags": "{this.custom.historyTags}", + "valueFormat": "DATASET" + }, + "type": "tag-history" + } + } + }, + "props": { + "enablePanZoom": false, + "plots": [ + { + "axes": [ + { + "alignment": "left", + "label": { + "font": { + "color": "", + "size": 10 + }, + "offset": 0, + "style": { + "classes": "" + }, + "text": "", + "visible": true + }, + "name": "yAxis", + "style": { + "classes": "" + }, + "tick": { + "color": "", + "count": 5, + "label": { + "font": { + "color": "", + "size": 10 + }, + "format": "Auto", + "style": { + "classes": "" + } + }, + "style": { + "classes": "" + } + }, + "width": 0 + } + ], + "markers": [], + "trends": [ + { + "axis": "yAxis", + "baselines": [], + "breakLine": true, + "columns": [ + { + "color": "", + "key": "t_stamp", + "styles": { + "highlighted": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": null + } + }, + "muted": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": null + } + }, + "normal": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": null + } + }, + "selected": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": null + } + } + } + }, + { + "color": "#475CA7", + "key": "PV", + "styles": { + "highlighted": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": null + } + }, + "muted": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": null + } + }, + "normal": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": 2 + } + }, + "selected": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": null + } + } + } + } + ], + "interpolation": "curveLinear", + "radius": 2, + "series": "Trend", + "stack": true, + "type": "line", + "visible": true + } + ] + } + ], + "series": [ + { + "name": "Trend" + } + ], + "timeAxis": { + "height": 15 + }, + "timeRange": { + "visible": false + }, + "xTrace": { + "visible": false + } + }, + "type": "ia.chart.timeseries" + } + ], + "meta": { + "name": "Trend" + }, + "position": { + "height": 390, + "width": 355, + "x": 2.5, + "y": 45 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/00_Trend_Popups/Process_PVwSP/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/00_Trend_Popups/Process_PVwSP/resource.json new file mode 100644 index 0000000..e9055db --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/00_Trend_Popups/Process_PVwSP/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "5e310ebb1b2b463012929577ab023a0d3243e532b703f5e98ee7d0f5774851fa", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:18Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/00_Trend_Popups/Process_PVwSP/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/00_Trend_Popups/Process_PVwSP/thumbnail.png new file mode 100644 index 0000000..4b84cae Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/00_Trend_Popups/Process_PVwSP/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/00_Trend_Popups/Process_PVwSP/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/00_Trend_Popups/Process_PVwSP/view.json new file mode 100644 index 0000000..bfc3f7f --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/00_Trend_Popups/Process_PVwSP/view.json @@ -0,0 +1,511 @@ +{ + "custom": {}, + "params": { + "euParameterName": "Cfg_SpeedFdbkEU", + "maximumParameterName": "Val_SpeedFdbkEUMax", + "minimumParameterName": "Val_SpeedFdbkEUMin", + "pvParameterName": "Val_SpeedFdbk", + "spParameterName": "Val_SpeedRef", + "tagPath": "[default]Test_Tags/P_VSD" + }, + "propConfig": { + "params.euParameterName": { + "paramDirection": "input", + "persistent": true + }, + "params.maximumParameterName": { + "paramDirection": "input", + "persistent": true + }, + "params.minimumParameterName": { + "paramDirection": "input", + "persistent": true + }, + "params.pvParameterName": { + "paramDirection": "input", + "persistent": true + }, + "params.spParameterName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 440, + "width": 360 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "PVLegendPolygon" + }, + "position": { + "height": 8, + "width": 16, + "y": 4 + }, + "props": { + "style": { + "backgroundColor": "#2A4191" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "PVLegendText" + }, + "position": { + "height": 16, + "width": 323, + "x": 19 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "\"Process Variable (\" + tag({view.params.tagPath} + \"/\" + {view.params.euParameterName}) + \")\"" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FdbkLegend" + }, + "position": { + "height": 22, + "width": 344 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "PVLegendPolygon" + }, + "position": { + "height": 8, + "width": 16, + "y": 4 + }, + "props": { + "style": { + "backgroundColor": "#93C2E4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "PVLegendText" + }, + "position": { + "height": 16, + "width": 323, + "x": 19 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "\"Setpoint (\" + tag({view.params.tagPath} + \"/\" + {view.params.euParameterName}) + \")\"" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "SPLegend" + }, + "position": { + "height": 22, + "width": 344, + "y": 20 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TrendLegend" + }, + "position": { + "height": 48, + "width": 355 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "custom": { + "historyTags": [ + { + "aggregate": "Minimum", + "alias": "SP" + }, + { + "aggregate": "Minimum", + "alias": "PV" + } + ] + }, + "meta": { + "name": "TimeSeriesChart" + }, + "position": { + "height": 389, + "width": 353 + }, + "propConfig": { + "custom.historyTags[0].path": { + "binding": { + "config": { + "expression": "{view.params.tagPath} + \"/\" + {view.params.spParameterName}" + }, + "type": "expr" + } + }, + "custom.historyTags[1].path": { + "binding": { + "config": { + "expression": "{view.params.tagPath} + \"/\" + {view.params.pvParameterName}" + }, + "type": "expr" + } + }, + "props.plots[0].axes[0].max": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {view.params.maximumParameterName})" + }, + "type": "expr" + } + }, + "props.plots[0].axes[0].min": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {view.params.minimumParameterName})" + }, + "type": "expr" + } + }, + "props.series[0].data": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "30", + "mostRecentUnits": "MIN" + }, + "enableValueCache": true, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "2" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "100", + "type": "FIXED" + }, + "tags": "{this.custom.historyTags}", + "valueFormat": "DATASET" + }, + "type": "tag-history" + } + } + }, + "props": { + "enablePanZoom": false, + "plots": [ + { + "axes": [ + { + "alignment": "left", + "label": { + "font": { + "color": "", + "size": 10 + }, + "offset": 0, + "style": { + "classes": "" + }, + "text": "", + "visible": true + }, + "name": "yAxis", + "style": { + "classes": "" + }, + "tick": { + "color": "", + "count": "Auto", + "label": { + "font": { + "color": "", + "size": 10 + }, + "format": "Auto", + "style": { + "classes": "" + } + }, + "style": { + "classes": "" + } + }, + "width": 60 + } + ], + "markers": [], + "trends": [ + { + "axis": "yAxis", + "baselines": [], + "breakLine": true, + "columns": [ + { + "color": "", + "key": "t_stamp", + "styles": { + "highlighted": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": null + } + }, + "muted": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": null + } + }, + "normal": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": null + } + }, + "selected": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": null + } + } + } + }, + { + "color": "#2A4191", + "key": "PV", + "styles": { + "highlighted": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": 2 + } + }, + "muted": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": null + } + }, + "normal": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": 2 + } + }, + "selected": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": 2 + } + } + } + }, + { + "color": "#93C2E4", + "key": "SP", + "styles": { + "highlighted": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": 2 + } + }, + "muted": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": null + } + }, + "normal": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": 2 + } + }, + "selected": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": 2 + } + } + } + } + ], + "interpolation": "curveLinear", + "radius": 2, + "series": "Data", + "stack": true, + "type": "line", + "visible": true + } + ] + } + ], + "series": [ + { + "name": "Data" + } + ], + "timeRange": { + "visible": false + }, + "xTrace": { + "visible": false + } + }, + "type": "ia.chart.timeseries" + } + ], + "meta": { + "name": "Trend" + }, + "position": { + "height": 390, + "width": 355, + "x": 2.5, + "y": 45 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/00_Trend_Popups/Process_PVwSP_DoNotUse/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/00_Trend_Popups/Process_PVwSP_DoNotUse/resource.json new file mode 100644 index 0000000..0aeb042 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/00_Trend_Popups/Process_PVwSP_DoNotUse/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "0c32f47c57366f4a1f557e20c39c8f18ccfb0847bca09727213788c2bb041682", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:18Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/00_Trend_Popups/Process_PVwSP_DoNotUse/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/00_Trend_Popups/Process_PVwSP_DoNotUse/thumbnail.png new file mode 100644 index 0000000..e2efe8f Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/00_Trend_Popups/Process_PVwSP_DoNotUse/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/00_Trend_Popups/Process_PVwSP_DoNotUse/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/00_Trend_Popups/Process_PVwSP_DoNotUse/view.json new file mode 100644 index 0000000..c48fc0c --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/00_Trend_Popups/Process_PVwSP_DoNotUse/view.json @@ -0,0 +1,444 @@ +{ + "custom": {}, + "params": { + "Maximum": 100, + "Minimum": 0, + "PVEU": "Hz", + "PVTagPath": "value", + "SPTagPath": "value" + }, + "propConfig": { + "params.Maximum": { + "paramDirection": "input", + "persistent": true + }, + "params.Minimum": { + "paramDirection": "input", + "persistent": true + }, + "params.PVEU": { + "paramDirection": "input", + "persistent": true + }, + "params.PVTagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.SPTagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 440, + "width": 360 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "PVLegendPolygon" + }, + "position": { + "height": 8, + "width": 16, + "y": 4 + }, + "props": { + "style": { + "backgroundColor": "#2A4191" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "PVLegendText" + }, + "position": { + "height": 16, + "width": 323, + "x": 19 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "\"Process Variable (\" + {view.params.PVEU} + \")\"" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FdbkLegend" + }, + "position": { + "height": 22, + "width": 344 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "PVLegendPolygon" + }, + "position": { + "height": 8, + "width": 16, + "y": 4 + }, + "props": { + "style": { + "backgroundColor": "#93C2E4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "PVLegendText" + }, + "position": { + "height": 16, + "width": 323, + "x": 19 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "\"Setpoint (\" + {view.params.PVEU} + \")\"" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "SPLegend" + }, + "position": { + "height": 22, + "width": 344, + "y": 20 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TrendLegend" + }, + "position": { + "height": 48, + "width": 355 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "PowerChart" + }, + "position": { + "height": "100%", + "width": "100%" + }, + "propConfig": { + "props.axes[0].range.max": { + "binding": { + "config": { + "path": "view.params.Maximum" + }, + "type": "property" + } + }, + "props.axes[0].range.min": { + "binding": { + "config": { + "path": "view.params.Minimum" + }, + "type": "property" + } + } + }, + "props": { + "axes": [ + { + "color": "#757A7F", + "dataFormat": "0,0.##", + "label": { + "font": { + "color": "#757A7F", + "size": 10 + }, + "offset": 0, + "style": { + "classes": "" + }, + "text": "" + }, + "name": "PVwSP", + "position": "left", + "range": { + "auto": false + }, + "style": { + "classes": "" + }, + "tick": { + "color": "#757A7F", + "count": "Auto", + "label": { + "font": { + "color": "#757A7F", + "size": 10 + }, + "format": "Auto", + "style": { + "classes": "" + } + }, + "style": { + "classes": "" + } + }, + "width": 60 + } + ], + "config": { + "measureOfTime": "minutes", + "rangeEndDate": { + "$": [ + "ts", + 0, + 1654302949460 + ], + "$ts": 1654302938653 + }, + "rangeStartDate": { + "$": [ + "ts", + 0, + 1654302949460 + ], + "$ts": 1654302639653 + }, + "unitOfTime": 5, + "visibility": { + "buttons": { + "showAnnotationButton": false, + "showMoreButton": false, + "showTagBrowserButton": false + }, + "showPenControlDisplay": false + } + }, + "interaction": { + "chartZoomLevel": 1, + "rangeZoomLevel": 1 + }, + "legend": { + "visible": true + }, + "pens": [ + { + "axis": "PVwSP", + "data": { + "aggregateMode": "default", + "source": "histprov:Remote_MySQL:/drv:prime controls plant pax dev:default:/tag:test_tags/p_ain/val" + }, + "display": { + "breakLine": true, + "interpolation": "curveLinear", + "radius": 3, + "styles": { + "highlighted": { + "fill": { + "color": "#2A4191", + "opacity": 1 + }, + "stroke": { + "color": "#2A4191", + "dashArray": 0, + "opacity": 1, + "width": 1 + } + }, + "muted": { + "fill": { + "color": "#2A4191", + "opacity": 0.4 + }, + "stroke": { + "color": "#2A4191", + "dashArray": 0, + "opacity": 0.4, + "width": 1 + } + }, + "normal": { + "fill": { + "color": "#2A4191", + "opacity": 0.8 + }, + "stroke": { + "color": "#2A4191", + "dashArray": 0, + "opacity": 0.8, + "width": 1 + } + }, + "selected": { + "fill": { + "color": "#2A4191", + "opacity": 1 + }, + "stroke": { + "color": "#2A4191", + "dashArray": 0, + "opacity": 1, + "width": 1 + } + } + }, + "type": "line" + }, + "enabled": true, + "name": "PV", + "plot": 0, + "selectable": true, + "visible": true + }, + { + "axis": "PVwSP", + "data": { + "aggregateMode": "default", + "source": "histprov:Remote_MySQL:/drv:prime controls plant pax dev:default:/tag:test_tags/p_ain/val" + }, + "display": { + "breakLine": true, + "interpolation": "curveLinear", + "radius": 3, + "styles": { + "highlighted": { + "fill": { + "color": "#93C2E4", + "opacity": 1 + }, + "stroke": { + "color": "#93C2E4", + "dashArray": 0, + "opacity": 1, + "width": 1 + } + }, + "muted": { + "fill": { + "color": "#93C2E4", + "opacity": 0.4 + }, + "stroke": { + "color": "#93C2E4", + "dashArray": 0, + "opacity": 0.4, + "width": 1 + } + }, + "normal": { + "fill": { + "color": "#93C2E4", + "opacity": 0.8 + }, + "stroke": { + "color": "#93C2E4", + "dashArray": 0, + "opacity": 0.8, + "width": 1 + } + }, + "selected": { + "fill": { + "color": "#93C2E4", + "opacity": 1 + }, + "stroke": { + "color": "#93C2E4", + "dashArray": 0, + "opacity": 1, + "width": 1 + } + } + }, + "type": "line" + }, + "enabled": true, + "name": "SP", + "plot": 0, + "selectable": true, + "visible": true + } + ], + "plots": [ + { + "color": "#FFFFFF00", + "markers": [], + "relativeWeight": 1, + "style": { + "classes": "" + } + } + ] + }, + "type": "ia.chart.powerchart" + } + ], + "meta": { + "name": "Trend" + }, + "position": { + "height": 390, + "width": 355, + "x": 2.5, + "y": 45 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Alarm Objects/GO_AlarmDisplay/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Alarm Objects/GO_AlarmDisplay/resource.json new file mode 100644 index 0000000..d98e9a4 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Alarm Objects/GO_AlarmDisplay/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "ceb93b664a99cc77131e6877d5fec4de80694a66e943a4220c9d4fbb13769436", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:18Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Alarm Objects/GO_AlarmDisplay/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Alarm Objects/GO_AlarmDisplay/thumbnail.png new file mode 100644 index 0000000..3a3a078 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Alarm Objects/GO_AlarmDisplay/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Alarm Objects/GO_AlarmDisplay/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Alarm Objects/GO_AlarmDisplay/view.json new file mode 100644 index 0000000..ed9124d --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Alarm Objects/GO_AlarmDisplay/view.json @@ -0,0 +1,353 @@ +{ + "custom": {}, + "params": { + "alarmName": "TransitStall", + "tagPath": "[DH1]Block 1/Process/Valve/FV_13" + }, + "propConfig": { + "params.alarmName": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 34, + "width": 291 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 34, + "width": 290 + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 17, + "x": 273.9970643310547, + "y": 0.0000019073486328125 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {view.params.alarmName} + \"/Sts_Err\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 200 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {view.params.alarmName} + \"/Cfg_Cond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#A0A0A4", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "GroupDoesNotHaveAlarm" + }, + "position": { + "height": 18, + "width": 200, + "x": 26, + "y": 10 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {view.params.alarmName} + \"/Cfg_Exists\"), false, true)" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "AlarmPolygon" + }, + "position": { + "height": 30, + "width": 286 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {view.params.alarmName} + \"/Alm\")" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "tag(\"[default]_Settings/PlantPAXBlink\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/\" + self.view.params.alarmName+ \"/Val_Notify\"])[0].value\n\tcurrent_color \u003d self.props.style.borderColor\n#\t\n\t# id: [color1, color2]\n\tcolors \u003d {\n\t0: [\"#FFFFFF\", \"#FFFFFF\"],\n\t1: [\"#FFFFFF\", \"#000000\"],\n\t2: [\"#000000\", \"#000000\"],\n\t3: [\"#916AAD\", \"#000000\"],\n\t4: [\"#000000\", \"#000000\"],\n\t5: [\"#F5DF1B\", \"#000000\"],\n\t6: [\"#000000\", \"#000000\"],\n\t7: [\"#EC8629\", \"#000000\"],\n\t8: [\"#000000\", \"#000000\"],\n\t9: [\"#FF0000\", \"#000000\"]\n\t}\n#\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tif (current_color \u003d\u003d colors[Val_NotifyAll][0]):\n\t\t\tret_value \u003d colors[Val_NotifyAll][1]\n\t\telif (current_color \u003d\u003d colors[Val_NotifyAll][1]):\n\t\t\tret_value \u003d colors[Val_NotifyAll][0]\n\t\telse:\n\t\t\tret_value \u003d colors[Val_NotifyAll][0]\n\t\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "borderStyle": "solid", + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 200, + "x": 24, + "y": 8 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {view.params.alarmName} + \"/Cfg_Cond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#000000", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Disabled" + }, + "position": { + "height": 17, + "width": 16 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {view.params.alarmName} + \"/Disabled\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Alm_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Shelved" + }, + "position": { + "height": 17, + "width": 16, + "x": 20 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {view.params.alarmName} + \"/Shelved\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Alm_Shelved.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Suppressed" + }, + "position": { + "height": 17, + "width": 16, + "x": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {view.params.alarmName} + \"/Suppressed\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Alm_Supp.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupInhibits" + }, + "position": { + "height": 17, + "width": 56, + "x": 225.985, + "y": 6.99554 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "AlarmSeverityIndicator" + }, + "position": { + "height": 20, + "width": 20, + "x": 3, + "y": 6 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {view.params.alarmName} + \"/Alm\")" + }, + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {view.params.alarmName} + \"/Val_Notify\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Error\"]\n\t\n\tVal_Notify \u003d value\n\t\n\tif (Val_Notify \u003e\u003d 1) and (Val_Notify \u003c\u003d 9):\n\t\tret_value \u003d images_path.format(images[Val_Notify])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupHasAlarm" + }, + "position": { + "height": 30, + "width": 286, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {view.params.alarmName} + \"/Cfg_Exists\"), true, false)" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tblock_label \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_Label\"])[0].value\n\talarm_label \u003d system.tag.readBlocking([self.view.params.tagPath + \"/\" + self.view.params.alarmName + \"/Cfg_Cond\"])[0].value\n\ttitle \u003d \"{0} - {1}\".format(block_label, alarm_label)\n\t\n\tparams \u003d {\u0027tagPath\u0027: self.view.params.tagPath + \"/\" + self.view.params.alarmName}\n\t\n\tsystem.perspective.openPopup({self.view.params.tagPath},\u0027Plant PAX/Popups/P_Alarm/P_Alarm\u0027, params, title, showCloseIcon \u003d True, resizable \u003d False)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_ControlVariable/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_ControlVariable/resource.json new file mode 100644 index 0000000..7bd4923 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_ControlVariable/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "7b1e0deae7aab55e56c86abeb66146eb262e08dcca10d93345553375f7c300bc", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_ControlVariable/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_ControlVariable/thumbnail.png new file mode 100644 index 0000000..d4cccec Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_ControlVariable/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_ControlVariable/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_ControlVariable/view.json new file mode 100644 index 0000000..be1f30a --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_ControlVariable/view.json @@ -0,0 +1,128 @@ +{ + "custom": {}, + "params": { + "tagPath": "[default]Test_Tags/SC_01" + }, + "propConfig": { + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 38, + "width": 88 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "NumericDisplay", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 18, + "width": 78, + "x": 5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Val_CVOut\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tCfg_PVDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_PVDecPlcs\"] )[0].value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/Val_CVOut\"), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#2A4191", + "fontWeight": "bold", + "textAlign": "center" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "11pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "godsData_EU", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 14, + "width": 56, + "x": 16, + "y": 15 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Cfg_EU\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#919191", + "fontSize": "8pt", + "fontWeight": "normal", + "outlineStyle": "none", + "paddingLeft": 5, + "textAlign": "center" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "8pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "pnddVal" + }, + "position": { + "height": 31, + "width": 88, + "y": 3.5 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_LoopModeManualButton/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_LoopModeManualButton/resource.json new file mode 100644 index 0000000..3cc1039 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_LoopModeManualButton/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "69d810b17505879172d463bf2c8dc8e759b7a73d79c8f349bfdfdf648fb855c1", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_LoopModeManualButton/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_LoopModeManualButton/thumbnail.png new file mode 100644 index 0000000..3c9776c Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_LoopModeManualButton/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_LoopModeManualButton/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_LoopModeManualButton/view.json new file mode 100644 index 0000000..b911dc3 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_LoopModeManualButton/view.json @@ -0,0 +1,137 @@ +{ + "custom": {}, + "params": { + "tagPath": "[default]Test_Tags/Flow_PID" + }, + "propConfig": { + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 40, + "width": 40 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFaceDisabled" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_ModeMan_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "InactiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_ModeMan.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_StartFwd\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{view.params.userHasBasic} \u0026\u0026 {view.params.securityOperateEquipment} \u0026\u0026 tag({view.params.tagPath} + \"/ORdy_StartFwd\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_PID_CV/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_PID_CV/resource.json new file mode 100644 index 0000000..ea4e311 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_PID_CV/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "04eaee98127e45a8cc1751e1a16ad09ff8eb55117f093d0a9db566320b70f118", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_PID_CV/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_PID_CV/thumbnail.png new file mode 100644 index 0000000..a9eaf9b Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_PID_CV/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_PID_CV/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_PID_CV/view.json new file mode 100644 index 0000000..b3ed99e --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_PID_CV/view.json @@ -0,0 +1,253 @@ +{ + "custom": {}, + "params": { + "tagPath": "[default]Test_Tags/Flow_PID" + }, + "propConfig": { + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 48, + "width": 88 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "godsAlarmPolygon" + }, + "position": { + "height": 46, + "width": 78, + "x": 5, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_CVNotify\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Inp_CVNotify\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d value\n\t\n\tcolors \u003d [\"\",\n\t\"#FFFFFF\",\n\t\"#916AAD\",\n\t\"#916AAD\",\n\t\"#F5DF1B\",\n\t\"#F5DF1B\",\n\t\"#EC8729\",\n\t\"#EC8729\",\n\t\"#E22028\",\n\t\"#E22028\",\n\t\"\"]\n\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d colors[Val_NotifyAll]\n\t\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 5 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "godsData_Value", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 18, + "width": 66, + "x": 11, + "y": 4 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Val_CVOut\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tCfg_PVDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_PVDecPlcs\"] )[0].value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/Val_CVOut\"), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#2A4191", + "fontWeight": "bold", + "textAlign": "center" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "11pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "godsData_EU", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 14, + "width": 56, + "x": 16, + "y": 26 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Cfg_CVEU\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#919191", + "fontWeight": "bold", + "outlineStyle": "none", + "paddingLeft": 5, + "textAlign": "center" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "8pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "msi_AlarmIndicator" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_CVNotify\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Inp_CVNotify\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "msi_Exceptions" + }, + "position": { + "height": 17, + "width": 16, + "x": 70 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_PVBad\") || tag({view.params.tagPath} + \"/Sts_CVClamped\")" + }, + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_PVBad\") || tag({view.params.tagPath} + \"/Sts_CVClamped\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_Clamped\",\n\t 2: \"Sts_CommBad\"\n\t}\n\t\t\t\n\tSts_PVBad \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_PVBad\"])[0].value\n\tSts_SPClamped \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_SPClamped\"])[0].value\n\n\tif (Sts_PVBad):\n\t\tindex \u003d 2 \n\telif (Sts_SPClamped):\n\t\tindex \u003d 1\n\telse:\n\t\tindex \u003d 0\n\n\ttry:\n\t\tret_value \u003d images_path.format(images[index])\n\texcept:\n\t\tret_value \u003d images_path.format(\"Error\")\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_PID_PV/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_PID_PV/resource.json new file mode 100644 index 0000000..439f2bf --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_PID_PV/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "1ed44372178b394fc48c8f3e65d905e72e226b50e331754d87e51d38b876019d", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_PID_PV/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_PID_PV/thumbnail.png new file mode 100644 index 0000000..83bbe86 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_PID_PV/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_PID_PV/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_PID_PV/view.json new file mode 100644 index 0000000..4606a30 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_PID_PV/view.json @@ -0,0 +1,253 @@ +{ + "custom": {}, + "params": { + "tagPath": "[default]Test_Tags/Flow_PID" + }, + "propConfig": { + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 48, + "width": 88 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "godsAlarmPolygon" + }, + "position": { + "height": 46, + "width": 78, + "x": 5, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_PVNotify\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Inp_PVNotify\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d value\n\t\n\tcolors \u003d [\"\",\n\t\"#FFFFFF\",\n\t\"#916AAD\",\n\t\"#916AAD\",\n\t\"#F5DF1B\",\n\t\"#F5DF1B\",\n\t\"#EC8729\",\n\t\"#EC8729\",\n\t\"#E22028\",\n\t\"#E22028\",\n\t\"\"]\n\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d colors[Val_NotifyAll]\n\t\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 5 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "godsData_Value", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 18, + "width": 66, + "x": 11, + "y": 4 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Val_PV\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tCfg_PVDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_PVDecPlcs\"] )[0].value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/Val_PV\"), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#2A4191", + "fontWeight": "bold", + "textAlign": "center" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "11pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "godsData_EU", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 14, + "width": 56, + "x": 16, + "y": 26 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Cfg_PVEU\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#919191", + "fontWeight": "bold", + "outlineStyle": "none", + "paddingLeft": 5, + "textAlign": "center" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "8pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "msi_AlarmIndicator" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_PVNotify\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Inp_PVNotify\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "msi_Exceptions" + }, + "position": { + "height": 17, + "width": 16, + "x": 70 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_PVBad\") || tag({view.params.tagPath} + \"/Sts_PVUncertain\")" + }, + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_PVBad\") || tag({view.params.tagPath} + \"/Sts_PVUncertain\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_CommUncertain\",\n\t 2: \"Sts_CommBad\"\n\t}\n\t\t\t\n\tSts_PVBad \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_PVBad\"])[0].value\n\tSts_PVUncertain \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_PVUncertain\"])[0].value\n\n\tif (Sts_PVBad):\n\t\tindex \u003d 2 \n\telif (Sts_PVUncertain):\n\t\tindex \u003d 1\n\telse:\n\t\tindex \u003d 0\n\n\ttry:\n\t\tret_value \u003d images_path.format(images[index])\n\texcept:\n\t\tret_value \u003d images_path.format(\"Error\")\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_PID_SP/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_PID_SP/resource.json new file mode 100644 index 0000000..21a6ca2 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_PID_SP/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "57c1d449d7a16c57c7e0febd69e0cd83ae012c4ec32493a857e8a319e7fba59e", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_PID_SP/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_PID_SP/thumbnail.png new file mode 100644 index 0000000..83bbe86 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_PID_SP/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_PID_SP/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_PID_SP/view.json new file mode 100644 index 0000000..66a476a --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_PID_SP/view.json @@ -0,0 +1,253 @@ +{ + "custom": {}, + "params": { + "tagPath": "[default]Test_Tags/Flow_PID" + }, + "propConfig": { + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 48, + "width": 88 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "godsAlarmPolygon" + }, + "position": { + "height": 46, + "width": 78, + "x": 5, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_CascSPNotify\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Inp_CascSPNotify\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d value\n\t\n\tcolors \u003d [\"\",\n\t\"#FFFFFF\",\n\t\"#916AAD\",\n\t\"#916AAD\",\n\t\"#F5DF1B\",\n\t\"#F5DF1B\",\n\t\"#EC8729\",\n\t\"#EC8729\",\n\t\"#E22028\",\n\t\"#E22028\",\n\t\"\"]\n\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d colors[Val_NotifyAll]\n\t\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "borderBottomLeftRadius": 5, + "borderBottomRightRadius": 5, + "borderStyle": "solid", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "borderWidth": 5 + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "godsData_Value", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 18, + "width": 66, + "x": 11, + "y": 4 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Val_SP\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tCfg_PVDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_PVDecPlcs\"] )[0].value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/Val_SP\"), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#2A4191", + "fontWeight": "bold", + "textAlign": "center" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "11pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "godsData_EU", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 14, + "width": 56, + "x": 16, + "y": 26 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Cfg_PVEU\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#919191", + "fontWeight": "bold", + "outlineStyle": "none", + "paddingLeft": 5, + "textAlign": "center" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "8pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "msi_AlarmIndicator" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_CascSPNotify\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Inp_CascSPNotify\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "msi_Exceptions" + }, + "position": { + "height": 17, + "width": 16, + "x": 70 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_PVBad\") || tag({view.params.tagPath} + \"/Sts_SPClamped\")" + }, + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_PVBad\") || tag({view.params.tagPath} + \"/Sts_SPClamped\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_Clamped\",\n\t 2: \"Sts_CommBad\"\n\t}\n\t\t\t\n\tSts_PVBad \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_PVBad\"])[0].value\n\tSts_SPClamped \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_SPClamped\"])[0].value\n\n\tif (Sts_PVBad):\n\t\tindex \u003d 2 \n\telif (Sts_SPClamped):\n\t\tindex \u003d 1\n\telse:\n\t\tindex \u003d 0\n\n\ttry:\n\t\tret_value \u003d images_path.format(images[index])\n\texcept:\n\t\tret_value \u003d images_path.format(\"Error\")\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_SPPVBarGraph/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_SPPVBarGraph/resource.json new file mode 100644 index 0000000..2c6dab8 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_SPPVBarGraph/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "eba80c369e52a2e51a8b482517d6ba47ce79001d9ea2c0f9640ada3414545d28", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_SPPVBarGraph/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_SPPVBarGraph/thumbnail.png new file mode 100644 index 0000000..5082836 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_SPPVBarGraph/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_SPPVBarGraph/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_SPPVBarGraph/view.json new file mode 100644 index 0000000..cb2cd08 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_SPPVBarGraph/view.json @@ -0,0 +1,631 @@ +{ + "custom": {}, + "params": { + "tagPath": "[default]Test_Tags/Flow_PID" + }, + "propConfig": { + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 192, + "width": 117 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "CoordinateContainer" + }, + "position": { + "height": 176, + "width": 8, + "x": 1, + "y": 2 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "PVBar" + }, + "position": { + "height": 180, + "width": 12, + "x": 18.5, + "y": 7 + }, + "props": { + "style": { + "borderColor": "#A0A0A4", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "MajorTick0" + }, + "position": { + "height": 1, + "width": 5 + }, + "props": { + "style": { + "borderTopColor": "#A0A0A4", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "MajorTick1" + }, + "position": { + "height": 1, + "width": 5, + "y": "25%" + }, + "props": { + "style": { + "borderTopColor": "#A0A0A4", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "MajorTick2" + }, + "position": { + "height": 1, + "width": 5, + "y": "50%" + }, + "props": { + "style": { + "borderTopColor": "#A0A0A4", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "MajorTick3" + }, + "position": { + "height": 1, + "width": 5, + "y": "75%" + }, + "props": { + "style": { + "borderTopColor": "#A0A0A4", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "MajorTick4" + }, + "position": { + "height": 1, + "width": 5, + "y": 179 + }, + "props": { + "style": { + "borderTopColor": "#A0A0A4", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "MinorTick0" + }, + "position": { + "height": 1, + "width": 2, + "y": "5%" + }, + "props": { + "style": { + "borderTopColor": "#A0A0A4", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "MinorTick1" + }, + "position": { + "height": 1, + "width": 2, + "y": "10%" + }, + "props": { + "style": { + "borderTopColor": "#A0A0A4", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "MinorTick2" + }, + "position": { + "height": 1, + "width": 2, + "y": "15%" + }, + "props": { + "style": { + "borderTopColor": "#A0A0A4", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "MinorTick3" + }, + "position": { + "height": 1, + "width": 2, + "y": "20%" + }, + "props": { + "style": { + "borderTopColor": "#A0A0A4", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "MinorTick4" + }, + "position": { + "height": 1, + "width": 2, + "y": "30%" + }, + "props": { + "style": { + "borderTopColor": "#A0A0A4", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "MinorTick5" + }, + "position": { + "height": 1, + "width": 2, + "y": "35%" + }, + "props": { + "style": { + "borderTopColor": "#A0A0A4", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "MinorTick6" + }, + "position": { + "height": 1, + "width": 2, + "y": "40%" + }, + "props": { + "style": { + "borderTopColor": "#A0A0A4", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "MinorTick7" + }, + "position": { + "height": 1, + "width": 2, + "y": "45%" + }, + "props": { + "style": { + "borderTopColor": "#A0A0A4", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "MinorTick8" + }, + "position": { + "height": 1, + "width": 2, + "y": "55%" + }, + "props": { + "style": { + "borderTopColor": "#A0A0A4", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "MinorTick9" + }, + "position": { + "height": 1, + "width": 2, + "y": "60%" + }, + "props": { + "style": { + "borderTopColor": "#A0A0A4", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "MinorTick10" + }, + "position": { + "height": 1, + "width": 2, + "y": "65%" + }, + "props": { + "style": { + "borderTopColor": "#A0A0A4", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "MinorTick11" + }, + "position": { + "height": 1, + "width": 2, + "y": "70%" + }, + "props": { + "style": { + "borderTopColor": "#A0A0A4", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "MinorTick12" + }, + "position": { + "height": 1, + "width": 2, + "y": "80%" + }, + "props": { + "style": { + "borderTopColor": "#A0A0A4", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "MinorTick13" + }, + "position": { + "height": 1, + "width": 2, + "y": "85%" + }, + "props": { + "style": { + "borderTopColor": "#A0A0A4", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "MinorTick14" + }, + "position": { + "height": 1, + "width": 2, + "y": "90%" + }, + "props": { + "style": { + "borderTopColor": "#A0A0A4", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "MinorTick15" + }, + "position": { + "height": 1, + "width": 2, + "y": "95%" + }, + "props": { + "style": { + "borderTopColor": "#A0A0A4", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Scale" + }, + "position": { + "height": 182, + "width": 10, + "x": 30.5, + "y": 7 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "ScaleMax" + }, + "position": { + "height": 14, + "width": 53, + "x": 47.5, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Val_PVEUMax\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tCfg_PVDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_PVDecPlcs\"] )[0].value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/Val_PVEUMax\"), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "A0A0A4", + "fontSize": "8pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "ScaleMin" + }, + "position": { + "height": 14, + "width": 53, + "x": 47.5, + "y": 177 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Val_PVEUMin\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tCfg_PVDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_PVDecPlcs\"] )[0].value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/Val_PVEUMin\"), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "A0A0A4", + "fontSize": "8pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "PVIndicator" + }, + "position": { + "height": 16, + "rotate": { + "angle": 0 + }, + "width": 16, + "x": 6.5 + }, + "propConfig": { + "position.y": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_PV\") ||\r\ntag({view.params.tagPath} + \"/Val_PVEUMin\") ||\r\ntag({view.params.tagPath} + \"/Val_PVEUMax\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d 0\n\t\n\tVal \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_PV\"])[0].value\n\tVal_PVEUMin \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_PVEUMin\"])[0].value\n\tVal_PVEUMax \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_PVEUMax\"])[0].value\n\t\n\tDisplayMin \u003d 0\n\tDisplayMax \u003d self.getSibling(\"PVBar\").position.height - 2\n\t\n\tvalue_reference \u003d 1\n\t\n\tif (Val_PVEUMax \u003e Val_PVEUMin):\n\t\tvalue_reference \u003d ((Val) - (Val_PVEUMin))/((Val_PVEUMax) - (Val_PVEUMin))\n\t\n\tret_value \u003d DisplayMax - (value_reference * abs(DisplayMax - DisplayMin))\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "color": "#2A4191", + "path": "material/play_arrow" + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "SPIndicator" + }, + "position": { + "height": 16, + "rotate": { + "angle": "180deg" + }, + "width": 16, + "x": 26.5 + }, + "propConfig": { + "position.y": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_SP\") ||\r\ntag({view.params.tagPath} + \"/Val_PVEUMin\") ||\r\ntag({view.params.tagPath} + \"/Val_PVEUMax\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d 0\n\t\n\tVal \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_SP\"])[0].value\n\tVal_PVEUMin \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_PVEUMin\"])[0].value\n\tVal_PVEUMax \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_PVEUMax\"])[0].value\n\t\n\tDisplayMin \u003d 0\n\tDisplayMax \u003d self.getSibling(\"PVBar\").position.height - 2\n\t\n\tvalue_reference \u003d 1\n\t\n\tif (Val_PVEUMax \u003e Val_PVEUMin):\n\t\tvalue_reference \u003d ((Val) - (Val_PVEUMin))/((Val_PVEUMax) - (Val_PVEUMin))\n\t\n\tret_value \u003d DisplayMax - (value_reference * abs(DisplayMax - DisplayMin))\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "color": "#3F3F3F", + "path": "material/play_arrow" + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "PolygonSPSet" + }, + "position": { + "height": 3, + "width": 15, + "x": 20 + }, + "propConfig": { + "position.y": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_SP\") ||\r\ntag({view.params.tagPath} + \"/Val_PVEUMin\") ||\r\ntag({view.params.tagPath} + \"/Val_PVEUMax\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d 0\n\t\n\tVal \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_SP\"])[0].value\n\tVal_PVEUMin \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_PVEUMin\"])[0].value\n\tVal_PVEUMax \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_PVEUMax\"])[0].value\n\t\n\tDisplayMin \u003d 0\n\tDisplayMax \u003d self.getSibling(\"PVBar\").position.height + 7\n\t\n\tvalue_reference \u003d 1\n\t\n\tif (Val_PVEUMax \u003e Val_PVEUMin):\n\t\tvalue_reference \u003d ((Val) - (Val_PVEUMin))/((Val_PVEUMax) - (Val_PVEUMin))\n\t\n\tret_value \u003d DisplayMax - (value_reference * abs(DisplayMax - DisplayMin))\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#3F3F3F" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_CVDecimalPlaces/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_CVDecimalPlaces/resource.json new file mode 100644 index 0000000..8c54ec6 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_CVDecimalPlaces/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "aa24f8e5e2a4d4245e4bd4bff0c78cc0d312a348bcf57791db96b29e160f5d68", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_CVDecimalPlaces/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_CVDecimalPlaces/thumbnail.png new file mode 100644 index 0000000..251211e Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_CVDecimalPlaces/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_CVDecimalPlaces/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_CVDecimalPlaces/view.json new file mode 100644 index 0000000..594a68d --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_CVDecimalPlaces/view.json @@ -0,0 +1,167 @@ +{ + "custom": {}, + "params": { + "parameterName": "Cfg_PVDecPlcs", + "securityDeviceConfigHMI": true, + "tagPath": "[default]Test_Tags/P_Ain", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "params.parameterName": { + "paramDirection": "input", + "persistent": true + }, + "params.securityDeviceConfigHMI": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigHMI\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 32, + "width": 340 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "NumericInput" + }, + "position": { + "height": 20, + "width": 70, + "x": 259, + "y": 7 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigHMI} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "0" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/\" + {view.params.parameterName}" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 6, + "minimum": 0 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 231, + "x": 11, + "y": 8 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Number of Decimal Places for CV" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_Area/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_Area/resource.json new file mode 100644 index 0000000..32098fd --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_Area/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json" + ], + "attributes": { + "lastModificationSignature": "7e650fa91a004d34ee5e100e81e2e0baa9d1d8a900884f3fce7edfc7df3ccffd", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_Area/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_Area/view.json new file mode 100644 index 0000000..4c053b7 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_Area/view.json @@ -0,0 +1,142 @@ +{ + "custom": {}, + "params": { + "securityConfigSecurity": true, + "tagPath": "[default]Test_Tags/P_Ain", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "params.securityConfigSecurity": { + "binding": { + "config": { + "expression": "\"securityConfigSecurity\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 20, + "width": 340 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 156, + "x": 11, + "y": 2 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Area name for security:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "TextField_0" + }, + "position": { + "height": 20, + "width": 148, + "x": 180.9 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityConfigSecurity} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_Area\"" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "borderStyle": "solid", + "borderWidth": "1px", + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.input.text-field" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_EU/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_EU/resource.json new file mode 100644 index 0000000..d89fa19 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_EU/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json" + ], + "attributes": { + "lastModificationSignature": "e0a6996824e28954521e9dc810e8012af29c7b9423451742b874b36471080a63", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_EU/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_EU/view.json new file mode 100644 index 0000000..cbcf138 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_EU/view.json @@ -0,0 +1,121 @@ +{ + "custom": {}, + "params": { + "securityDeviceConfigHMI": true, + "tagPath": "[default]Test_Tags/P_Ain", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "params.securityDeviceConfigHMI": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigHMI\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 20, + "width": 70 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "TextField" + }, + "position": { + "height": 20, + "width": 70 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigHMI} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_EU\"" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "borderStyle": "solid", + "borderWidth": "1px", + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.input.text-field" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_EUx/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_EUx/resource.json new file mode 100644 index 0000000..f3b1d85 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_EUx/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json" + ], + "attributes": { + "lastModificationSignature": "dff5b435228676d849ecdbcf91d5593c5b1dbc042af9ab594f675199ac42bba8", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_EUx/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_EUx/view.json new file mode 100644 index 0000000..e7d6194 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_EUx/view.json @@ -0,0 +1,126 @@ +{ + "custom": {}, + "params": { + "parameterName": "Cfg_EU", + "securityDeviceConfigHMI": true, + "tagPath": "[default]Test_Tags/P_Ain", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "params.parameterName": { + "paramDirection": "input", + "persistent": true + }, + "params.securityDeviceConfigHMI": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigHMI\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 20, + "width": 70 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "TextField" + }, + "position": { + "height": 20, + "width": 70 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigHMI} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/\" + {view.params.parameterName}" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "borderStyle": "solid", + "borderWidth": "1px", + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.input.text-field" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_HasFwdPermObj/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_HasFwdPermObj/resource.json new file mode 100644 index 0000000..e58b946 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_HasFwdPermObj/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "b072e348d4250a2b52f0f30ab999280f54c1502f108e968e627b1e1b463a2c74", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_HasFwdPermObj/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_HasFwdPermObj/thumbnail.png new file mode 100644 index 0000000..b781aa0 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_HasFwdPermObj/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_HasFwdPermObj/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_HasFwdPermObj/view.json new file mode 100644 index 0000000..90f7201 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_HasFwdPermObj/view.json @@ -0,0 +1,213 @@ +{ + "custom": {}, + "params": { + "securityDeviceConfigHMI": true, + "tagPath": "[default]Test_Tags/P_VSD", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "params.securityDeviceConfigHMI": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigHMI\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 32, + "width": 340 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasFwdPermObj\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigHMI} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 310, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Enable navigation to run forward permissive object" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_HasFwdPermObj\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_HasFwdPermObj\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigHMI} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_HasIntlkObj/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_HasIntlkObj/resource.json new file mode 100644 index 0000000..224d556 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_HasIntlkObj/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "2cc4cef4c63d4aae8f0db717f5ef3e6440546cac88dc8f0a0e23c5400abcf62f", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_HasIntlkObj/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_HasIntlkObj/thumbnail.png new file mode 100644 index 0000000..5f78b4f Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_HasIntlkObj/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_HasIntlkObj/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_HasIntlkObj/view.json new file mode 100644 index 0000000..f4f1146 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_HasIntlkObj/view.json @@ -0,0 +1,213 @@ +{ + "custom": {}, + "params": { + "securityDeviceConfigHMI": true, + "tagPath": "[default]Test_Tags/P_DOut", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "params.securityDeviceConfigHMI": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigHMI\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 32, + "width": 340 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasIntlkObj\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigHMI} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 310, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Enable navigation to interlock object" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_HasIntlkObj\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_HasIntlkObj\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigHMI} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_HasPermObj/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_HasPermObj/resource.json new file mode 100644 index 0000000..09434c8 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_HasPermObj/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "994baa630726b55f3b40ab6ca8fe5ce855360a37ed1b6719ced82eef375724f8", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_HasPermObj/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_HasPermObj/thumbnail.png new file mode 100644 index 0000000..831fc41 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_HasPermObj/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_HasPermObj/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_HasPermObj/view.json new file mode 100644 index 0000000..06f58c6 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_HasPermObj/view.json @@ -0,0 +1,213 @@ +{ + "custom": {}, + "params": { + "securityDeviceConfigHMI": true, + "tagPath": "[default]Test_Tags/P_DOut", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "params.securityDeviceConfigHMI": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigHMI\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 32, + "width": 340 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasPermObj\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigHMI} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 310, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Enable navigation to permissive object" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_HasPermObj\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_HasPermObj\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigHMI} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_HasRevPermObj/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_HasRevPermObj/resource.json new file mode 100644 index 0000000..ba10282 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_HasRevPermObj/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "87e258937941830394dcda8fa1317568eae8639aa57d4e912f99669db465b9bb", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_HasRevPermObj/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_HasRevPermObj/thumbnail.png new file mode 100644 index 0000000..9bc6069 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_HasRevPermObj/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_HasRevPermObj/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_HasRevPermObj/view.json new file mode 100644 index 0000000..5820ad0 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_HasRevPermObj/view.json @@ -0,0 +1,213 @@ +{ + "custom": {}, + "params": { + "securityDeviceConfigHMI": true, + "tagPath": "[default]Test_Tags/P_VSD", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "params.securityDeviceConfigHMI": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigHMI\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 32, + "width": 340 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasRevPermObj\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigHMI} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 310, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Enable navigation to run reverse permissive object" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_HasRevPermObj\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_HasRevPermObj\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigHMI} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_NoSubstPV/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_NoSubstPV/resource.json new file mode 100644 index 0000000..0b67644 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_NoSubstPV/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "2f57c58fcfbd98086558e00d085bacc6af27384f3ebb2ad1b92d9ccc8b9b8f0e", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_NoSubstPV/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_NoSubstPV/thumbnail.png new file mode 100644 index 0000000..a5e9767 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_NoSubstPV/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_NoSubstPV/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_NoSubstPV/view.json new file mode 100644 index 0000000..f310f4c --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_NoSubstPV/view.json @@ -0,0 +1,213 @@ +{ + "custom": {}, + "params": { + "securityDeviceConfigBehavior": true, + "tagPath": "[default]Test_Tags/P_Ain", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "params.securityDeviceConfigBehavior": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigBehavior\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 32, + "width": 340 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_NoSubstPV\"), false, true)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 310, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Allow selection of Substitute PV" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_NoSubstPV\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_NoSubstPV\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_OCmdResets/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_OCmdResets/resource.json new file mode 100644 index 0000000..6971caf --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_OCmdResets/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "799015e82f2c7c6ba9111d89803645a3e712b5db742f70655d2f9e9ad6d92e4f", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_OCmdResets/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_OCmdResets/thumbnail.png new file mode 100644 index 0000000..c0c7f6a Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_OCmdResets/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_OCmdResets/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_OCmdResets/view.json new file mode 100644 index 0000000..cdf38b5 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_OCmdResets/view.json @@ -0,0 +1,213 @@ +{ + "custom": {}, + "params": { + "securityDeviceConfigBehavior": true, + "tagPath": "[default]Test_Tags/P_DOut", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "params.securityDeviceConfigBehavior": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigBehavior\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 32, + "width": 340 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_OCmdResets\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 310, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Operator command resets fault" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_OCmdResets\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_OCmdResets\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_OvrdIntlk/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_OvrdIntlk/resource.json new file mode 100644 index 0000000..407e5cb --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_OvrdIntlk/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "2f4fe6d7f591437779c7353f677caa40f21ca2d2f68e01c2096af538c4204629", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_OvrdIntlk/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_OvrdIntlk/thumbnail.png new file mode 100644 index 0000000..4530c9c Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_OvrdIntlk/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_OvrdIntlk/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_OvrdIntlk/view.json new file mode 100644 index 0000000..73f64c3 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_OvrdIntlk/view.json @@ -0,0 +1,213 @@ +{ + "custom": {}, + "params": { + "securityDeviceConfigBehavior": true, + "tagPath": "[default]Test_Tags/SC_01", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "params.securityDeviceConfigBehavior": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigBehavior\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 32, + "width": 340 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_OvrdIntlk\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 307, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "In Override, bypass Interlocks that can be bypassed" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_OvrdIntlk\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_OvrdIntlk\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_OvrdPermIntlk/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_OvrdPermIntlk/resource.json new file mode 100644 index 0000000..471c549 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_OvrdPermIntlk/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "98ac1fda524b210e06120bc6abdcbfcd807f892575f34112e0e70c382db0ef87", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_OvrdPermIntlk/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_OvrdPermIntlk/thumbnail.png new file mode 100644 index 0000000..46402c8 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_OvrdPermIntlk/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_OvrdPermIntlk/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_OvrdPermIntlk/view.json new file mode 100644 index 0000000..a089bf8 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_OvrdPermIntlk/view.json @@ -0,0 +1,213 @@ +{ + "custom": {}, + "params": { + "securityDeviceConfigBehavior": true, + "tagPath": "[default]Test_Tags/P_DOut", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "params.securityDeviceConfigBehavior": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigBehavior\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 32, + "width": 340 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_OvrdPermIntlk\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 310, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "In Override, bypass Interlocks and Permissives that can be bypassed" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_OvrdPermIntlk\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_OvrdPermIntlk\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_RateFiltTC/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_RateFiltTC/resource.json new file mode 100644 index 0000000..967f1ad --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_RateFiltTC/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "6fd40cda57e7cd372f4b8c885ccc9bb4cf773bcea532d890da218b8e7bac3fd8", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_RateFiltTC/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_RateFiltTC/thumbnail.png new file mode 100644 index 0000000..89eed10 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_RateFiltTC/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_RateFiltTC/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_RateFiltTC/view.json new file mode 100644 index 0000000..6e0b60f --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_RateFiltTC/view.json @@ -0,0 +1,162 @@ +{ + "custom": {}, + "params": { + "securityDeviceConfigBehavior": true, + "tagPath": "[default]Test_Tags/P_Ain", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "params.securityDeviceConfigBehavior": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigBehavior\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 39, + "width": 340 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "NumericInput" + }, + "position": { + "height": 20, + "width": 70, + "x": 256, + "y": 7 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "2" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_FiltTC\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": -4294967296 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Markdown" + }, + "position": { + "height": 37, + "width": 245 + }, + "props": { + "markdown": { + "escapeHtml": false + }, + "source": "\u003cp\u003ePV Filter Time Constant (sec)\u003cbr\u003e0 \u003d unfiltered\u003c/p\u003e", + "style": { + "color": "#3F3F3F", + "fontSize": "10pt" + } + }, + "type": "ia.display.markdown" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_SetTrack/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_SetTrack/resource.json new file mode 100644 index 0000000..4f0b27d --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_SetTrack/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "2ae0d45442d5ac33c993883dee78d1dfeb1e2adae9926dcbea734a52381944ad", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_SetTrack/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_SetTrack/thumbnail.png new file mode 100644 index 0000000..6701825 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_SetTrack/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_SetTrack/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_SetTrack/view.json new file mode 100644 index 0000000..96ec9ce --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_SetTrack/view.json @@ -0,0 +1,213 @@ +{ + "custom": {}, + "params": { + "securityDeviceConfigBehavior": true, + "tagPath": "[default]Test_Tags/SC_01", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "params.securityDeviceConfigBehavior": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigBehavior\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 32, + "width": 340 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_SetTrack\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 310, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Bumpless Program/Operator transition" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_SetTrack\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_SetTrack\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_SetTrackOvrdHand/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_SetTrackOvrdHand/resource.json new file mode 100644 index 0000000..9651fac --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_SetTrackOvrdHand/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "730e8531781932bd531899e3e1209fcc82b7d0a7a8482a0edd2184a291a539f8", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_SetTrackOvrdHand/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_SetTrackOvrdHand/thumbnail.png new file mode 100644 index 0000000..c719e94 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_SetTrackOvrdHand/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_SetTrackOvrdHand/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_SetTrackOvrdHand/view.json new file mode 100644 index 0000000..e67725a --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_SetTrackOvrdHand/view.json @@ -0,0 +1,213 @@ +{ + "custom": {}, + "params": { + "securityDeviceConfigBehavior": true, + "tagPath": "[default]Test_Tags/SC_01", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "params.securityDeviceConfigBehavior": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigBehavior\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 32, + "width": 340 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_SetTrackOvrdHand\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 306, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Bumpless transition from Override/Hand to\nProgram/Operator" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_SetTrackOvrdHand\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_SetTrackOvrdHand\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnFail/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnFail/resource.json new file mode 100644 index 0000000..019d63f --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnFail/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "e88b0cef3abe6be8001283ad65aa259ba29c11fb27d3af8b588ebc12704055cb", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnFail/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnFail/thumbnail.png new file mode 100644 index 0000000..e80d2c5 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnFail/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnFail/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnFail/view.json new file mode 100644 index 0000000..685d0ef --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnFail/view.json @@ -0,0 +1,213 @@ +{ + "custom": {}, + "params": { + "securityDeviceConfigBehavior": true, + "tagPath": "[default]Test_Tags/P_DOut", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "params.securityDeviceConfigBehavior": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigBehavior\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 32, + "width": 280 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_ShedOnFail\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 250, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "On Failure to Reach Target State" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_ShedOnFail\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_ShedOnFail\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 274, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnFailToStart/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnFailToStart/resource.json new file mode 100644 index 0000000..c9a65a7 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnFailToStart/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "5e7f96d2930e7b572a1f3e7fe5e58f13d568deb10e8a06c0810906a6624c3109", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnFailToStart/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnFailToStart/thumbnail.png new file mode 100644 index 0000000..c9f7c7f Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnFailToStart/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnFailToStart/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnFailToStart/view.json new file mode 100644 index 0000000..285cd18 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnFailToStart/view.json @@ -0,0 +1,213 @@ +{ + "custom": {}, + "params": { + "securityDeviceConfigBehavior": true, + "tagPath": "[default]Test_Tags/P_VSD", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "params.securityDeviceConfigBehavior": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigBehavior\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 32, + "width": 280 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_ShedOnFailToStart\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 250, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "On Fail to Start" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_ShedOnFailToStart\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_ShedOnFailToStart\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 274, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnFullStall/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnFullStall/resource.json new file mode 100644 index 0000000..d461abd --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnFullStall/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "6439b3c4d6f35cf8f37536803cec579b982cd417328377e26b474b18bdfd9a0f", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnFullStall/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnFullStall/thumbnail.png new file mode 100644 index 0000000..83a6e5d Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnFullStall/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnFullStall/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnFullStall/view.json new file mode 100644 index 0000000..4987342 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnFullStall/view.json @@ -0,0 +1,213 @@ +{ + "custom": {}, + "params": { + "securityDeviceConfigBehavior": true, + "tagPath": "[default]Test_Tags/P_ValveSO", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "params.securityDeviceConfigBehavior": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigBehavior\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 32, + "width": 280 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_ShedOnFullStall\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 250, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "On Full Stall" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_ShedOnFullStall\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_ShedOnFullStall\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 274, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnIOFault/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnIOFault/resource.json new file mode 100644 index 0000000..4d35e26 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnIOFault/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "f727e4e30cca705e64a3c337189734472d500924cbec439db3fe5b46c0b85c25", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnIOFault/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnIOFault/thumbnail.png new file mode 100644 index 0000000..305d7a1 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnIOFault/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnIOFault/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnIOFault/view.json new file mode 100644 index 0000000..ea3197f --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnIOFault/view.json @@ -0,0 +1,213 @@ +{ + "custom": {}, + "params": { + "securityDeviceConfigBehavior": true, + "tagPath": "[default]Test_Tags/SC_01", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "params.securityDeviceConfigBehavior": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigBehavior\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 32, + "width": 280 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_ShedOnIOFault\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 250, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "On I/O Fault" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_ShedOnIOFault\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_ShedOnIOFault\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 274, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnInterlockTrip/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnInterlockTrip/resource.json new file mode 100644 index 0000000..d0d6e7a --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnInterlockTrip/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "8dbb766dedaa7bd440103b6a5a3daccd61676c731847eb8361d28f89c78e3d51", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnInterlockTrip/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnInterlockTrip/thumbnail.png new file mode 100644 index 0000000..6ebaa91 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnInterlockTrip/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnInterlockTrip/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnInterlockTrip/view.json new file mode 100644 index 0000000..b0dd016 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnInterlockTrip/view.json @@ -0,0 +1,143 @@ +{ + "custom": {}, + "params": { + "securityDeviceConfigBehavior": true, + "tagPath": "[default]Test_Tags/SC_01", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "params.securityDeviceConfigBehavior": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigBehavior\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 32, + "width": 280 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 250, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "On Interlock Trip" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 10.1, + "y": 10.1 + }, + "propConfig": { + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnTransitStall/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnTransitStall/resource.json new file mode 100644 index 0000000..ee7ee1f --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnTransitStall/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "274e862e7a6293c8b4420be672e6bbd0cef46efb0092ad2752ee41129cc2d856", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnTransitStall/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnTransitStall/thumbnail.png new file mode 100644 index 0000000..67114fe Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnTransitStall/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnTransitStall/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnTransitStall/view.json new file mode 100644 index 0000000..8c22448 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnTransitStall/view.json @@ -0,0 +1,213 @@ +{ + "custom": {}, + "params": { + "securityDeviceConfigBehavior": true, + "tagPath": "[default]Test_Tags/P_ValveSO", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "params.securityDeviceConfigBehavior": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigBehavior\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 32, + "width": 280 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_ShedOnTransitStall\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 250, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "On Transit Stall" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_ShedOnTransitStall\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_ShedOnTransitStall\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 274, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_SimFdbkT/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_SimFdbkT/resource.json new file mode 100644 index 0000000..2b4201a --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_SimFdbkT/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "cc9552b3f55274fb2d90aa704555452d1f1bd7d9143cc4c23c1c976f3339ee6b", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_SimFdbkT/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_SimFdbkT/thumbnail.png new file mode 100644 index 0000000..54f6426 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_SimFdbkT/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_SimFdbkT/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_SimFdbkT/view.json new file mode 100644 index 0000000..41bfe8d --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_SimFdbkT/view.json @@ -0,0 +1,228 @@ +{ + "custom": {}, + "params": { + "securityDeviceConfigBehavior": true, + "tagPath": "[default]Test_Tags/P_DOut", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "params.securityDeviceConfigBehavior": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigBehavior\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 32, + "width": 340 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "NumericInput" + }, + "position": { + "height": 20, + "width": 70, + "x": 259, + "y": 7 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "3" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_SimFdbkT\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": 0 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 231, + "x": 11, + "y": 8 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Feedback delay for loopback test or when\nfeedback not used (sec)" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "ErrOutline" + }, + "position": { + "height": 26, + "width": 81, + "x": 1, + "y": 0.5 + }, + "props": { + "style": { + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "2px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 72, + "y": -1.5 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "ndeErr_1" + }, + "position": { + "height": 27, + "width": 87, + "x": 251, + "y": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_Sim\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_StartHornT/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_StartHornT/resource.json new file mode 100644 index 0000000..a79ad7f --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_StartHornT/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "6a4ac8c80bdc3000b199321d0ec02992b87141e00d4c98dce8013453829ab245", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_StartHornT/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_StartHornT/thumbnail.png new file mode 100644 index 0000000..e68c574 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_StartHornT/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_StartHornT/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_StartHornT/view.json new file mode 100644 index 0000000..f43617d --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_StartHornT/view.json @@ -0,0 +1,162 @@ +{ + "custom": {}, + "params": { + "securityDeviceConfigBehavior": true, + "tagPath": "[default]Test_Tags/P_DOut", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "params.securityDeviceConfigBehavior": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigBehavior\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 32, + "width": 340 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "NumericInput" + }, + "position": { + "height": 20, + "width": 70, + "x": 259, + "y": 7 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "3" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_StartHornT\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": 0 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 231, + "x": 11, + "y": 8 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Time to sound audible on command state\nchange (sec) (0\u003ddisabled)" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_XCmdResets/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_XCmdResets/resource.json new file mode 100644 index 0000000..6656f69 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_XCmdResets/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "4d3f2fe1ab33496a6fa4d14c387499d94626e253755043c752885ed7800fd57f", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_XCmdResets/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_XCmdResets/thumbnail.png new file mode 100644 index 0000000..3869e31 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_XCmdResets/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_XCmdResets/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_XCmdResets/view.json new file mode 100644 index 0000000..a9537ea --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_XCmdResets/view.json @@ -0,0 +1,213 @@ +{ + "custom": {}, + "params": { + "securityDeviceConfigBehavior": true, + "tagPath": "[default]Test_Tags/P_DOut", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "params.securityDeviceConfigBehavior": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigBehavior\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 32, + "width": 340 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_XCmdResets\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 310, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "External command resets fault" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_XCmdResets\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_XCmdResets\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Desc_Label_Tag/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Desc_Label_Tag/resource.json new file mode 100644 index 0000000..ca5ff9a --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Desc_Label_Tag/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "0c34d929a0029925ebb033b807900c756a8a0c271c668b877864698d17f6bbd4", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Desc_Label_Tag/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Desc_Label_Tag/thumbnail.png new file mode 100644 index 0000000..088f0d0 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Desc_Label_Tag/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Desc_Label_Tag/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Desc_Label_Tag/view.json new file mode 100644 index 0000000..f35bcc1 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Desc_Label_Tag/view.json @@ -0,0 +1,245 @@ +{ + "custom": {}, + "params": { + "securityDeviceConfigHMI": true, + "tagPath": "[default]Test_Tags/P_Ain", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "params.securityDeviceConfigHMI": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigHMI\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 68, + "width": 340 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 21, + "width": 79, + "x": 11, + "y": 22.5 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Label:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 21, + "width": 79, + "x": 11, + "y": 44.5 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Tag:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "TextField" + }, + "position": { + "height": 20, + "width": 318, + "x": 11, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigHMI} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_Desc\"" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "borderStyle": "solid", + "borderWidth": "1px", + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.input.text-field" + }, + { + "meta": { + "name": "TextField_0" + }, + "position": { + "height": 20, + "width": 171.61999999999998, + "x": 156.9, + "y": 23 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigHMI} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_Label\"" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "borderStyle": "solid", + "borderWidth": "1px", + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.input.text-field" + }, + { + "meta": { + "name": "TextField_1" + }, + "position": { + "height": 20, + "width": 171.61999999999998, + "x": 156.9, + "y": 45 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigHMI} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_Tag\"" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "borderStyle": "solid", + "borderWidth": "1px", + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.input.text-field" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_PVDecimalPlaces/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_PVDecimalPlaces/resource.json new file mode 100644 index 0000000..7f86a39 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_PVDecimalPlaces/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "fdbc7afe71de0500b2992fb7514b46fe83a0ee3f5eb921ddfb2d08ceecbba8d3", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_PVDecimalPlaces/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_PVDecimalPlaces/thumbnail.png new file mode 100644 index 0000000..251211e Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_PVDecimalPlaces/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_PVDecimalPlaces/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_PVDecimalPlaces/view.json new file mode 100644 index 0000000..9403584 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_PVDecimalPlaces/view.json @@ -0,0 +1,167 @@ +{ + "custom": {}, + "params": { + "parameterName": "Cfg_PVDecPlcs", + "securityDeviceConfigHMI": true, + "tagPath": "[default]Test_Tags/P_Ain", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "params.parameterName": { + "paramDirection": "input", + "persistent": true + }, + "params.securityDeviceConfigHMI": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigHMI\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 32, + "width": 340 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "NumericInput" + }, + "position": { + "height": 20, + "width": 70, + "x": 259, + "y": 7 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigHMI} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "0" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/\" + {view.params.parameterName}" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 6, + "minimum": 0 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 231, + "x": 11, + "y": 8 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Number of Decimal Places for PV" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_ProgOperKeep/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_ProgOperKeep/resource.json new file mode 100644 index 0000000..66e5b09 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_ProgOperKeep/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "2dd4bc8cc2fe09b15704dce4cd9131f15efe91c8af18701619e1a65bc042fef6", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_ProgOperKeep/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_ProgOperKeep/thumbnail.png new file mode 100644 index 0000000..8b133b5 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_ProgOperKeep/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_ProgOperKeep/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_ProgOperKeep/view.json new file mode 100644 index 0000000..2ab3632 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_ProgOperKeep/view.json @@ -0,0 +1,713 @@ +{ + "custom": {}, + "params": { + "bitNumber": 0, + "securityDeviceConfigBehavior": true, + "tagPath": "[default]Test_Tags/P_VSD", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "params.bitNumber": { + "paramDirection": "input", + "persistent": true + }, + "params.securityDeviceConfigBehavior": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigBehavior\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 35, + "width": 195 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 0 + }, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_OperKeep\") ||\r\ntag({view.params.tagPath} + \"/Cfg_ProgKeep\") ||\r\ntag({view.params.tagPath} + \"/Cfg_ExtKeep\") \r\n// || tag({view.params.tagPath} + \"/Cfg_SimScaleEU\")\r\n//{#2.Cfg_OperKeep.#102} or {#2.Cfg_ProgKeep.#102} or {#2.Cfg_ExtKeep.#102}" + }, + "transforms": [ + { + "code": "\tret_value \u003d True\n\t\n\tbit_check \u003d 2**self.view.params.bitNumber\n\tCfg_OperKeep \u003d ((system.tag.readBlocking(self.view.params.tagPath + \"/Cfg_OperKeep\")[0].value \u0026 bit_check) \u003d\u003d bit_check)\n\tCfg_ProgKeep \u003d ((system.tag.readBlocking(self.view.params.tagPath + \"/Cfg_ProgKeep\")[0].value \u0026 bit_check) \u003d\u003d bit_check)\n\tCfg_ExtKeep \u003d ((system.tag.readBlocking(self.view.params.tagPath + \"/Cfg_ExtKeep\")[0].value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (Cfg_OperKeep or Cfg_ProgKeep or Cfg_ExtKeep):\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 9.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tparameter_name \u003d \"Cfg_OperKeep\"\n\tbit_check \u003d 2**self.view.params.bitNumber\n\tkeep_value \u003d system.tag.readBlocking([self.view.params.tagPath + \"/\" + parameter_name])[0].value\n\t\n\tif ((keep_value \u0026 bit_check) \u003d\u003d bit_check):\n\t\tsystem.tag.write(self.view.params.tagPath + \"/\" + parameter_name, keep_value - bit_check)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ButtonOperKeepOff" + }, + "position": { + "height": 28, + "width": 22, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "(tag({view.params.tagPath} + \"/Cfg_OperKeep\") \u0026 pow(2, {view.params.bitNumber})) \u003d pow(2, {view.params.bitNumber})\r\n" + }, + "type": "expr" + } + }, + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tparameter_name \u003d \"Cfg_ProgKeep\"\n\tbit_check \u003d 2**self.view.params.bitNumber\n\tkeep_value \u003d system.tag.readBlocking([self.view.params.tagPath + \"/\" + parameter_name])[0].value\n\t\n\tif ((keep_value \u0026 bit_check) \u003d\u003d bit_check):\n\t\tsystem.tag.write(self.view.params.tagPath + \"/\" + parameter_name, keep_value - bit_check)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ButtonProgKeepOff" + }, + "position": { + "height": 28, + "width": 22, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "(tag({view.params.tagPath} + \"/Cfg_ProgKeep\") \u0026 pow(2, {view.params.bitNumber})) \u003d pow(2, {view.params.bitNumber})\r\n" + }, + "type": "expr" + } + }, + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tparameter_name \u003d \"Cfg_ExtKeep\"\n\tbit_check \u003d 2**self.view.params.bitNumber\n\tkeep_value \u003d system.tag.readBlocking([self.view.params.tagPath + \"/\" + parameter_name])[0].value\n\t\n\tif ((keep_value \u0026 bit_check) \u003d\u003d bit_check):\n\t\tsystem.tag.write(self.view.params.tagPath + \"/\" + parameter_name, keep_value - bit_check)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ButtonExtKeepOff" + }, + "position": { + "height": 28, + "width": 22, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "(tag({view.params.tagPath} + \"/Cfg_ExtKeep\") \u0026 pow(2, {view.params.bitNumber})) \u003d pow(2, {view.params.bitNumber})\r\n" + }, + "type": "expr" + } + }, + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "RadioButton_FollowMode0" + }, + "position": { + "height": 35, + "width": 25, + "x": 17.5 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 0 + }, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "(tag({view.params.tagPath} + \"/Cfg_OperKeep\") \u0026 pow(2, {view.params.bitNumber})) \u003d pow(2, {view.params.bitNumber})" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 9.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tparameter_name \u003d \"Cfg_OperKeep\"\n\tbit_check \u003d 2**self.view.params.bitNumber\n\tkeep_value \u003d system.tag.readBlocking([self.view.params.tagPath + \"/\" + parameter_name])[0].value\n\t\n\tif ((keep_value \u0026 bit_check) !\u003d bit_check):\n\t\tsystem.tag.write(self.view.params.tagPath + \"/\" + parameter_name, keep_value + bit_check)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 22, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "rb_Cfg_OperKeep" + }, + "position": { + "height": 35, + "width": 25, + "x": 62.5 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 0 + }, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "(tag({view.params.tagPath} + \"/Cfg_ProgKeep\") \u0026 pow(2, {view.params.bitNumber})) \u003d pow(2, {view.params.bitNumber})" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 9.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tparameter_name \u003d \"Cfg_ProgKeep\"\n\tbit_check \u003d 2**self.view.params.bitNumber\n\tkeep_value \u003d system.tag.readBlocking([self.view.params.tagPath + \"/\" + parameter_name])[0].value\n\t\n\tif ((keep_value \u0026 bit_check) !\u003d bit_check):\n\t\tsystem.tag.write(self.view.params.tagPath + \"/\" + parameter_name, keep_value + bit_check)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 22, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "rb_Cfg_ProgKeep" + }, + "position": { + "height": 35, + "width": 25, + "x": 107.5 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 0 + }, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "(tag({view.params.tagPath} + \"/Cfg_ExtKeep\") \u0026 pow(2, {view.params.bitNumber})) \u003d pow(2, {view.params.bitNumber})" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 9.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tparameter_name \u003d \"Cfg_ExtKeep\"\n\tbit_check \u003d 2**self.view.params.bitNumber\n\tkeep_value \u003d system.tag.readBlocking([self.view.params.tagPath + \"/\" + parameter_name])[0].value\n\t\n\tif ((keep_value \u0026 bit_check) !\u003d bit_check):\n\t\tsystem.tag.write(self.view.params.tagPath + \"/\" + parameter_name, keep_value + bit_check)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 22, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "rb_Cfg_ExtKeep" + }, + "position": { + "height": 35, + "width": 25, + "x": 152.5 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_AllowLocal/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_AllowLocal/resource.json new file mode 100644 index 0000000..51eced6 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_AllowLocal/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "babe98e3934f81d18e53a3fc9e12649a20709e01e3f6fee0b85123337cfee979", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_AllowLocal/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_AllowLocal/thumbnail.png new file mode 100644 index 0000000..3b5cff6 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_AllowLocal/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_AllowLocal/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_AllowLocal/view.json new file mode 100644 index 0000000..f8c9415 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_AllowLocal/view.json @@ -0,0 +1,213 @@ +{ + "custom": {}, + "params": { + "securityDeviceConfigBehavior": true, + "tagPath": "[default]Test_Tags/P_VSD", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "params.securityDeviceConfigBehavior": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigBehavior\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 32, + "width": 340 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_AllowLocal\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 310, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Allow local \u0027Start\u0027 or \u0027Stop\u0027 without triggering fault" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_AllowLocal\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_AllowLocal\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_ExtStopPrio/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_ExtStopPrio/resource.json new file mode 100644 index 0000000..00ec90c --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_ExtStopPrio/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "ab4c2eecb9694a33f9e88067efd23c81a0a0441644e743a0a59dcd83f49612d1", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_ExtStopPrio/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_ExtStopPrio/thumbnail.png new file mode 100644 index 0000000..82482de Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_ExtStopPrio/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_ExtStopPrio/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_ExtStopPrio/view.json new file mode 100644 index 0000000..2775908 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_ExtStopPrio/view.json @@ -0,0 +1,213 @@ +{ + "custom": {}, + "params": { + "securityDeviceConfigBehavior": true, + "tagPath": "[default]Test_Tags/P_VSD", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "params.securityDeviceConfigBehavior": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigBehavior\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 32, + "width": 340 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_ExtStopPrio\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 310, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "External \u0027Stop\u0027 command always available" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_ExtStopPrio\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_ExtStopPrio\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_HasJog/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_HasJog/resource.json new file mode 100644 index 0000000..6864fd9 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_HasJog/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "aed76d79340de357e98735afc7be77e88f082999f1b9e14586ddbb4aef3082c3", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_HasJog/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_HasJog/thumbnail.png new file mode 100644 index 0000000..f61c60d Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_HasJog/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_HasJog/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_HasJog/view.json new file mode 100644 index 0000000..2b05207 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_HasJog/view.json @@ -0,0 +1,213 @@ +{ + "custom": {}, + "params": { + "securityDeviceConfigBehavior": true, + "tagPath": "[default]Test_Tags/P_VSD", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "params.securityDeviceConfigBehavior": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigBehavior\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 32, + "width": 340 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasJog\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 310, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Motor can be jogged" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_HasJog\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_HasJog\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_HasReverse/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_HasReverse/resource.json new file mode 100644 index 0000000..5a615db --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_HasReverse/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "7994b4263c8a50c279c055fbc67c873a9c044af71ffdf66cb7e73eeb9f8f8bb1", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_HasReverse/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_HasReverse/thumbnail.png new file mode 100644 index 0000000..59bbc97 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_HasReverse/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_HasReverse/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_HasReverse/view.json new file mode 100644 index 0000000..624e23e --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_HasReverse/view.json @@ -0,0 +1,213 @@ +{ + "custom": {}, + "params": { + "securityDeviceConfigBehavior": true, + "tagPath": "[default]Test_Tags/P_VSD", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "params.securityDeviceConfigBehavior": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigBehavior\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 32, + "width": 340 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasReverse\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 310, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Drive can run reverse" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_HasReverse\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_HasReverse\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_HasRunFdbk/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_HasRunFdbk/resource.json new file mode 100644 index 0000000..8ccfb5c --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_HasRunFdbk/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "13593b0ebb239a1776b84eaa09ac27f516949a10277aa867d105b6dc52c1c263", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_HasRunFdbk/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_HasRunFdbk/thumbnail.png new file mode 100644 index 0000000..06a3885 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_HasRunFdbk/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_HasRunFdbk/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_HasRunFdbk/view.json new file mode 100644 index 0000000..f92559a --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_HasRunFdbk/view.json @@ -0,0 +1,213 @@ +{ + "custom": {}, + "params": { + "securityDeviceConfigBehavior": true, + "tagPath": "[default]Test_Tags/P_VSD", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "params.securityDeviceConfigBehavior": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigBehavior\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 32, + "width": 340 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasRunFdbk\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 310, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Motor has Run Feedback" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_HasJog\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_HasRunFdbk\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_MaxJogT/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_MaxJogT/resource.json new file mode 100644 index 0000000..a340e3a --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_MaxJogT/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "92e40269c55939d0458235e209626e0357335cee7afbf0af61be6ba06569a451", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_MaxJogT/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_MaxJogT/thumbnail.png new file mode 100644 index 0000000..4060a1c Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_MaxJogT/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_MaxJogT/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_MaxJogT/view.json new file mode 100644 index 0000000..2f13685 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_MaxJogT/view.json @@ -0,0 +1,162 @@ +{ + "custom": {}, + "params": { + "securityDeviceConfigBehavior": true, + "tagPath": "[default]Test_Tags/P_VSD", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "params.securityDeviceConfigBehavior": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigBehavior\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 32, + "width": 340 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "NumericInput" + }, + "position": { + "height": 20, + "width": 70, + "x": 259, + "y": 7 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "3" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_MaxJogT\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": 0 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 230, + "x": 11, + "y": 8 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Maximum jog time (sec)\n0 \u003d unlimited" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_OperStopPrio/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_OperStopPrio/resource.json new file mode 100644 index 0000000..7f6eeb4 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_OperStopPrio/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "4c9564568f4208459cb25a6092078a33ae17979fb087b54cdfd64bcc97e84a7e", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_OperStopPrio/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_OperStopPrio/thumbnail.png new file mode 100644 index 0000000..15f954b Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_OperStopPrio/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_OperStopPrio/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_OperStopPrio/view.json new file mode 100644 index 0000000..19a7e2c --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_OperStopPrio/view.json @@ -0,0 +1,213 @@ +{ + "custom": {}, + "params": { + "securityDeviceConfigBehavior": true, + "tagPath": "[default]Test_Tags/P_VSD", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "params.securityDeviceConfigBehavior": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigBehavior\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 32, + "width": 340 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_OperStopPrio\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 310, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Operator \u0027Stop\u0027 command always available" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_OperStopPrio\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_OperStopPrio\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_ResetPulseT/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_ResetPulseT/resource.json new file mode 100644 index 0000000..6342c7a --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_ResetPulseT/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "e8342d180432e0bf05887d4b4016c8990ee654926d26a326bf6accd726b22797", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_ResetPulseT/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_ResetPulseT/thumbnail.png new file mode 100644 index 0000000..07057f0 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_ResetPulseT/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_ResetPulseT/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_ResetPulseT/view.json new file mode 100644 index 0000000..eb0e546 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_ResetPulseT/view.json @@ -0,0 +1,162 @@ +{ + "custom": {}, + "params": { + "securityDeviceConfigBehavior": true, + "tagPath": "[default]Test_Tags/P_VSD", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "params.securityDeviceConfigBehavior": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigBehavior\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 32, + "width": 340 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "NumericInput" + }, + "position": { + "height": 20, + "width": 70, + "x": 259, + "y": 7 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "3" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_ResetPulseT\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": 0 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 230, + "x": 11, + "y": 8 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Time to pulse Out_Reset to clear fault (sec)" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_SimRampT/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_SimRampT/resource.json new file mode 100644 index 0000000..9310ee0 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_SimRampT/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "79d108b46d546dcffaba964af6e7e497bc6f113687ba1698c82cd05b2d201cbb", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_SimRampT/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_SimRampT/thumbnail.png new file mode 100644 index 0000000..499e13f Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_SimRampT/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_SimRampT/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_SimRampT/view.json new file mode 100644 index 0000000..3a88b7f --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_SimRampT/view.json @@ -0,0 +1,228 @@ +{ + "custom": {}, + "params": { + "securityDeviceConfigTimers": true, + "tagPath": "[default]Test_Tags/P_VSD", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "params.securityDeviceConfigTimers": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigTimers\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 32, + "width": 340 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "NumericInput" + }, + "position": { + "height": 20, + "width": 70, + "x": 259, + "y": 7 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigTimers} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "3" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_SimRampT\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": 0 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 231, + "x": 11, + "y": 8 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Time to ramp speed feedback in Loopback\nTest (sec)" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "ErrOutline" + }, + "position": { + "height": 26, + "width": 81, + "x": 1, + "y": 0.5 + }, + "props": { + "style": { + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "2px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 72, + "y": -1.5 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "ndeErr_1" + }, + "position": { + "height": 27, + "width": 87, + "x": 251, + "y": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_Sim\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_StartHornT/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_StartHornT/resource.json new file mode 100644 index 0000000..c2209a4 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_StartHornT/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "1a350e9dad3ec1dfe2c57a36b53773ca387b102ece0a6cc467cdf521b7d50ec9", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_StartHornT/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_StartHornT/thumbnail.png new file mode 100644 index 0000000..e68c574 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_StartHornT/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_StartHornT/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_StartHornT/view.json new file mode 100644 index 0000000..7cb04b8 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_StartHornT/view.json @@ -0,0 +1,162 @@ +{ + "custom": {}, + "params": { + "securityDeviceConfigBehavior": true, + "tagPath": "[default]Test_Tags/P_DOut", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "params.securityDeviceConfigBehavior": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigBehavior\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 32, + "width": 340 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "NumericInput" + }, + "position": { + "height": 20, + "width": 70, + "x": 259, + "y": 7 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "3" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_StartHornT\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": 0 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 231, + "x": 11, + "y": 8 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Time to sound audible on command start\n(sec) (0\u003ddisabled)" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_PVDecimalPlaces/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_PVDecimalPlaces/resource.json new file mode 100644 index 0000000..50de966 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_PVDecimalPlaces/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "f6f09866a645e5ded99465b47b629eebc585bfb38874668738f90427dbdc32f7", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_PVDecimalPlaces/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_PVDecimalPlaces/thumbnail.png new file mode 100644 index 0000000..499e13f Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_PVDecimalPlaces/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_PVDecimalPlaces/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_PVDecimalPlaces/view.json new file mode 100644 index 0000000..9cb2fe0 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_PVDecimalPlaces/view.json @@ -0,0 +1,167 @@ +{ + "custom": {}, + "params": { + "parameterName": "Cfg_DecPlcs", + "securityDeviceConfigHMI": true, + "tagPath": "[default]Test_Tags/P_VSD", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "params.parameterName": { + "paramDirection": "input", + "persistent": true + }, + "params.securityDeviceConfigHMI": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigHMI\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 32, + "width": 340 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "NumericInput" + }, + "position": { + "height": 20, + "width": 36, + "x": 293, + "y": 7 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigHMI} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "0" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/\" + {view.params.parameterName}" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 6, + "minimum": 0 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 277, + "x": 11, + "y": 8 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Number of Decimal Places for Actual Speed" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_StartStopFailTimers/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_StartStopFailTimers/resource.json new file mode 100644 index 0000000..88292f0 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_StartStopFailTimers/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "922dcfcb3aef7a8cfb53b11641c6779eed8d5fab836c2405c0e574645ec38697", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_StartStopFailTimers/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_StartStopFailTimers/thumbnail.png new file mode 100644 index 0000000..8c75234 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_StartStopFailTimers/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_StartStopFailTimers/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_StartStopFailTimers/view.json new file mode 100644 index 0000000..0f8a59f --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_StartStopFailTimers/view.json @@ -0,0 +1,242 @@ +{ + "custom": {}, + "params": { + "securityDeviceConfigFailTimers": true, + "tagPath": "[default]Test_Tags/P_VSD", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "params.securityDeviceConfigFailTimers": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigFailTimers\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 74, + "width": 340 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 230, + "x": 11, + "y": 8 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Time after \u0027Start\u0027 for feedback before fault (sec)" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericInput" + }, + "position": { + "height": 20, + "width": 70, + "x": 259, + "y": 7 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigFailTimers} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "3" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_FailToStartT\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": 0 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 16, + "width": 230, + "x": 11, + "y": 44 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Time after \u0027Stop\u0027 for feedback before fault (sec)" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericInput_0" + }, + "position": { + "height": 20, + "width": 70, + "x": 259, + "y": 43 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigFailTimers} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "3" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_FailToStopT\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": 0 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Valve Objects/GO_Cfg_StartHornT/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Valve Objects/GO_Cfg_StartHornT/resource.json new file mode 100644 index 0000000..7bdc24d --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Valve Objects/GO_Cfg_StartHornT/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "1e3326ff7fb477278803cf062a94951001f9dc696bce4a0a5e0dfbd97a44267b", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Valve Objects/GO_Cfg_StartHornT/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Valve Objects/GO_Cfg_StartHornT/thumbnail.png new file mode 100644 index 0000000..7fd12e0 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Valve Objects/GO_Cfg_StartHornT/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Valve Objects/GO_Cfg_StartHornT/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Valve Objects/GO_Cfg_StartHornT/view.json new file mode 100644 index 0000000..5133460 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Valve Objects/GO_Cfg_StartHornT/view.json @@ -0,0 +1,162 @@ +{ + "custom": {}, + "params": { + "securityDeviceConfigBehavior": true, + "tagPath": "[default]Test_Tags/P_DOut", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "params.securityDeviceConfigBehavior": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigBehavior\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 32, + "width": 340 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "NumericInput" + }, + "position": { + "height": 20, + "width": 70, + "x": 259, + "y": 7 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "3" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_StartHornT\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": 0 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 246, + "x": 11, + "y": 8 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Time to sound audible on commanded\nenergize (sec) (0\u003ddisabled)" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Valve Objects/GO_HasLimitSwitch/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Valve Objects/GO_HasLimitSwitch/resource.json new file mode 100644 index 0000000..e4d744d --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Valve Objects/GO_HasLimitSwitch/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "4058084d72cb5561acd0db58940e6c74a9ef3ee6893622a245595da96c7bacfa", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Valve Objects/GO_HasLimitSwitch/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Valve Objects/GO_HasLimitSwitch/thumbnail.png new file mode 100644 index 0000000..00e8538 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Valve Objects/GO_HasLimitSwitch/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Valve Objects/GO_HasLimitSwitch/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Valve Objects/GO_HasLimitSwitch/view.json new file mode 100644 index 0000000..630db04 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Valve Objects/GO_HasLimitSwitch/view.json @@ -0,0 +1,711 @@ +{ + "custom": {}, + "params": { + "securityDeviceConfigBehavior": true, + "tagPath": "[default]Test_Tags/P_ValveSO", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "params.securityDeviceConfigBehavior": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigBehavior\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 127, + "width": 340 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasClosedLS\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 310, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Valve has Closed Limit Switch" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_HasClosedLS\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_HasClosedLS\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "cb_Cfg_HasClosedLS" + }, + "position": { + "height": 32, + "width": 340 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasOpenLS\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 310, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Valve has Open Limit Switch" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_HasOpenLS\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_HasOpenLS\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "cb_Cfg_HasOpenLS" + }, + "position": { + "height": 32, + "width": 340, + "y": 32 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label0" + }, + "position": { + "height": 16, + "width": 249, + "x": 6.5, + "y": 67 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Fault when both feedback inputs are" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_LSFail\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 3, + "y": 9.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 126, + "x": 25, + "y": 1.5 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "ON" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_LSFail\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 155, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Cfg_LSFail_On" + }, + "position": { + "height": 35, + "width": 161, + "y": 3 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 0 + }, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_LSFail\"), false, true)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 9.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 126, + "x": 25, + "y": 1.5 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "OFF" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_LSFail\", False)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 155, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Cfg_LSFail_Off" + }, + "position": { + "height": 35, + "width": 161, + "x": 168.50743865966797, + "y": 3.010406494140625 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Cfg_FdbkFail" + }, + "position": { + "height": 42, + "width": 340, + "x": 2, + "y": 83 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Valve Objects/GO_ValveTimers/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Valve Objects/GO_ValveTimers/resource.json new file mode 100644 index 0000000..e7ff0b8 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Valve Objects/GO_ValveTimers/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "336bc3bc7813b4c8166b77bde23e97c0fb5dfbba07ca24d5abae201d7a592ef7", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Valve Objects/GO_ValveTimers/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Valve Objects/GO_ValveTimers/thumbnail.png new file mode 100644 index 0000000..2fc9b79 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Valve Objects/GO_ValveTimers/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Valve Objects/GO_ValveTimers/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Valve Objects/GO_ValveTimers/view.json new file mode 100644 index 0000000..1771f0e --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Faceplate Valve Objects/GO_ValveTimers/view.json @@ -0,0 +1,242 @@ +{ + "custom": {}, + "params": { + "securityDeviceConfigFailTimers": true, + "tagPath": "[default]Test_Tags/P_ValveSO", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "params.securityDeviceConfigFailTimers": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigFailTimers\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 84, + "width": 340 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 241, + "x": 11, + "y": 8 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Time after command with no motion before\nFull Stall fault (sec)" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericInput" + }, + "position": { + "height": 20, + "width": 70, + "x": 259, + "y": 7 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigFailTimers} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "3" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_FullStallT\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": 0 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 16, + "width": 245, + "x": 11, + "y": 51 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Time after command to reach position before\nTransit Stall fault (sec)" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericInput_0" + }, + "position": { + "height": 20, + "width": 70, + "x": 259, + "y": 50 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigFailTimers} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "3" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_TransitStallT\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": 0 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Interlock Objects/GO_InterlockCfg/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Interlock Objects/GO_InterlockCfg/resource.json new file mode 100644 index 0000000..0d3ff28 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Interlock Objects/GO_InterlockCfg/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json" + ], + "attributes": { + "lastModificationSignature": "8a0daef410d8f76506d4e7c5c77447daa8496b5c002d9f9625e9f8a886752689", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Interlock Objects/GO_InterlockCfg/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Interlock Objects/GO_InterlockCfg/view.json new file mode 100644 index 0000000..985b5e1 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Interlock Objects/GO_InterlockCfg/view.json @@ -0,0 +1,502 @@ +{ + "custom": {}, + "params": { + "interlockNumber": 0, + "securityDeviceConfigBehavior": true, + "tagPath": "[default]Test_Tags/P_Motor_Intlk", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "params.interlockNumber": { + "paramDirection": "input", + "persistent": true + }, + "params.securityDeviceConfigBehavior": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigBehavior\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 20, + "width": 322 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "TextField_0" + }, + "position": { + "height": 20, + "width": 170, + "x": 0.9000000000000004 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_CondTxt/\" + {view.params.interlockNumber}" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "borderStyle": "solid", + "borderWidth": "1px", + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.input.text-field" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "(tag({view.params.tagPath} + \"/Cfg_Bypassable\") \u0026 pow(2, {view.params.interlockNumber})) \u003d pow(2, {view.params.interlockNumber})" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 2, + "y": 2 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tbit_check \u003d 2**self.view.params.interlockNumber\n\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_Bypassable\"])[0].value\n\t\n\tif ((value \u0026 bit_check) \u003d\u003d bit_check):\n\t\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_Bypassable\", value - bit_check)\n\telif ((value \u0026 bit_check) !\u003d bit_check):\n\t\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_Bypassable\", value + bit_check)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 18, + "width": 18, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "CanBypass" + }, + "position": { + "height": 20, + "width": 20, + "x": 249 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 16, + "x": -1, + "y": -1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_OKState\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tbit_check \u003d 2**self.view.params.interlockNumber\n\t\n\tif ((value \u0026 bit_check) \u003d\u003d bit_check):\n\t\tret_value \u003d \"1\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "8pt", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 2, + "y": 2 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tbit_check \u003d 2**self.view.params.interlockNumber\n\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_OKState\"])[0].value\n\t\n\tif ((value \u0026 bit_check) \u003d\u003d bit_check):\n\t\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_OKState\", value - bit_check)\n\telif ((value \u0026 bit_check) !\u003d bit_check):\n\t\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_OKState\", value + bit_check)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 18, + "width": 18, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "OkState" + }, + "position": { + "height": 20, + "width": 20, + "x": 201 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "(tag({view.params.tagPath} + \"/Cfg_Latched\") \u0026 pow(2, {view.params.interlockNumber})) \u003d pow(2, {view.params.interlockNumber})" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 2, + "y": 2 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tbit_check \u003d 2**self.view.params.interlockNumber\n\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_Latched\"])[0].value\n\t\n\tif ((value \u0026 bit_check) \u003d\u003d bit_check):\n\t\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_Latched\", value - bit_check)\n\telif ((value \u0026 bit_check) !\u003d bit_check):\n\t\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_Latched\", value + bit_check)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 18, + "width": 18, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Latched" + }, + "position": { + "height": 20, + "width": 20, + "x": 297 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Interlock Objects/GO_PermissiveCfg/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Interlock Objects/GO_PermissiveCfg/resource.json new file mode 100644 index 0000000..4d43283 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Interlock Objects/GO_PermissiveCfg/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json" + ], + "attributes": { + "lastModificationSignature": "643642166dece3982226d90e7400c26226539c498bed4909562862f02a723214", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Interlock Objects/GO_PermissiveCfg/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Interlock Objects/GO_PermissiveCfg/view.json new file mode 100644 index 0000000..91e4d8a --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/Global Objects/Process Interlock Objects/GO_PermissiveCfg/view.json @@ -0,0 +1,372 @@ +{ + "custom": {}, + "params": { + "permissiveNumber": 0, + "securityDeviceConfigBehavior": true, + "tagPath": "[default]Test_Tags/P_Motor_Perm", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "params.permissiveNumber": { + "paramDirection": "input", + "persistent": true + }, + "params.securityDeviceConfigBehavior": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigBehavior\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 20, + "width": 269 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "TextField_0" + }, + "position": { + "height": 20, + "width": 170, + "x": 0.9000000000000004 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_CondTxt/\" + {view.params.permissiveNumber}" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "borderStyle": "solid", + "borderWidth": "1px", + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.input.text-field" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "(tag({view.params.tagPath} + \"/Cfg_Bypassable\") \u0026 pow(2, {view.params.permissiveNumber})) \u003d pow(2, {view.params.permissiveNumber})" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 2, + "y": 2 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tbit_check \u003d 2**self.view.params.permissiveNumber\n\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_Bypassable\"])[0].value\n\t\n\tif ((value \u0026 bit_check) \u003d\u003d bit_check):\n\t\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_Bypassable\", value - bit_check)\n\telif ((value \u0026 bit_check) !\u003d bit_check):\n\t\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_Bypassable\", value + bit_check)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 18, + "width": 18, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "CanBypass" + }, + "position": { + "height": 20, + "width": 20, + "x": 248 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 16, + "x": -1, + "y": -1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_OKState\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tbit_check \u003d 2**self.view.params.permissiveNumber\n\t\n\tif ((value \u0026 bit_check) \u003d\u003d bit_check):\n\t\tret_value \u003d \"1\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "8pt", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 2, + "y": 2 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px", + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tbit_check \u003d 2**self.view.params.permissiveNumber\n\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_OKState\"])[0].value\n\t\n\tif ((value \u0026 bit_check) \u003d\u003d bit_check):\n\t\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_OKState\", value - bit_check)\n\telif ((value \u0026 bit_check) !\u003d bit_check):\n\t\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_OKState\", value + bit_check)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 18, + "width": 18, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "OkState" + }, + "position": { + "height": 20, + "width": 20, + "x": 201 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_AIn/P_AIn/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_AIn/P_AIn/resource.json new file mode 100644 index 0000000..cf77ad4 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_AIn/P_AIn/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "f7fd178786733555f3eabf5b107bf5add6cb510c334408f7c5dadd16a098d652", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_AIn/P_AIn/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_AIn/P_AIn/thumbnail.png new file mode 100644 index 0000000..dbf4860 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_AIn/P_AIn/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_AIn/P_AIn/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_AIn/P_AIn/view.json new file mode 100644 index 0000000..f21e24f --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_AIn/P_AIn/view.json @@ -0,0 +1,7142 @@ +{ + "custom": { + "cmdSrcTitle": "PT_11 - PT_11", + "popupVersion": " 1.0 " + }, + "params": { + "securityBypassFeedback": true, + "securityBypassInterlocks": true, + "securityDeviceConfigLimits": true, + "securityDeviceConfigThresholds": true, + "securityEnableSimulation": true, + "securityEnterOperSettings": true, + "securityOperateEquipment": true, + "securityOverrideInputs": true, + "selectedTab": 3, + "tagPath": "[DH1]Block 1/Process/Sensor/PT_11", + "userHasBasic": true + }, + "propConfig": { + "custom.cmdSrcTitle": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_Tag\") + \" - \" + tag({view.params.tagPath}+\"/Cfg_Label\")" + }, + "type": "expr" + }, + "persistent": true + }, + "custom.popupVersion": { + "persistent": true + }, + "params.securityBypassFeedback": { + "binding": { + "config": { + "expression": "\"securityBypassFeedback\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityBypassInterlocks": { + "binding": { + "config": { + "expression": "\"securityBypassInterlocks\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityDeviceConfigLimits": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigLimits\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityDeviceConfigThresholds": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigThresholds\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityEnableSimulation": { + "binding": { + "config": { + "expression": "\"securityEnableSimulation\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityEnterOperSettings": { + "binding": { + "config": { + "expression": "\"securityEnterOperSettings\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityOperateEquipment": { + "binding": { + "config": { + "expression": "\"securityOperateEquipment\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityOverrideInputs": { + "binding": { + "config": { + "expression": "\"securityOverrideInputs\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.selectedTab": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 300, + "width": 392 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Tab1" + }, + "position": { + "height": 37, + "width": 39 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab2" + }, + "position": { + "height": 37, + "width": 39, + "y": 40 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab3" + }, + "position": { + "height": 37, + "width": 39, + "y": 80 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab4" + }, + "position": { + "height": 37, + "width": 39, + "y": 120 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "InactiveTabs" + }, + "position": { + "height": 157, + "width": 40, + "x": 4, + "y": 4 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 300, + "width": 353, + "x": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 300, + "width": 392 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "StatusText_Ready" + }, + "position": { + "height": 16, + "width": 42, + "x": 6, + "y": 2 + }, + "props": { + "text": "Ready", + "textStyle": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d image_path.format(states[SrcQ_IO][0])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 330, + "x": 20 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][1]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.textStyle.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][3]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][2]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "CommStatus" + }, + "position": { + "height": 20, + "width": 350 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\t\n\tSrcQ_IO \u003d value\n\t\n\tif (SrcQ_IO \u003e\u003d 8):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][3]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "AlarmSeverityIndicator" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "AlarmText" + }, + "position": { + "height": 16, + "width": 367, + "x": 22, + "y": 2 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Cfg_Cond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "alarmParameterName": "Lo" + }, + "meta": { + "name": "AlarmNotify_Lo" + }, + "position": { + "height": 20, + "width": 402 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {this.custom.alarmParameterName} + \"/Val_Notify\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tVal_Notify \u003d value\n\tVal_UnackAlmC \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_UnackAlmC\"])[0].value\n\t\n\tif (Val_Notify \u003e 0) and ((Val_UnackAlmC \u003d\u003d 0) or ((Val_Notify \u0026 1) \u003d\u003d 1)):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "AlarmSeverityIndicator" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "AlarmText" + }, + "position": { + "height": 16, + "width": 367, + "x": 22, + "y": 2 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Cfg_Cond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "alarmParameterName": "Hi" + }, + "meta": { + "name": "AlarmNotify_Hi" + }, + "position": { + "height": 20, + "width": 402 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {this.custom.alarmParameterName} + \"/Val_Notify\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tVal_Notify \u003d value\n\tVal_UnackAlmC \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_UnackAlmC\"])[0].value\n\t\n\tif (Val_Notify \u003e 0) and ((Val_UnackAlmC \u003d\u003d 0) or ((Val_Notify \u0026 1) \u003d\u003d 1)):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "AlarmSeverityIndicator" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "AlarmText" + }, + "position": { + "height": 16, + "width": 367, + "x": 22, + "y": 2 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Cfg_Cond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "alarmParameterName": "LoLo" + }, + "meta": { + "name": "AlarmNotify_LoLo" + }, + "position": { + "height": 20, + "width": 402 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {this.custom.alarmParameterName} + \"/Val_Notify\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tVal_Notify \u003d value\n\tVal_UnackAlmC \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_UnackAlmC\"])[0].value\n\t\n\tif (Val_Notify \u003e 0) and ((Val_UnackAlmC \u003d\u003d 0) or ((Val_Notify \u0026 1) \u003d\u003d 1)):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "AlarmSeverityIndicator" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "AlarmText" + }, + "position": { + "height": 16, + "width": 367, + "x": 22, + "y": 2 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Cfg_Cond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "alarmParameterName": "HiHi" + }, + "meta": { + "name": "AlarmNotify_HiHi" + }, + "position": { + "height": 20, + "width": 402 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {this.custom.alarmParameterName} + \"/Val_Notify\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tVal_Notify \u003d value\n\tVal_UnackAlmC \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_UnackAlmC\"])[0].value\n\t\n\tif (Val_Notify \u003e 0) and ((Val_UnackAlmC \u003d\u003d 0) or ((Val_Notify \u0026 1) \u003d\u003d 1)):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "AlarmSeverityIndicator" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "AlarmText" + }, + "position": { + "height": 16, + "width": 367, + "x": 22, + "y": 2 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Cfg_Cond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "alarmParameterName": "Fail" + }, + "meta": { + "name": "AlarmNotify_Fail" + }, + "position": { + "height": 20, + "width": 402 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {this.custom.alarmParameterName} + \"/Val_Notify\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tVal_Notify \u003d value\n\tVal_UnackAlmC \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_UnackAlmC\"])[0].value\n\t\n\tif (Val_Notify \u003e 0) and ((Val_UnackAlmC \u003d\u003d 0) or ((Val_Notify \u0026 1) \u003d\u003d 1)):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "AlarmNotices" + }, + "position": { + "height": 20, + "width": 402 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "AbnormalSeparatorLine" + }, + "position": { + "height": 2, + "width": 352, + "y": 20 + }, + "props": { + "style": { + "borderColor": "#6A6A6A", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ResetAckAll" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_AlmAckAllReset_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "DisabledAckResetButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 302, + "y": 5 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ResetAckAll" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_AlmAckAllReset.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_ResetAckAll\", 1)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveAckResetButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 302, + "y": 5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/ORdy_ResetAckAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tORdy_ResetAckAll \u003d value\n\tVal_UnackAlmC \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_UnackAlmC\"])[0].value\n\t\n\tif (self.view.params.userHasBasic) and (ORdy_ResetAckAll):\n\t\tret_value \u003d True \n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Content1" + }, + "position": { + "height": 45, + "width": 403, + "x": 44 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "custom": { + "tagExpression": [ + { + "aggregate": "Average", + "alias": "Val" + } + ] + }, + "meta": { + "name": "Sparkline" + }, + "position": { + "height": 177, + "width": 162, + "x": 10, + "y": 7 + }, + "propConfig": { + "custom.tagExpression[0].path": { + "binding": { + "config": { + "expression": "{view.params.tagPath} + \"/Val\"" + }, + "type": "expr" + } + }, + "props.points": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "1", + "mostRecentUnits": "MIN" + }, + "enableValueCache": true, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "1" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "100", + "type": "FIXED" + }, + "tags": "{this.custom.tagExpression}", + "valueFormat": "DATASET" + }, + "transforms": [ + { + "code": "\tret_value \u003d value.getColumnAsList(1)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "tag-history" + } + }, + "props.range.high": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_PVEUMax\")" + }, + "type": "expr" + } + }, + "props.range.low": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_PVEUMin\")" + }, + "type": "expr" + } + } + }, + "props": { + "color": "#475CA7", + "marker": { + "first": { + "size": 0 + }, + "high": { + "size": 0 + }, + "last": { + "size": 0 + }, + "low": { + "size": 0 + } + }, + "range": {}, + "width": 1 + }, + "type": "ia.display.sparkline" + }, + { + "children": [ + { + "meta": { + "name": "Disabled" + }, + "position": { + "height": 17, + "width": 16, + "x": 12, + "y": 88 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/SrcQ\") \u003d 19, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "contain" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "children": [ + { + "meta": { + "name": "CommBad" + }, + "position": { + "height": 17, + "width": 17, + "x": 68, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tindex \u003d 0 \n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"\",\n\t1: \"Sts_Simulated\",\n\t2: \"Sts_CommUncertain\",\n\t3: \"Sts_CommBad\",\n\t}\n\t\n\tSrcQ3 \u003d ((value \u0026 (2**3)) \u003d\u003d (2**3))\n\tSrcQ4 \u003d ((value \u0026 (2**4)) \u003d\u003d (2**4))\n\tSrcQ5 \u003d ((value \u0026 (2**5)) \u003d\u003d (2**5))\n\t\n\tif (SrcQ5):\n\t\tindex \u003d 3 \n\telif (SrcQ4):\n\t\tindex \u003d 2\n\telif (SrcQ3):\n\t\tindex \u003d 1\n\t\n\tif (index \u003e 0):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0 \n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"\",\n\t1: \"Sts_Simulated\",\n\t2: \"Sts_CommUncertain\",\n\t3: \"Sts_CommBad\",\n\t}\n\t\n\tSrcQ3 \u003d ((value \u0026 (2**3)) \u003d\u003d (2**3))\n\tSrcQ4 \u003d ((value \u0026 (2**4)) \u003d\u003d (2**4))\n\tSrcQ5 \u003d ((value \u0026 (2**5)) \u003d\u003d (2**5))\n\t\n\tif (SrcQ5):\n\t\tindex \u003d 3 \n\telif (SrcQ4):\n\t\tindex \u003d 2\n\telif (SrcQ3):\n\t\tindex \u003d 1\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "children": [ + { + "meta": { + "name": "NumericDisplay", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 18, + "width": 78, + "x": 5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Val\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tCfg_PVDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_PVDecPlcs\"] )[0].value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/Val\"), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#2A4191", + "fontWeight": "bold", + "textAlign": "center" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "11pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "godsData_EU", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 14, + "width": 56, + "x": 16, + "y": 15 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Cfg_EU\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#919191", + "fontSize": "8pt", + "fontWeight": "normal", + "outlineStyle": "none", + "paddingLeft": 5, + "textAlign": "center" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "8pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "pnddVal" + }, + "position": { + "height": 31, + "width": 88 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GOProcessValue" + }, + "position": { + "height": 31, + "width": 88, + "x": 25, + "y": 66 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ActualSpeedIndicator" + }, + "position": { + "height": 16, + "rotate": { + "angle": 0 + }, + "width": 16 + }, + "propConfig": { + "position.y": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val\") ||\r\ntag({view.params.tagPath} + \"/Val_PVEUMin\") ||\r\ntag({view.params.tagPath} + \"/Val_PVEUMax\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d 0\n\t\n\tVal \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val\"])[0].value\n\tVal_PVEUMin \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_PVEUMin\"])[0].value\n\tVal_PVEUMax \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_PVEUMax\"])[0].value\n\t\n\tDisplayMin \u003d 0\n\tDisplayMax \u003d self.getSibling(\"PVBar\").position.height - 2\n\t\n\tvalue_reference \u003d 1\n\t\n\tif (Val_PVEUMax \u003e Val_PVEUMin):\n\t\tvalue_reference \u003d ((Val) - (Val_PVEUMin))/((Val_PVEUMax) - (Val_PVEUMin))\n\t\n\tret_value \u003d DisplayMax - (value_reference * abs(DisplayMax - DisplayMin))\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "color": "#2A4191", + "path": "material/play_arrow" + }, + "type": "ia.display.icon" + }, + { + "children": [ + { + "meta": { + "name": "CoordinateContainer" + }, + "position": { + "height": 176, + "width": 8, + "x": 1, + "y": 2 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "PVBar" + }, + "position": { + "height": 180, + "width": 12, + "x": 14, + "y": 7 + }, + "props": { + "style": { + "borderColor": "#A0A0A4", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "MajorTick0" + }, + "position": { + "height": 1, + "width": 5 + }, + "props": { + "style": { + "borderTopColor": "#A0A0A4", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "MajorTick1" + }, + "position": { + "height": 1, + "width": 5, + "y": "25%" + }, + "props": { + "style": { + "borderTopColor": "#A0A0A4", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "MajorTick2" + }, + "position": { + "height": 1, + "width": 5, + "y": "50%" + }, + "props": { + "style": { + "borderTopColor": "#A0A0A4", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "MajorTick3" + }, + "position": { + "height": 1, + "width": 5, + "y": "75%" + }, + "props": { + "style": { + "borderTopColor": "#A0A0A4", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "MajorTick4" + }, + "position": { + "height": 1, + "width": 5, + "y": 179 + }, + "props": { + "style": { + "borderTopColor": "#A0A0A4", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "MinorTick0" + }, + "position": { + "height": 1, + "width": 2, + "y": "5%" + }, + "props": { + "style": { + "borderTopColor": "#A0A0A4", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "MinorTick1" + }, + "position": { + "height": 1, + "width": 2, + "y": "10%" + }, + "props": { + "style": { + "borderTopColor": "#A0A0A4", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "MinorTick2" + }, + "position": { + "height": 1, + "width": 2, + "y": "15%" + }, + "props": { + "style": { + "borderTopColor": "#A0A0A4", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "MinorTick3" + }, + "position": { + "height": 1, + "width": 2, + "y": "20%" + }, + "props": { + "style": { + "borderTopColor": "#A0A0A4", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "MinorTick4" + }, + "position": { + "height": 1, + "width": 2, + "y": "30%" + }, + "props": { + "style": { + "borderTopColor": "#A0A0A4", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "MinorTick5" + }, + "position": { + "height": 1, + "width": 2, + "y": "35%" + }, + "props": { + "style": { + "borderTopColor": "#A0A0A4", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "MinorTick6" + }, + "position": { + "height": 1, + "width": 2, + "y": "40%" + }, + "props": { + "style": { + "borderTopColor": "#A0A0A4", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "MinorTick7" + }, + "position": { + "height": 1, + "width": 2, + "y": "45%" + }, + "props": { + "style": { + "borderTopColor": "#A0A0A4", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "MinorTick8" + }, + "position": { + "height": 1, + "width": 2, + "y": "55%" + }, + "props": { + "style": { + "borderTopColor": "#A0A0A4", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "MinorTick9" + }, + "position": { + "height": 1, + "width": 2, + "y": "60%" + }, + "props": { + "style": { + "borderTopColor": "#A0A0A4", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "MinorTick10" + }, + "position": { + "height": 1, + "width": 2, + "y": "65%" + }, + "props": { + "style": { + "borderTopColor": "#A0A0A4", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "MinorTick11" + }, + "position": { + "height": 1, + "width": 2, + "y": "70%" + }, + "props": { + "style": { + "borderTopColor": "#A0A0A4", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "MinorTick12" + }, + "position": { + "height": 1, + "width": 2, + "y": "80%" + }, + "props": { + "style": { + "borderTopColor": "#A0A0A4", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "MinorTick13" + }, + "position": { + "height": 1, + "width": 2, + "y": "85%" + }, + "props": { + "style": { + "borderTopColor": "#A0A0A4", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "MinorTick14" + }, + "position": { + "height": 1, + "width": 2, + "y": "90%" + }, + "props": { + "style": { + "borderTopColor": "#A0A0A4", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "MinorTick15" + }, + "position": { + "height": 1, + "width": 2, + "y": "95%" + }, + "props": { + "style": { + "borderTopColor": "#A0A0A4", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Scale" + }, + "position": { + "height": 182, + "width": 10, + "x": 26.0139, + "y": 7 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "ScaleMax" + }, + "position": { + "height": 14, + "width": 53, + "x": 33.01, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Val_PVEUMax\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tCfg_PVDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_PVDecPlcs\"] )[0].value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/Val_PVEUMax\"), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "A0A0A4", + "fontSize": "8pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "ScaleMin" + }, + "position": { + "height": 14, + "width": 53, + "x": 33.0139, + "y": 177 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Val_PVEUMin\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tCfg_PVDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_PVDecPlcs\"] )[0].value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/Val_PVEUMin\"), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "A0A0A4", + "fontSize": "8pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "GOPVBarGraph" + }, + "position": { + "height": 192, + "width": 96 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ThresholdHi" + }, + "position": { + "height": 17, + "width": 16, + "y": 14.001731872558594 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_Hi\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_TholdHi.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ThresholdHiHi" + }, + "position": { + "height": 17, + "width": 16, + "y": 14.001731872558594 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_HiHi\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_TholdHiHi.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ThresholdLo" + }, + "position": { + "height": 17, + "width": 16, + "y": 104.0017 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_Lo\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_TholdLo.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ThresholdLoLo" + }, + "position": { + "height": 17, + "width": 16, + "y": 104.0017 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_HiHi\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_TholdLoLo.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "PVBarGraphThresholdIndicators" + }, + "position": { + "height": 151, + "width": 16, + "x": 32.0139, + "y": 21 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "PVBarGraphAndIndicator" + }, + "position": { + "height": 192, + "width": 117 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "PVAndLimitsGroup" + }, + "position": { + "height": 193, + "width": 122, + "x": 162 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "InformationSection" + }, + "position": { + "height": 193, + "width": 286 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "AlarmIndicator" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_PVNotify\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Inp_PVNotify\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "AlarmPolygon" + }, + "position": { + "height": 42, + "width": 84, + "x": 3, + "y": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_PVNotify\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\tret_value \u003d ret_value and (self.view.params.selectedTab !\u003d 3)\t# Show it only if active tab different than alarm tab \n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Inp_PVNotify\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d value\n\t\n\tcolors \u003d [\"\",\n\t\"#FFFFFF\",\n\t\"#916AAD\",\n\t\"#916AAD\",\n\t\"#F5DF1B\",\n\t\"#F5DF1B\",\n\t\"#EC8729\",\n\t\"#EC8729\",\n\t\"#E22028\",\n\t\"#E22028\",\n\t\"\"]\n\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d colors[Val_NotifyAll]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "borderStyle": "solid", + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "CommBad" + }, + "position": { + "height": 17, + "width": 17, + "x": 58, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Inp_PVBad\") ||\r\ntag({view.params.tagPath} + \"/Inp_PVUncertain\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tindex \u003d 0 \n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"\",\n\t1: \"Sts_CommUncertain\",\n\t2: \"Sts_CommBad\",\n\t}\n\t\n\tInp_PVBad \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_PVBad\"])[0].value\n\tInp_PVUncertain \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_PVUncertain\"])[0].value\n\t\n\tif (Inp_PVBad):\n\t\tindex \u003d 2 \n\telif (Inp_PVUncertain):\n\t\tindex \u003d 1\n\t\n\tif (index \u003e 0):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Inp_PVBad\") ||\r\ntag({view.params.tagPath} + \"/Inp_PVUncertain\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0 \n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"\",\n\t1: \"Sts_CommUncertain\",\n\t2: \"Sts_CommBad\",\n\t}\n\t\n\tInp_PVBad \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_PVBad\"])[0].value\n\tInp_PVUncertain \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_PVUncertain\"])[0].value\n\t\n\tif (Inp_PVBad):\n\t\tindex \u003d 2 \n\telif (Inp_PVUncertain):\n\t\tindex \u003d 1\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 14, + "width": 66, + "x": 11 + }, + "props": { + "style": { + "color": "#919191", + "fontSize": "8pt", + "fontWeight": "normal", + "outlineStyle": "none", + "paddingLeft": 5, + "textAlign": "center" + }, + "text": "Raw Input", + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "8pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericDisplay", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 18, + "width": 78, + "x": 5, + "y": 12 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Inp_PV\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tCfg_PVDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_PVDecPlcs\"] )[0].value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/Inp_PV\"), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#2A4191", + "fontWeight": "bold", + "textAlign": "center" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "11pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "nddInp_PV" + }, + "position": { + "height": 31, + "width": 88 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GroupRawInput" + }, + "position": { + "height": 48, + "width": 90, + "x": 3.01, + "y": 213 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Inp_PVNotify\") \u003e 0, true, false) " + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFaceDisabled" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_ResetCapture_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "InactiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_ResetCapture.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_ClearCapt\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{view.params.userHasBasic} \u0026\u0026 {view.params.securityOperateEquipment}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GO_MinMaxClearButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 302, + "y": 220 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Content2" + }, + "position": { + "height": 265, + "width": 346, + "x": 43, + "y": 35 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Home" + }, + "position": { + "height": 300, + "width": 392, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 0)", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 300, + "width": 353, + "x": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "y": 43 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 300, + "width": 392 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "AdvancedProperties" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Properties.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tblock_label \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_Label\"])[0].value\n\ttitle \u003d \"{0} - {1}\".format(block_label, \"Advanced\")\n\t\n\tparams \u003d {\u0027tagPath\u0027: self.view.params.tagPath}\n\t\n\tsystem.perspective.openPopup({self.view.params.tagPath},\u0027Plant PAX/Popups/P_AIn/P_AIn_Advanced\u0027, params, title, showCloseIcon \u003d True, resizable \u003d False)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "AdvancedPropertiesButton" + }, + "position": { + "height": 40, + "width": 40, + "y": 1 + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BadConfig" + }, + "position": { + "height": 16, + "width": 16, + "x": 22 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_Timer\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupNavToAdvanced" + }, + "position": { + "height": 42, + "width": 42 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "MtceNavButtons" + }, + "position": { + "height": 42, + "width": 43, + "x": 46, + "y": 2 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Threshold" + }, + "position": { + "height": 16, + "width": 80, + "x": 5, + "y": 1 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "center" + }, + "text": "Threshold" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Deadband" + }, + "position": { + "height": 16, + "width": 80, + "x": 83, + "y": 1 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "center" + }, + "text": "Deadband" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Units" + }, + "position": { + "height": 14, + "width": 80, + "x": 5, + "y": 15 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_EU\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#919191", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Headers" + }, + "position": { + "height": 30, + "width": 165, + "x": 178 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 20, + "width": 170 + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 167 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.gateName} + \"Gate/Cfg_InpCond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Disabled" + }, + "position": { + "height": 17, + "width": 16, + "x": 151, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {parent.custom.gateName} + \"Gate/Sts_Gate\"), false, true)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "BadCfg" + }, + "position": { + "height": 17, + "width": 16, + "x": 151, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {parent.custom.gateName} + \"Gate/Sts_Err\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupGate" + }, + "position": { + "height": 20, + "width": 170, + "y": 5 + }, + "propConfig": { + "custom.gateName": { + "binding": { + "config": { + "path": "parent.custom.gateName" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "nde_CfgLim" + }, + "position": { + "height": 20, + "width": 70, + "x": 4, + "y": 5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigThresholds} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PVDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "pow(2, 32)" + }, + "type": "expr" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "expression": "-pow(2, 32)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_\" + {parent.custom.gateName} + \"Lim\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "nde_CfgDB" + }, + "position": { + "height": 20, + "width": 70, + "x": 83, + "y": 5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigThresholds} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PVDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "pow(2, 32)" + }, + "type": "expr" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "expression": "-pow(2, 32)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_\" + {parent.custom.gateName} + \"DB\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "GroupLimitAndDB" + }, + "position": { + "height": 30, + "width": 156, + "x": 176 + }, + "propConfig": { + "custom.gateName": { + "binding": { + "config": { + "path": "parent.custom.gateName" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + } + ], + "custom": { + "gateName": "HiHi" + }, + "meta": { + "name": "GoLimitConfigHiHi" + }, + "position": { + "height": 30, + "width": 335, + "x": 8, + "y": 26 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 20, + "width": 170 + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 167 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.gateName} + \"Gate/Cfg_InpCond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Disabled" + }, + "position": { + "height": 17, + "width": 16, + "x": 151, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {parent.custom.gateName} + \"Gate/Sts_Gate\"), false, true)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "BadCfg" + }, + "position": { + "height": 17, + "width": 16, + "x": 151, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {parent.custom.gateName} + \"Gate/Sts_Err\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupGate" + }, + "position": { + "height": 20, + "width": 170, + "y": 5 + }, + "propConfig": { + "custom.gateName": { + "binding": { + "config": { + "path": "parent.custom.gateName" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "nde_CfgLim" + }, + "position": { + "height": 20, + "width": 70, + "x": 4, + "y": 5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigThresholds} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PVDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "pow(2, 32)" + }, + "type": "expr" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "expression": "-pow(2, 32)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_\" + {parent.custom.gateName} + \"Lim\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "nde_CfgDB" + }, + "position": { + "height": 20, + "width": 70, + "x": 83, + "y": 5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigThresholds} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PVDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "pow(2, 32)" + }, + "type": "expr" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "expression": "-pow(2, 32)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_\" + {parent.custom.gateName} + \"DB\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "GroupLimitAndDB" + }, + "position": { + "height": 30, + "width": 156, + "x": 176 + }, + "propConfig": { + "custom.gateName": { + "binding": { + "config": { + "path": "parent.custom.gateName" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + } + ], + "custom": { + "gateName": "Hi" + }, + "meta": { + "name": "GoLimitConfigHi" + }, + "position": { + "height": 30, + "width": 335, + "x": 8, + "y": 55 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 20, + "width": 170 + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 167 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.gateName} + \"Gate/Cfg_InpCond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Disabled" + }, + "position": { + "height": 17, + "width": 16, + "x": 151, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {parent.custom.gateName} + \"Gate/Sts_Gate\"), false, true)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "BadCfg" + }, + "position": { + "height": 17, + "width": 16, + "x": 151, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {parent.custom.gateName} + \"Gate/Sts_Err\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupGate" + }, + "position": { + "height": 20, + "width": 170, + "y": 5 + }, + "propConfig": { + "custom.gateName": { + "binding": { + "config": { + "path": "parent.custom.gateName" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "nde_CfgLim" + }, + "position": { + "height": 20, + "width": 70, + "x": 4, + "y": 5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigThresholds} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PVDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "pow(2, 32)" + }, + "type": "expr" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "expression": "-pow(2, 32)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_\" + {parent.custom.gateName} + \"Lim\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "nde_CfgDB" + }, + "position": { + "height": 20, + "width": 70, + "x": 83, + "y": 5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigThresholds} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PVDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "pow(2, 32)" + }, + "type": "expr" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "expression": "-pow(2, 32)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_\" + {parent.custom.gateName} + \"DB\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "GroupLimitAndDB" + }, + "position": { + "height": 30, + "width": 156, + "x": 176 + }, + "propConfig": { + "custom.gateName": { + "binding": { + "config": { + "path": "parent.custom.gateName" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + } + ], + "custom": { + "gateName": "Lo" + }, + "meta": { + "name": "GoLimitConfigLo" + }, + "position": { + "height": 30, + "width": 335, + "x": 8, + "y": 84 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 20, + "width": 170 + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 167 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.gateName} + \"Gate/Cfg_InpCond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Disabled" + }, + "position": { + "height": 17, + "width": 16, + "x": 151, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {parent.custom.gateName} + \"Gate/Sts_Gate\"), false, true)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "BadCfg" + }, + "position": { + "height": 17, + "width": 16, + "x": 151, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {parent.custom.gateName} + \"Gate/Sts_Err\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupGate" + }, + "position": { + "height": 20, + "width": 170, + "y": 5 + }, + "propConfig": { + "custom.gateName": { + "binding": { + "config": { + "path": "parent.custom.gateName" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "nde_CfgLim" + }, + "position": { + "height": 20, + "width": 70, + "x": 4, + "y": 5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigThresholds} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PVDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "pow(2, 32)" + }, + "type": "expr" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "expression": "-pow(2, 32)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_\" + {parent.custom.gateName} + \"Lim\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "nde_CfgDB" + }, + "position": { + "height": 20, + "width": 70, + "x": 83, + "y": 5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigThresholds} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PVDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "pow(2, 32)" + }, + "type": "expr" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "expression": "-pow(2, 32)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_\" + {parent.custom.gateName} + \"DB\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "GroupLimitAndDB" + }, + "position": { + "height": 30, + "width": 156, + "x": 176 + }, + "propConfig": { + "custom.gateName": { + "binding": { + "config": { + "path": "parent.custom.gateName" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + } + ], + "custom": { + "gateName": "LoLo" + }, + "meta": { + "name": "GoLimitConfigLoLo" + }, + "position": { + "height": 30, + "width": 335, + "x": 8, + "y": 113 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GroupLimits" + }, + "position": { + "height": 146, + "width": 345 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "PageMaintenance1" + }, + "position": { + "height": 195, + "width": 345, + "x": 42, + "y": 26 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{parent.custom.maintenanceTabSelected}" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 0) or (value !\u003d 1)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Threshold" + }, + "position": { + "height": 16, + "width": 80, + "x": 5, + "y": 1 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "center" + }, + "text": "Threshold" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Deadband" + }, + "position": { + "height": 16, + "width": 80, + "x": 83, + "y": 1 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "center" + }, + "text": "Deadband" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Units" + }, + "position": { + "height": 14, + "width": 80, + "x": 5, + "y": 15 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "\"(raw units)\"" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#919191", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Headers" + }, + "position": { + "height": 30, + "width": 165, + "x": 178 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 20, + "width": 170 + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 167 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/FailGate/Cfg_InpCond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Disabled" + }, + "position": { + "height": 17, + "width": 16, + "x": 151, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/FailGate/Sts_Gate\"), false, true)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "BadCfg" + }, + "position": { + "height": 17, + "width": 16, + "x": 151, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/FailGate/Sts_Err\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "custom": { + "gateName": "Fail" + }, + "meta": { + "name": "GroupGate" + }, + "position": { + "height": 20, + "width": 170, + "y": 17.5 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "nde_CfgFailHiLim" + }, + "position": { + "height": 20, + "width": 70, + "x": 4, + "y": 6 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigThresholds} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PVDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "pow(2, 32)" + }, + "type": "expr" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "expression": "-pow(2, 32)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_FailHiLim\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "nde_CfgFailLoLim" + }, + "position": { + "height": 20, + "width": 70, + "x": 4, + "y": 29 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigThresholds} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PVDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "pow(2, 32)" + }, + "type": "expr" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "expression": "-pow(2, 32)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_FailLoLim\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "nde_CfgDB" + }, + "position": { + "height": 20, + "width": 70, + "x": 83, + "y": 17.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigThresholds} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PVDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "pow(2, 32)" + }, + "type": "expr" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "expression": "-pow(2, 32)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_FailDB\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "GroupLimitAndDB" + }, + "position": { + "height": 55, + "width": 156, + "x": 176 + }, + "type": "ia.container.coord" + } + ], + "custom": { + "gateName": "Fail" + }, + "meta": { + "name": "GoLimitConfigFail" + }, + "position": { + "height": 55, + "width": 335, + "x": 8, + "y": 30 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "PageMaintenance2" + }, + "position": { + "height": 195, + "width": 345, + "x": 42, + "y": 26 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{parent.custom.maintenanceTabSelected}" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 1)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tmaintenanceTabSelected \u003d self.parent.custom.maintenanceTabSelected\n\tmaxNumberOfTabs \u003d self.parent.custom.maxNumberOfTabs - 1\n\t\n\tnewTab \u003d maintenanceTabSelected - 1\n\t\n\tif (newTab \u003e\u003d 0):\n\t\tself.parent.custom.maintenanceTabSelected \u003d newTab" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "PrevButton" + }, + "position": { + "height": 36, + "width": 30 + }, + "props": { + "fit": { + "mode": "contain" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Prev.png", + "style": { + "curor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 20, + "x": 3, + "y": 8 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if({parent.custom.currentTabNumber} \u003d {parent.custom.tabNumber}, \"#A3A3A3FF\", \"#A3A3A300\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.tabNumber} + 1" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 1, + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "tabNumber": 0 + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.currentTabNumber \u003d self.custom.tabNumber" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Page1Button" + }, + "position": { + "height": 36, + "width": 26, + "x": 28 + }, + "propConfig": { + "custom.currentTabNumber": { + "binding": { + "config": { + "bidirectional": true, + "path": "parent.custom.maintenanceTabSelected" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 20, + "x": 3, + "y": 8 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if({parent.custom.currentTabNumber} \u003d {parent.custom.tabNumber}, \"#A3A3A3FF\", \"#A3A3A300\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.tabNumber} + 1" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 1, + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "tabNumber": 1 + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.currentTabNumber \u003d self.custom.tabNumber" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Page2Button" + }, + "position": { + "height": 36, + "width": 26, + "x": 58 + }, + "propConfig": { + "custom.currentTabNumber": { + "binding": { + "config": { + "bidirectional": true, + "path": "parent.custom.maintenanceTabSelected" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tmaintenanceTabSelected \u003d self.parent.custom.maintenanceTabSelected\n\tmaxNumberOfTabs \u003d self.parent.custom.maxNumberOfTabs - 1\n\t\n\tnewTab \u003d maintenanceTabSelected + 1\n\t\n\tif (newTab \u003c\u003d maxNumberOfTabs):\n\t\tself.parent.custom.maintenanceTabSelected \u003d newTab" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "NextButton" + }, + "position": { + "height": 36, + "width": 30, + "x": 82 + }, + "props": { + "fit": { + "mode": "contain" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Next.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + } + ], + "custom": { + "maxNumberOfTabs": 2 + }, + "meta": { + "name": "MaintenancePageButtons" + }, + "position": { + "height": 36, + "width": 112, + "x": 152, + "y": 213 + }, + "propConfig": { + "custom.maintenanceTabSelected": { + "binding": { + "config": { + "bidirectional": true, + "path": "parent.custom.maintenanceTabSelected" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "SeparatorLine" + }, + "position": { + "height": 2, + "width": 340, + "y": 7 + }, + "props": { + "style": { + "borderColor": "#E0E0E0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 182 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + }, + "text": "Use Substitute PV" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Val_InpPV" + }, + "position": { + "height": 16, + "width": 72, + "y": 8.5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Val_InpPV\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tCfg_PVDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_PVDecPlcs\"] )[0].value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/Val_InpPV\"), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#2A4191", + "fontSize": "10pt", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Track" + }, + "position": { + "height": 8, + "width": 32, + "x": 2, + "y": 4 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderBottomLeftRadius": "15%", + "borderBottomRightRadius": "15%", + "borderColor": "#6B6B6B", + "borderStyle": "solid", + "borderTopLeftRadius": "15%", + "borderTopRightRadius": "15%", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Fill" + }, + "position": { + "height": 8, + "width": 32, + "x": 2, + "y": 4 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_SubstPV\"), false, true)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#008080", + "borderBottomLeftRadius": "15%", + "borderBottomRightRadius": "15%", + "borderColor": "#6A6A6A", + "borderStyle": "solid", + "borderTopLeftRadius": "15%", + "borderTopRightRadius": "15%", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Indicator" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_SubstPV\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d 0\n\t\n\tSts_SubstPV \u003d value\n\t\n\tif (Sts_SubstPV):\n\t\tret_value \u003d 20\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#F0F0F0", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#6A6A6A", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "ToggleIndicator" + }, + "position": { + "height": 16, + "width": 37, + "x": 34, + "y": 7 + }, + "type": "ia.container.coord" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/MCmd_InpPV\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "OffButton", + "tooltip": { + "tail": false + } + }, + "position": { + "height": 25, + "width": 50, + "x": 2, + "y": 1.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityOverrideInputs} \u0026\u0026 {view.params.userHasBasic} \u0026\u0026 tag({view.params.tagPath} + \"/MRdy_InpPV\")" + }, + "type": "expr" + } + } + }, + "props": { + "justify": "start", + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "No" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/MCmd_SubstPV\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "OnButton", + "tooltip": { + "tail": false + } + }, + "position": { + "height": 25, + "width": 50, + "x": 56, + "y": 1.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityOverrideInputs} \u0026\u0026 {view.params.userHasBasic} \u0026\u0026 tag({view.params.tagPath} + \"/MRdy_SubstPV\")" + }, + "type": "expr" + } + } + }, + "props": { + "justify": "end", + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Yes" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "ToggleControl" + }, + "position": { + "height": 28, + "width": 110, + "x": 93, + "y": 2.5 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "nde_CfgLim" + }, + "position": { + "height": 20, + "width": 70, + "x": 214, + "y": 6.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityOverrideInputs} \u0026\u0026 {view.params.userHasBasic} \u0026\u0026 tag({view.params.tagPath} + \"/Sts_SubstPV\")" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PVDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "pow(2, 32)" + }, + "type": "expr" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "expression": "-pow(2, 32)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/MSet_SubstPV\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "MaintBypass" + }, + "position": { + "height": 16, + "width": 16, + "x": 191 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_SubstPV\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_MaintByp.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GOSubstitutePVControl" + }, + "position": { + "height": 33, + "width": 321, + "y": 16 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "SubstituvePV" + }, + "position": { + "height": 55, + "width": 340, + "x": 46.5, + "y": 243 + }, + "type": "ia.container.coord" + } + ], + "custom": { + "maintenanceTabSelected": 1 + }, + "meta": { + "name": "TabPage_Maintenance" + }, + "position": { + "height": 300, + "width": 392, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d 1", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 300, + "width": 353, + "x": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "y": 83 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 300, + "width": 392 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d image_path.format(states[SrcQ_IO][0])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 330, + "x": 20 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][1]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.textStyle.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][3]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][2]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "CommStatus" + }, + "position": { + "height": 20, + "width": 350 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\t\n\tSrcQ_IO \u003d value\n\t\n\tif (SrcQ_IO \u003e\u003d 8):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][3]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "AlarmIndicator" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_PVNotify\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Inp_PVNotify\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "AlarmPolygon" + }, + "position": { + "height": 42, + "width": 84, + "x": 3, + "y": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_PVNotify\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\tret_value \u003d ret_value and (self.view.params.selectedTab !\u003d 3)\t# Show it only if active tab different than alarm tab \n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Inp_PVNotify\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d value\n\t\n\tcolors \u003d [\"\",\n\t\"#FFFFFF\",\n\t\"#916AAD\",\n\t\"#916AAD\",\n\t\"#F5DF1B\",\n\t\"#F5DF1B\",\n\t\"#EC8729\",\n\t\"#EC8729\",\n\t\"#E22028\",\n\t\"#E22028\",\n\t\"\"]\n\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d colors[Val_NotifyAll]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "borderStyle": "solid", + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "CommBad" + }, + "position": { + "height": 17, + "width": 17, + "x": 58, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Inp_PVBad\") ||\r\ntag({view.params.tagPath} + \"/Inp_PVUncertain\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tindex \u003d 0 \n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"\",\n\t1: \"Sts_CommUncertain\",\n\t2: \"Sts_CommBad\",\n\t}\n\t\n\tInp_PVBad \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_PVBad\"])[0].value\n\tInp_PVUncertain \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_PVUncertain\"])[0].value\n\t\n\tif (Inp_PVBad):\n\t\tindex \u003d 2 \n\telif (Inp_PVUncertain):\n\t\tindex \u003d 1\n\t\n\tif (index \u003e 0):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Inp_PVBad\") ||\r\ntag({view.params.tagPath} + \"/Inp_PVUncertain\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0 \n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"\",\n\t1: \"Sts_CommUncertain\",\n\t2: \"Sts_CommBad\",\n\t}\n\t\n\tInp_PVBad \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_PVBad\"])[0].value\n\tInp_PVUncertain \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_PVUncertain\"])[0].value\n\t\n\tif (Inp_PVBad):\n\t\tindex \u003d 2 \n\telif (Inp_PVUncertain):\n\t\tindex \u003d 1\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 14, + "width": 66, + "x": 11 + }, + "props": { + "style": { + "color": "#919191", + "fontSize": "8pt", + "fontWeight": "normal", + "outlineStyle": "none", + "paddingLeft": 5, + "textAlign": "center" + }, + "text": "Raw Input", + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "8pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericDisplay", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 18, + "width": 78, + "x": 5, + "y": 12 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Inp_PV\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tCfg_PVDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_PVDecPlcs\"] )[0].value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/Inp_PV\"), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#2A4191", + "fontWeight": "bold", + "textAlign": "center" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "11pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "nddInp_PV" + }, + "position": { + "height": 31, + "width": 88 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GroupRawInput" + }, + "position": { + "height": 48, + "width": 90, + "x": 13.01, + "y": 43 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 14, + "width": 124 + }, + "props": { + "style": { + "color": "#919191", + "fontSize": "8pt", + "fontWeight": "normal", + "outlineStyle": "none", + "paddingLeft": 5, + "textAlign": "center" + }, + "text": "Scaled PV from Input", + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "8pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericDisplay", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 18, + "width": 78, + "x": 5, + "y": 12 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Val_InpPV\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tCfg_PVDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_PVDecPlcs\"] )[0].value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/Val_InpPV\"), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#2A4191", + "fontWeight": "bold", + "textAlign": "center" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "11pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "nddValInpPV" + }, + "position": { + "height": 31, + "width": 129, + "x": 12 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Inp_Sim\"), false, true)" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 14, + "width": 124 + }, + "props": { + "style": { + "color": "#919191", + "fontSize": "8pt", + "fontWeight": "normal", + "outlineStyle": "none", + "paddingLeft": 5, + "textAlign": "center" + }, + "text": "PV Used in Simulation", + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "8pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "height": 20, + "width": 76, + "x": 24, + "y": 18 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityEnableSimulation} \u0026\u0026 {view.params.userHasBasic} \u0026\u0026 tag({view.params.tagPath} + \"/Inp_Sim\")" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PVDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "pow(2, 32)" + }, + "type": "expr" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "expression": "-pow(2, 32)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Set_SimPV\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "nddSetSimPV" + }, + "position": { + "height": 42, + "width": 129 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Inp_Sim\"), true, false)" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GoDiagPV" + }, + "position": { + "height": 44, + "width": 175, + "y": 90 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "DiagnosticsContent" + }, + "position": { + "height": 295, + "width": 350, + "x": 40.9936, + "y": 0.00000190735 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Diagnostics" + }, + "position": { + "height": 300, + "width": 392, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d 2", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 300, + "width": 353, + "x": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "y": 123 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 300, + "width": 392 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ResetAckAll" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_AlmAckAllReset_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "DisabledAckResetButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 300 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ResetAckAll" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_AlmAckAllReset.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_ResetAckAll\", 1)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveAckResetButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 300 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/ORdy_ResetAckAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tORdy_ResetAckAll \u003d value\n\tVal_UnackAlmC \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_UnackAlmC\"])[0].value\n\t\n\tif (self.view.params.userHasBasic) and (ORdy_ResetAckAll):\n\t\tret_value \u003d True \n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "GO_AlarmDisplay_Fail" + }, + "position": { + "height": 34, + "width": 291 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "alarmName": "Fail" + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Alarm Objects/GO_AlarmDisplay" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_AlarmDisplay_HiHi" + }, + "position": { + "height": 34, + "width": 291, + "y": 37 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "alarmName": "HiHi" + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Alarm Objects/GO_AlarmDisplay" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_AlarmDisplay_Hi" + }, + "position": { + "height": 34, + "width": 291, + "y": 74 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "alarmName": "Hi" + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Alarm Objects/GO_AlarmDisplay" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_AlarmDisplay_Lo" + }, + "position": { + "height": 34, + "width": 291, + "y": 111 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "alarmName": "Lo" + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Alarm Objects/GO_AlarmDisplay" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_AlarmDisplay_LoLo" + }, + "position": { + "height": 34, + "width": 291, + "y": 148 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "alarmName": "LoLo" + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Alarm Objects/GO_AlarmDisplay" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Alarms" + }, + "position": { + "height": 187, + "width": 291 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "AlarmContent" + }, + "position": { + "height": 290, + "width": 340, + "x": 43, + "y": 5 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Alarm" + }, + "position": { + "height": 300, + "width": 392, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d 3", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 300, + "width": 353, + "x": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "y": 253 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 300, + "width": 392 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 108, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "caption": "P_AIn", + "label": "Popup Name:" + }, + "meta": { + "name": "PopupID" + }, + "position": { + "height": 18, + "width": 255, + "x": 125, + "y": 206 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 108, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "PlantPAX Version:" + }, + "meta": { + "name": "PlantPAX Version" + }, + "position": { + "height": 18, + "width": 255, + "x": 125, + "y": 229 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/version\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 108, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "UDT Version:" + }, + "meta": { + "name": "UDTVersion" + }, + "position": { + "height": 18, + "width": 255, + "x": 125, + "y": 252 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Prime Version\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 108, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "Popup Version:" + }, + "meta": { + "name": "PopupVersion" + }, + "position": { + "height": 18, + "width": 255, + "x": 125, + "y": 275 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "path": "view.custom.popupVersion" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Version" + }, + "position": { + "height": 300, + "width": 392, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d -1", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "AlarmPolygon" + }, + "position": { + "height": 39, + "width": 39, + "y": 117 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\tret_value \u003d ret_value and (self.view.params.selectedTab !\u003d 3)\t# Show it only if active tab different than alarm tab \n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d value\n\t\n\tcolors \u003d [\"\",\n\t\"#FFFFFF\",\n\t\"#916AAD\",\n\t\"#916AAD\",\n\t\"#F5DF1B\",\n\t\"#F5DF1B\",\n\t\"#EC8729\",\n\t\"#EC8729\",\n\t\"#E22028\",\n\t\"#E22028\",\n\t\"\"]\n\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d colors[Val_NotifyAll]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "borderBottomStyle": "solid", + "borderBottomWidth": 2, + "borderLeftStyle": "solid", + "borderLeftWidth": 2, + "borderRightStyle": "none", + "borderTopStyle": "solid", + "borderTopWidth": 2 + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonHome" + }, + "position": { + "height": 35, + "width": 35, + "x": 2 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Home.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 1" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonMaintenance" + }, + "position": { + "height": 35, + "width": 35, + "x": 2, + "y": 40 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Maint.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 2" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonDiagnostics" + }, + "position": { + "height": 35, + "width": 35, + "x": 2, + "y": 80 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Diag.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 3" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonAlarm" + }, + "position": { + "height": 35, + "width": 35, + "x": 2, + "y": 120 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Alm.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tblock_label \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_Label\"])[0].value\n\t\n\ttitle \u003d \"{0} - {1}\".format(block_label, \"PV Trend\")\n\t\n\tparams \u003d {\n\t\"tagPath\": self.view.params.tagPath,\n\t\"maximumParameterName\": \"Val_PVEUMax\",\n\t\"minimumParameterName\": \"Val_PVEUMin\",\n\t\"euParameterName\": \"Cfg_EU\",\n\t\"pvParameterName\": \"Val\",\n\t}\n\t\n\tsystem.perspective.openPopup({self.view.params.tagPath},\u0027Plant PAX/Popups/00_Trend_Popups/Process_PVCapture\u0027, params, title, showCloseIcon \u003d True, resizable \u003d False)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonTrend" + }, + "position": { + "height": 32, + "width": 32, + "x": 2, + "y": 210 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Trend.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d -1" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonHelp" + }, + "position": { + "height": 32, + "rotate": { + "angle": "180deg" + }, + "width": 32, + "x": 2, + "y": 250 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Faults.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "MaintBypass" + }, + "position": { + "height": 16, + "width": 16, + "y": 37 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_SubstPV\")" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_MaintByp.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "AlarmInh" + }, + "position": { + "height": 16, + "width": 16, + "y": 116.99519348144531 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_AlmInh\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Alm_Inhibit.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 23, + "y": 37 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_EU\") || tag({view.params.tagPath} + \"/Err_Raw\") || tag({view.params.tagPath} + \"/Err_Filt\") || \r\ntag({view.params.tagPath} + \"/Err_Timer\")" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "BadConfigAlarm" + }, + "position": { + "height": 16, + "width": 16, + "x": 23, + "y": 118 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Err_Alarm\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupTabButtons" + }, + "position": { + "height": 287, + "width": 39, + "x": 3, + "y": 5 + }, + "type": "ia.container.coord" + } + ], + "events": { + "system": { + "onStartup": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "propConfig": { + "custom.cmdSrcTitle": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_Tag\") + \" - \" + tag({view.params.tagPath}+\"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_AIn/P_AIn_Advanced/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_AIn/P_AIn_Advanced/resource.json new file mode 100644 index 0000000..56a0bf2 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_AIn/P_AIn_Advanced/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "e658712e2650f3215e7a65be2a3e509d3dd3dd7f2a8df18692c1df2cf61e0414", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_AIn/P_AIn_Advanced/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_AIn/P_AIn_Advanced/thumbnail.png new file mode 100644 index 0000000..166a3fb Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_AIn/P_AIn_Advanced/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_AIn/P_AIn_Advanced/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_AIn/P_AIn_Advanced/view.json new file mode 100644 index 0000000..db25ffe --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_AIn/P_AIn_Advanced/view.json @@ -0,0 +1,2228 @@ +{ + "custom": { + "popupVersion": " 1.0 " + }, + "params": { + "securityDeviceConfigBehavior": true, + "securityDeviceConfigHMI": true, + "securityDeviceConfigTimers": true, + "securityEnableSimulation": true, + "securityOverrideInputs": true, + "selectedTab": 0, + "tagPath": "[default]Test_Tags/P_AIn", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "custom.popupVersion": { + "persistent": true + }, + "params.securityDeviceConfigBehavior": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigBehavior\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityDeviceConfigHMI": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigHMI\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityDeviceConfigTimers": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigTimers\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityEnableSimulation": { + "binding": { + "config": { + "expression": "\"securityEnableSimulation\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityOverrideInputs": { + "binding": { + "config": { + "expression": "\"securityOverrideInputs\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.selectedTab": { + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 442, + "width": 350 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Tab1" + }, + "position": { + "height": 39, + "width": 37 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab2" + }, + "position": { + "height": 39, + "width": 37, + "x": 40 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "InactiveTabs" + }, + "position": { + "height": 39, + "width": 117, + "x": 4, + "y": 4 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 403, + "width": 350, + "y": 42 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab" + }, + "position": { + "height": 39, + "width": 40, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 442, + "width": 350 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Icon_3" + }, + "position": { + "height": 13, + "rotate": { + "angle": "-90deg" + }, + "width": 30, + "x": 177, + "y": 67.5 + }, + "props": { + "path": "material/keyboard_arrow_down" + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "Line4" + }, + "position": { + "height": 60, + "rotate": { + "angle": "90deg" + }, + "width": 3, + "x": 207.966, + "y": 45.014 + }, + "props": { + "style": { + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 21, + "width": 33, + "x": 195, + "y": 63 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_TimeFunction.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Icon_4" + }, + "position": { + "height": 13, + "rotate": { + "angle": "-90deg" + }, + "width": 30, + "x": 223, + "y": 67.5 + }, + "props": { + "path": "material/keyboard_arrow_down" + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "Lines" + }, + "position": { + "height": 112, + "width": 340 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SeparatorLine" + }, + "position": { + "height": 2, + "width": 340, + "y": 7 + }, + "props": { + "style": { + "borderColor": "#E0E0E0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 182, + "y": 5 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold" + }, + "text": "Raw Input Scaling" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "MaximumLabel" + }, + "position": { + "height": 16, + "width": 89, + "y": 48 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + }, + "text": "Maximum" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Minimum Level" + }, + "position": { + "height": 16, + "width": 89, + "y": 83 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + }, + "text": "Maximum" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "MaxRaw" + }, + "position": { + "height": 20, + "width": 70, + "x": 106, + "y": 47 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "2" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_InpRawMax\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": -4294967296 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "MinRaw" + }, + "position": { + "height": 20, + "width": 70, + "x": 106, + "y": 79 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "2" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_InpRawMin\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": -4294967296 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "children": [ + { + "meta": { + "name": "ErrOutline" + }, + "position": { + "height": 55, + "width": 73, + "x": 1, + "y": 2.5 + }, + "props": { + "style": { + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "2px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 71, + "y": 1.5 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "ndeErr" + }, + "position": { + "height": 61, + "width": 89, + "x": 104, + "y": 43 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_Raw\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "InputLabel" + }, + "position": { + "height": 16, + "width": 89, + "x": 96.5, + "y": 29 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "center", + "textDecoration": "underline" + }, + "text": "Input" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "MaxPV" + }, + "position": { + "height": 20, + "width": 70, + "x": 242.5, + "y": 47 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "2" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_PVEUMax\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": -4294967296 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "MinPV" + }, + "position": { + "height": 20, + "width": 70, + "x": 242.5, + "y": 79 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "2" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_PVEUMin\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": -4294967296 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "children": [ + { + "meta": { + "name": "ErrOutline" + }, + "position": { + "height": 55, + "width": 73, + "x": 1, + "y": 2.5 + }, + "props": { + "style": { + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "2px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 71, + "y": 1.5 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "ndeErr_0" + }, + "position": { + "height": 61, + "width": 89, + "x": 240.5, + "y": 43 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_Raw\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "ScaledLabel" + }, + "position": { + "height": 16, + "width": 89, + "x": 233.5, + "y": 29 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "center", + "textDecoration": "underline" + }, + "text": "Scaled" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "ErrOutline" + }, + "position": { + "height": 55, + "width": 73, + "x": 1, + "y": 2.5 + }, + "props": { + "style": { + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "2px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 71, + "y": 1.5 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "ndeErr_1" + }, + "position": { + "height": 61, + "width": 89, + "x": 240, + "y": 43 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_EU\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "UnitsLabel" + }, + "position": { + "height": 16, + "width": 89, + "x": 149, + "y": 109 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + }, + "text": "Units" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "GO_Cfg_EU" + }, + "position": { + "height": 20, + "width": 70, + "x": 242.5, + "y": 107 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigHMI": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_EU" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "RawToEUScaling" + }, + "position": { + "height": 131, + "width": 340 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "GO_Cfg_NoSubstPV" + }, + "position": { + "height": 32, + "width": 340, + "x": 2, + "y": 134 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_NoSubstPV" + }, + "type": "ia.display.view" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 165 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "PV Source and Quality" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 0 + }, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_UseChanSrcQ\"), false, true)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 9.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 310, + "x": 25, + "y": 1.5 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Generate SrcQ" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_UseChanSrcQ\", False)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Cfg_UseChanSrcQ_Off" + }, + "position": { + "height": 35, + "width": 337, + "y": 13 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 0 + }, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_UseChanSrcQ\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 9.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 310, + "x": 25, + "y": 1.5 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Pass thru connected Channel\u0027s SrcQ value" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_UseChanSrcQ\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Cfg_UseChanSrcQ_Off_0" + }, + "position": { + "height": 35, + "width": 337, + "y": 41 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "CfgUseChanSrcQ" + }, + "position": { + "height": 78, + "width": 340, + "x": 2, + "y": 175 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "GO_Cfg_RateFiltTC" + }, + "position": { + "height": 39, + "width": 340, + "x": 2, + "y": 6.5 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_RateFiltTC" + }, + "type": "ia.display.view" + }, + { + "children": [ + { + "meta": { + "name": "ErrOutline" + }, + "position": { + "height": 26, + "width": 72, + "y": 15 + }, + "props": { + "style": { + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "2px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 58 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "ndeErr_1" + }, + "position": { + "height": 45, + "width": 75, + "x": 258, + "y": -4 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_EU\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Filter" + }, + "position": { + "height": 52, + "width": 344, + "y": 253 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Engineering1" + }, + "position": { + "height": 307, + "width": 344, + "x": 5, + "y": 49 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Engineering" + }, + "position": { + "height": 442, + "width": 350, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 0)", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 403, + "width": 350, + "y": 42 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab" + }, + "position": { + "height": 39, + "width": 40, + "x": 39, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 442, + "width": 350 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "GO_Desc_Label_Tag" + }, + "position": { + "height": 68.00000000000001, + "width": 340, + "x": 5, + "y": 3.99 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigHMI": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Desc_Label_Tag" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_Area" + }, + "position": { + "height": 20, + "width": 340, + "x": 5, + "y": 70.987 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityConfigSecurity": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_Area" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TextConfig" + }, + "position": { + "height": 200, + "width": 350, + "y": 47 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "GO_PVDecimalPlaces" + }, + "position": { + "height": 32, + "width": 340, + "x": 5, + "y": 14.001999999999999 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "parameterName": "Cfg_PVDecPlcs", + "securityDeviceConfigHMI": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_PVDecimalPlaces" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "HMIConfig" + }, + "position": { + "height": 246, + "width": 350, + "y": 143 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_HMI" + }, + "position": { + "height": 442, + "width": 350, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d 1", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 403, + "width": 350, + "y": 42 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab" + }, + "position": { + "height": 39, + "width": 40, + "x": 306, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 442, + "width": 350 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 145, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "caption": "P_AIn_Advanced", + "label": "Popup Name:" + }, + "meta": { + "name": "PopupID" + }, + "position": { + "height": 18, + "width": 292, + "x": 48, + "y": 346 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 145, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "PlantPAX Version:" + }, + "meta": { + "name": "PlantPAX Version" + }, + "position": { + "height": 18, + "width": 292, + "x": 48, + "y": 369 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/version\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 145, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "UDT Version:" + }, + "meta": { + "name": "UDTVersion" + }, + "position": { + "height": 18, + "width": 292, + "x": 48, + "y": 392 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Prime Version\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 145, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "Popup Version:" + }, + "meta": { + "name": "PopupVersion" + }, + "position": { + "height": 18, + "width": 292, + "x": 48, + "y": 415 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "path": "view.custom.popupVersion" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Version" + }, + "position": { + "height": 442, + "width": 350, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d -1", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonEngineering" + }, + "position": { + "height": 35, + "width": 35, + "x": 2 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Eng.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 1" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonHMI" + }, + "position": { + "height": 35, + "width": 35, + "x": 42 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_HMI.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d -1" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonHelp" + }, + "position": { + "height": 32, + "rotate": { + "angle": "180deg" + }, + "width": 32, + "x": 311 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Faults.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 23, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_EU\") || tag({view.params.tagPath} + \"/Err_Raw\") || tag({view.params.tagPath} + \"/Err_Filt\")" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupTabButtons" + }, + "position": { + "height": 35, + "width": 346, + "x": 3, + "y": 5 + }, + "type": "ia.container.coord" + } + ], + "events": { + "system": { + "onStartup": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_AOut/P_AOut/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_AOut/P_AOut/resource.json new file mode 100644 index 0000000..1d2ed39 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_AOut/P_AOut/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "79a7272fe5299c6e42f33316fcca98850f63a01255f2bc8c617fcf3279ba0506", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_AOut/P_AOut/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_AOut/P_AOut/thumbnail.png new file mode 100644 index 0000000..33a4797 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_AOut/P_AOut/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_AOut/P_AOut/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_AOut/P_AOut/view.json new file mode 100644 index 0000000..844dcf1 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_AOut/P_AOut/view.json @@ -0,0 +1,6175 @@ +{ + "custom": { + "cmdSrcTitle": " - ", + "popupVersion": " 1.0 " + }, + "params": { + "securityBypassFeedback": true, + "securityBypassInterlocks": true, + "securityDeviceConfigLimits": true, + "securityEnableSimulation": true, + "securityOperateEquipment": true, + "securityOverrideInputs": true, + "selectedTab": 3, + "tagPath": "[default]Test_Tags/SC_01", + "userHasBasic": true + }, + "propConfig": { + "custom.cmdSrcTitle": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_Tag\") + \" - \" + tag({view.params.tagPath}+\"/Cfg_Label\")" + }, + "type": "expr" + }, + "persistent": true + }, + "custom.popupVersion": { + "persistent": true + }, + "params.securityBypassFeedback": { + "binding": { + "config": { + "expression": "\"securityBypassFeedback\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityBypassInterlocks": { + "binding": { + "config": { + "expression": "\"securityBypassInterlocks\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityDeviceConfigLimits": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigLimits\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityEnableSimulation": { + "binding": { + "config": { + "expression": "\"securityEnableSimulation\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityOperateEquipment": { + "binding": { + "config": { + "expression": "\"securityOperateEquipment\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityOverrideInputs": { + "binding": { + "config": { + "expression": "\"securityOverrideInputs\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.selectedTab": { + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 300, + "width": 392 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Tab1" + }, + "position": { + "height": 37, + "width": 39 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab2" + }, + "position": { + "height": 37, + "width": 39, + "y": 40 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab3" + }, + "position": { + "height": 37, + "width": 39, + "y": 80 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab4" + }, + "position": { + "height": 37, + "width": 39, + "y": 120 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "InactiveTabs" + }, + "position": { + "height": 157, + "width": 40, + "x": 4, + "y": 4 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 300, + "width": 353, + "x": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 300, + "width": 392 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "StatusText_Ready" + }, + "position": { + "height": 16, + "width": 42, + "x": 6, + "y": 2 + }, + "props": { + "text": "Ready", + "textStyle": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d image_path.format(states[SrcQ_IO][0])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 330, + "x": 20 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][1]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.textStyle.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][3]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][2]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "CommStatus" + }, + "position": { + "height": 20, + "width": 350 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\t\n\tSrcQ_IO \u003d value\n\t\n\tif (SrcQ_IO \u003e\u003d 8):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][3]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "custom": { + "parameterName": "NRdy_Intlk" + }, + "meta": { + "name": "GONoticeNRdy_Intlk" + }, + "position": { + "height": 21, + "width": 398 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {this.custom.parameterName}), true, false)" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{this.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#3F3F3F", + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameterName": "NRdy_IOFault" + }, + "meta": { + "name": "GONoticeNRdy_IOFault" + }, + "position": { + "height": 21, + "width": 398 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {this.custom.parameterName}), true, false)" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{this.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#3F3F3F", + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameterName": "NRdy_OoS" + }, + "meta": { + "name": "GONoticeNRdy_OoS" + }, + "position": { + "height": 21, + "width": 398 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {this.custom.parameterName}), true, false)" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{this.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#3F3F3F", + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameterName": "NRdy_CfgErr" + }, + "meta": { + "name": "GONoticeNRdy_CfgErr" + }, + "position": { + "height": 21, + "width": 398 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {this.custom.parameterName}), true, false)" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{this.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#3F3F3F", + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "NRdyNotices" + }, + "position": { + "height": 21, + "width": 402 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "AlarmSeverityIndicator" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "AlarmText" + }, + "position": { + "height": 16, + "width": 367, + "x": 22, + "y": 2 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Cfg_Cond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "alarmParameterName": "IntlkTrip" + }, + "meta": { + "name": "AlarmNotify_IntlkTrip" + }, + "position": { + "height": 20, + "width": 402 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {this.custom.alarmParameterName} + \"/Val_Notify\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tVal_Notify \u003d value\n\tVal_UnackAlmC \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_UnackAlmC\"])[0].value\n\t\n\tif (Val_Notify \u003e 0) and ((Val_UnackAlmC \u003d\u003d 0) or ((Val_Notify \u0026 1) \u003d\u003d 1)):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "AlarmSeverityIndicator" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "AlarmText" + }, + "position": { + "height": 16, + "width": 367, + "x": 22, + "y": 2 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Cfg_Cond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "alarmParameterName": "IOFault" + }, + "meta": { + "name": "AlarmNotify_IOFault" + }, + "position": { + "height": 20, + "width": 402 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {this.custom.alarmParameterName} + \"/Val_Notify\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tVal_Notify \u003d value\n\tVal_UnackAlmC \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_UnackAlmC\"])[0].value\n\t\n\tif (Val_Notify \u003e 0) and ((Val_UnackAlmC \u003d\u003d 0) or ((Val_Notify \u0026 1) \u003d\u003d 1)):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "AlarmNotices" + }, + "position": { + "height": 20, + "width": 402 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "AbnormalSeparatorLine" + }, + "position": { + "height": 2, + "width": 352, + "y": 20 + }, + "props": { + "style": { + "borderColor": "#6A6A6A", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ResetAckAll" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_AlmAckAllReset_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "DisabledAckResetButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 302, + "y": 5 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ResetAckAll" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_AlmAckAllReset.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_ResetAckAll\", 1)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveAckResetButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 302, + "y": 5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/ORdy_ResetAckAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tORdy_ResetAckAll \u003d value\n\tVal_UnackAlmC \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_UnackAlmC\"])[0].value\n\t\n\tif (self.view.params.userHasBasic) and (ORdy_ResetAckAll):\n\t\tret_value \u003d True \n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Content1" + }, + "position": { + "height": 45, + "width": 403, + "x": 44 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "GOValStsAOut", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 20, + "width": 190 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Val_Sts\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\tstates \u003d {\n\t0: \"At Target\",\n\t1: \"Ramping Down\",\n\t2: \"Ramping Up\",\n\t3: \"Clamped at Min\",\n\t4: \"Clamped at Max\",\n\t5: \"Bumping Close\",\n\t6: \"Bumping Open\",\n\t}\n\t\n\tVal_Sts \u003d value\n\tindex \u003d Val_Sts\n\t\n\tret_value \u003d states[index]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#D4D4D4", + "color": "#2A4191", + "fontSize": "11pt", + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "Left" + }, + "textStyle": { + "classes": "States/DigitalInput/on" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "CommBad" + }, + "position": { + "height": 17, + "width": 17, + "x": 100, + "y": 14 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_IOFault\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_CommBad.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "AccelDecel" + }, + "position": { + "height": 17, + "width": 17 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_IOFault\"), true, false)" + }, + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Accel\") || tag({view.params.tagPath} + \"/Sts_Decel\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d -1\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/Sts_CommBad.png\"\n\timages \u003d {\n\t0: \"Sts_Accel\",\n\t1: \"Sts_Decel\"\n\t}\n\t\n\tSts_Accel \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Accel\"])[0].value\n\tSts_Decel \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Decel\"])[0].value\n\t\n\tif (Sts_Accel):\n\t\tindex \u003d 0\n\telif (Sts_Decel):\n\t\tindex \u003d 1 \n\t\n\tif (index \u003e\u003d 0):\n\t\tret_val \u003d image_path.format(images[index])\n\telse:\n\t\tret_val \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 14, + "width": 32, + "x": 28 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "8pt" + }, + "text": "Speed" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericDisplay", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 18, + "width": 88, + "y": 13 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Val_SpeedFdbk\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tCfg_PVDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_DecPlcs\"] )[0].value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/Val_SpeedFdbk\"), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#2A4191", + "fontWeight": "bold", + "textAlign": "right" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "11pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "godsData_EU", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 14, + "width": 22, + "x": 88, + "y": 15 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Cfg_SpeedFdbkEU\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#919191", + "fontWeight": "bold", + "outlineStyle": "none", + "paddingLeft": 5, + "textAlign": "left" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "8pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "pnddValSpeedFdbk" + }, + "position": { + "height": 33, + "width": 115, + "x": 2.5, + "y": 0.5 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "ValSpeedFdbk" + }, + "position": { + "height": 36, + "width": 120 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Tick0" + }, + "position": { + "height": 5, + "width": 1, + "x": 1.0024, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tick1" + }, + "position": { + "height": 5, + "width": 1, + "x": 26, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tick2" + }, + "position": { + "height": 5, + "width": 1, + "x": 51, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tick3" + }, + "position": { + "height": 5, + "width": 1, + "x": 76, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tick4" + }, + "position": { + "height": 5, + "width": 1, + "x": 101, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick0" + }, + "position": { + "height": 2, + "width": 1, + "x": 5, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick1" + }, + "position": { + "height": 2, + "width": 1, + "x": 10, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick2" + }, + "position": { + "height": 2, + "width": 1, + "x": 15, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick3" + }, + "position": { + "height": 2, + "width": 1, + "x": 20, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick4" + }, + "position": { + "height": 2, + "width": 1, + "x": 30, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick5" + }, + "position": { + "height": 2, + "width": 1, + "x": 35, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick6" + }, + "position": { + "height": 2, + "width": 1, + "x": 40, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick7" + }, + "position": { + "height": 2, + "width": 1, + "x": 45, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick8" + }, + "position": { + "height": 2, + "width": 1, + "x": 55, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick9" + }, + "position": { + "height": 2, + "width": 1, + "x": 60, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick10" + }, + "position": { + "height": 2, + "width": 1, + "x": 65, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick11" + }, + "position": { + "height": 2, + "width": 1, + "x": 70, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick12" + }, + "position": { + "height": 2, + "width": 1, + "x": 80, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick13" + }, + "position": { + "height": 2, + "width": 1, + "x": 85, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick14" + }, + "position": { + "height": 2, + "width": 1, + "x": 90, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick15" + }, + "position": { + "height": 2, + "width": 1, + "x": 95, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Scale" + }, + "position": { + "height": 8, + "width": 103, + "x": 5, + "y": 15.0048 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "ActualSpeedIndicator" + }, + "position": { + "height": 12, + "rotate": { + "angle": "90deg" + }, + "width": 13, + "y": -3 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_SpeedFdbk\") ||\r\ntag({view.params.tagPath} + \"/Cfg_MinSpdRef\") ||\r\ntag({view.params.tagPath} + \"/Cfg_MaxSpdRef\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d 0\n\t\n\tVal_SpeedFdbk \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_SpeedFdbk\"])[0].value\n\tCfg_MinSpdRef \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_MinSpdRef\"])[0].value\n\tCfg_MaxSpdRef \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_MaxSpdRef\"])[0].value\n\t\n\tDisplayMin \u003d 0\n\tDisplayMax \u003d 100\n\t\n\tret_value \u003d ((DisplayMax - DisplayMin) / (Cfg_MaxSpdRef - Cfg_MinSpdRef)) * (Val_SpeedFdbk - Cfg_MinSpdRef) + DisplayMin\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "color": "#2A4191", + "path": "material/play_arrow" + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "SetpointSpeedIndicator" + }, + "position": { + "height": 12, + "rotate": { + "angle": -90 + }, + "width": 13, + "y": 13 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_SpeedRefEU\") \u003d tag({view.params.tagPath} + \"/Cfg_SpeedFdbkEU\"), true, false)" + }, + "type": "expr" + } + }, + "position.x": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_SpeedRef\") ||\r\ntag({view.params.tagPath} + \"/Cfg_MinSpdRef\") ||\r\ntag({view.params.tagPath} + \"/Cfg_MaxSpdRef\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d 0\n\t\n\tVal_SpeedRef \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_SpeedRef\"])[0].value\n\tCfg_MinSpdRef \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_MinSpdRef\"])[0].value\n\tCfg_MaxSpdRef \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_MaxSpdRef\"])[0].value\n\t\n\tDisplayMin \u003d 0\n\tDisplayMax \u003d 100\n\t\n\tret_value \u003d ((DisplayMax - DisplayMin) / (Cfg_MaxSpdRef - Cfg_MinSpdRef)) * (Val_SpeedRef - Cfg_MinSpdRef) + DisplayMin\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "color": "#3F3F3F", + "path": "material/play_arrow" + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "BarGraphBorder" + }, + "position": { + "height": 8, + "width": 101, + "x": 6, + "y": 7.0048 + }, + "props": { + "style": { + "borderColor": "#A0A0A4", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "BarGraphGroup" + }, + "position": { + "height": 27, + "width": 119, + "y": 40 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 14, + "width": 49, + "x": 22 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "8pt" + }, + "text": "Setpoint" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericDisplay", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 16, + "width": 72, + "x": 9, + "y": 13 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Val_SpeedRef\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tCfg_PVDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_DecPlcs\"] )[0].value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/Val_SpeedRef\"), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#2A4191", + "fontWeight": "normal", + "textAlign": "right" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "11pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "godsData_EU", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 14, + "width": 22, + "x": 81, + "y": 15 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Cfg_SpeedFdbkEU\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#919191", + "fontWeight": "bold", + "outlineStyle": "none", + "paddingLeft": 5, + "textAlign": "left" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "8pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "pnddValSpeedRef" + }, + "position": { + "height": 32, + "width": 107 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Clamped" + }, + "position": { + "height": 16, + "width": 16, + "x": 86.0036, + "y": 13.0036 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_SpeedLimited\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_Clamped.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "Setpoint" + }, + "position": { + "height": 32, + "width": 110 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "height": 20, + "width": 76 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityEnterOperSettings} \u0026\u0026 {view.params.userHasBasic} \u0026\u0026 tag({view.params.tagPath} + \"/ORdy_SpeedRef\")" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_DecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_MaxSpdRef\"" + }, + "type": "tag" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_MinSpdRef\"" + }, + "type": "tag" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/OSet_SpeedRef\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "ndeOSet_SpeedRef" + }, + "position": { + "height": 24, + "width": 101, + "x": 4, + "y": 33 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "SpeedSetpoint" + }, + "position": { + "height": 57, + "width": 115, + "x": 8, + "y": 72 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GOSpeedFdbkAndSetpoint", + "visible": false + }, + "position": { + "height": 131, + "width": 123, + "y": 27 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "BarGraphBorder" + }, + "position": { + "height": 12, + "width": 180, + "x": 5.5, + "y": 14.3 + }, + "props": { + "style": { + "borderColor": "#A0A0A4", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Tick0" + }, + "position": { + "height": 5, + "width": 1, + "x": 1.0024, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tick1" + }, + "position": { + "height": 5, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.25" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tick2" + }, + "position": { + "height": 5, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.5" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tick3" + }, + "position": { + "height": 5, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.75" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tick4" + }, + "position": { + "height": 5, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 1" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick0" + }, + "position": { + "height": 2, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.05" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick1" + }, + "position": { + "height": 2, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.1" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick2" + }, + "position": { + "height": 2, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.15" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick3" + }, + "position": { + "height": 2, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.20" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick4" + }, + "position": { + "height": 2, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.30" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick5" + }, + "position": { + "height": 2, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.35" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick6" + }, + "position": { + "height": 2, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.40" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick7" + }, + "position": { + "height": 2, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.45" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick8" + }, + "position": { + "height": 2, + "width": 1, + "y": 0.00481 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.55" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick9" + }, + "position": { + "height": 2, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.60" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick10" + }, + "position": { + "height": 2, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.65" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick11" + }, + "position": { + "height": 2, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.70" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick12" + }, + "position": { + "height": 2, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.80" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick13" + }, + "position": { + "height": 2, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.85" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick14" + }, + "position": { + "height": 2, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.90" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick15" + }, + "position": { + "height": 2, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.95" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "custom": { + "length": 180 + }, + "meta": { + "name": "Scale" + }, + "position": { + "height": 8, + "width": 184, + "x": 4.5, + "y": 26.3 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "CVIndicator" + }, + "position": { + "height": 20, + "rotate": { + "angle": "90deg" + }, + "width": 20, + "y": -1.1 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_CVOut\") ||\r\ntag({view.params.tagPath} + \"/Val_CVEUMin\") ||\r\ntag({view.params.tagPath} + \"/Val_CVEUMax\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d 0\n\t\n\tVal_CVOut \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_CVOut\"])[0].value\n\tVal_CVEUMin \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_CVEUMin\"])[0].value\n\tVal_CVEUMax \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_CVEUMax\"])[0].value\n\t\n\tDisplayMin \u003d -4\n\tDisplayMax \u003d 175\n\t\n\tret_value \u003d ((DisplayMax - DisplayMin) / (Val_CVEUMax - Val_CVEUMin)) * (Val_CVOut - Val_CVEUMin) + DisplayMin\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "color": "#2A4191", + "path": "material/play_arrow" + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "CVSet" + }, + "position": { + "height": 20, + "width": 3, + "y": 14.3 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_CVOut\") ||\r\ntag({view.params.tagPath} + \"/Val_CVEUMin\") ||\r\ntag({view.params.tagPath} + \"/Val_CVEUMax\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d 0\n\t\n\tVal_CVOut \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_CVOut\"])[0].value\n\tVal_CVEUMin \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_CVEUMin\"])[0].value\n\tVal_CVEUMax \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_CVEUMax\"])[0].value\n\t\n\tDisplayMin \u003d 5\n\tDisplayMax \u003d 183\n\t\n\tret_value \u003d ((DisplayMax - DisplayMin) / (Val_CVEUMax - Val_CVEUMin)) * (Val_CVOut - Val_CVEUMin) + DisplayMin\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#3F3F3F", + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "BarGraphGroup" + }, + "position": { + "height": 36, + "width": 190, + "x": 20, + "y": 2 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GOCVBarGraph" + }, + "position": { + "height": 41, + "width": 228, + "y": 36 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "NumericDisplay", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 16, + "width": 72, + "x": 17.5, + "y": 2 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Val_CVOut\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tCfg_PVDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_DecPlcs\"] )[0].value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/Val_CVOut\"), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#2A4191", + "fontWeight": "bold", + "textAlign": "center" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "11pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Units" + }, + "position": { + "height": 14, + "width": 49, + "x": 29, + "y": 17 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_EU\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#919191", + "fontSize": "8pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "pnddValSpeedRef" + }, + "position": { + "height": 32, + "width": 107 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Clamped" + }, + "position": { + "height": 16, + "width": 16, + "x": 86.0036, + "y": 2.0036 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_Clamped\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_Clamped.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "ControlVariable" + }, + "position": { + "height": 32, + "width": 110, + "x": 60, + "y": 73 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "height": 20, + "width": 76 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.userHasBasic} \u0026\u0026 tag({view.params.tagPath} + \"/ORdy_CV\")" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_DecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_CVEUMax\"" + }, + "type": "tag" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_CVEUMin\"" + }, + "type": "tag" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/OSet_CV\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "GOOSetCV" + }, + "position": { + "height": 24, + "width": 101, + "x": 75, + "y": 120 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "InformationSection" + }, + "position": { + "height": 171, + "width": 252 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasIntlkObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Inp_IntlkOK\") || \r\ntag({view.params.tagPath} + \"/Inp_NBIntlkOK\") || \r\ntag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Nav_IntlkOK\",\n\t1: \"Nav_IntlkOKBypassed\",\n\t2: \"Nav_IntlkNonBypOK\",\n\t3: \"Nav_IntlkNotOK\"\n\t}\n\t\n\tInp_IntlkOK \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_IntlkOK\"])[0].value \t\t\t#102\n\tInp_NBIntlkOK \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_NBIntlkOK\"])[0].value\t\t#103\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\t\t\t#104\n\t\n\tif (not (Inp_NBIntlkOK)) or (not (Inp_IntlkOK or Sts_BypActive)):\n\t\tindex \u003d 3\n\telif (not (Inp_IntlkOK)):\n\t\tindex \u003d 2\n\telse:\n\t\tindex \u003d Sts_BypActive\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "paddingLeft": 4, + "paddingTop": 4 + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "P_Intlk", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "P_Intlk", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}_Intlk" + }, + "viewPath": "Plant PAX/Popups/P_Intlk/P_Intlk", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "NavButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasIntlkObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GOInterlockButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 91, + "y": 3 + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "CommandButtons" + }, + "position": { + "height": 44, + "width": 140, + "x": 197.99, + "y": 57 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 40, + "width": 140, + "x": 2.5, + "y": 2.5 + }, + "props": { + "style": { + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 112, + "x": 30.5, + "y": 6.5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Sts_eSrc\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d value\n\t\n\t# id: [image name, caption]\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t0: [\"\", \"Logic Not In Use\"],\n\t4: [\"Sts_CmdSrcHand\", \"Hand\"],\n\t8: [\"Sts_CmdSrcMaint\", \"Maintenance\"],\n\t16: [\"Sts_CmdSrcOvrd\", \"Override\"],\n\t32: [\"Sts_CmdSrcProgram\", \"Program\"],\n\t33: [\"Sts_CmdSrcProgLocked\", \"Program (locked)\"],\n\t34: [\"Sts_CmdSrcProgram\", \"Program\"],\n\t64: [\"Sts_CmdSrcOper\", \"Operator\"],\n\t65: [\"Sts_CmdSrcOperLocked\", \"Operator (locked)\"],\n\t66: [\"Sts_CmdSrcOper\", \"Operator\"],\n\t128: [\"Sts_CmdSrcOoS\", \"Maint. Out Of Service\"],\n\t129: [\"Sts_CmdSrcOoS\", \"Logic Out of Service\"],\n\t256: [\"Sts_CmdSrcExt\", \"External\"]\t\n\t}\n\t\n\ttry:\n\t\tret_value \u003d states[index][1]\n\texcept:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "CmdSrcImage" + }, + "position": { + "height": 38, + "width": 18, + "x": 8, + "y": 4 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Sts_eSrc\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d value\n\t\n\t# id: [image name, caption]\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t0: [\"\", \"Logic Not In Use\"],\n\t4: [\"Sts_CmdSrcHand\", \"Hand\"],\n\t8: [\"Sts_CmdSrcMaint\", \"Maintenance\"],\n\t16: [\"Sts_CmdSrcOvrd\", \"Override\"],\n\t32: [\"Sts_CmdSrcProgram\", \"Program\"],\n\t33: [\"Sts_CmdSrcProgLocked\", \"Program (locked)\"],\n\t34: [\"Sts_CmdSrcProgram\", \"Program\"],\n\t64: [\"Sts_CmdSrcOper\", \"Operator\"],\n\t65: [\"Sts_CmdSrcOperLocked\", \"Operator (locked)\"],\n\t66: [\"Sts_CmdSrcOper\", \"Operator\"],\n\t128: [\"Sts_CmdSrcOoS\", \"Maint. Out Of Service\"],\n\t129: [\"Sts_CmdSrcOoS\", \"Logic Out of Service\"],\n\t256: [\"Sts_CmdSrcExt\", \"External\"]\t\n\t}\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(states[index][0])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "contain" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "draggable": true, + "id": "{view.params.tagPath}_CmdSrc", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "{/root.custom.cmdSrcTitle}", + "type": "open", + "viewParams": { + "selectedTab": "0", + "tagPath": "{view.params.tagPath}/CmdSrc" + }, + "viewPath": "Plant PAX/Popups/P_CmdSrc/P_CmdSrc", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "CmdSrcNavButton" + }, + "position": { + "height": 40, + "width": 140, + "x": 2.5, + "y": 2.5 + }, + "props": { + "image": { + "style": { + "backgroundColor": "#FFFFFF00" + } + }, + "style": { + "backgroundColor": "#FFFFFF00", + "outlineStyle": "none" + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "CmdSrcNotNormal" + }, + "position": { + "height": 16, + "width": 16, + "x": 127 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/CmdSrc/Sts_Normal\"), false, true)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_CmdSrcNotNorm.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GOCmdSrcDisplayWithNav" + }, + "position": { + "height": 45, + "width": 145, + "y": 59 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Commands" + }, + "position": { + "height": 108, + "width": 340, + "y": 157 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Content2" + }, + "position": { + "height": 265, + "width": 340, + "x": 43, + "y": 35 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Home" + }, + "position": { + "height": 300, + "width": 392, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 0)", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 300, + "width": 353, + "x": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "y": 43 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 300, + "width": 392 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "AdvancedProperties" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Properties.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tblock_label \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_Label\"])[0].value\n\ttitle \u003d \"{0} - {1}\".format(block_label, \"Advanced\")\n\t\n\tparams \u003d {\u0027tagPath\u0027: self.view.params.tagPath}\n\t\n\tsystem.perspective.openPopup({self.view.params.tagPath},\u0027Plant PAX/Popups/P_AOut/P_AOut_Advanced\u0027, params, title, showCloseIcon \u003d True, resizable \u003d False)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "AdvancedPropertiesButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BadConfig" + }, + "position": { + "height": 16, + "width": 16, + "x": 22 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_Timer\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "NavButtons" + }, + "position": { + "height": 42, + "width": 127, + "x": 50, + "y": 3 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "SeparatorLine" + }, + "position": { + "height": 2, + "width": 340, + "y": 7 + }, + "props": { + "style": { + "borderColor": "#E0E0E0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "MaintBypass" + }, + "position": { + "height": 16, + "width": 16, + "x": 229, + "y": 56 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_Bypass\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_MaintByp.png" + }, + "type": "ia.display.image" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Track" + }, + "position": { + "height": 8, + "width": 32, + "x": 2, + "y": 4 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderBottomLeftRadius": "15%", + "borderBottomRightRadius": "15%", + "borderColor": "#6B6B6B", + "borderStyle": "solid", + "borderTopLeftRadius": "15%", + "borderTopRightRadius": "15%", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Fill" + }, + "position": { + "height": 8, + "width": 32, + "x": 2, + "y": 4 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_Bypass\"), false, true)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#008080", + "borderBottomLeftRadius": "15%", + "borderBottomRightRadius": "15%", + "borderColor": "#6A6A6A", + "borderStyle": "solid", + "borderTopLeftRadius": "15%", + "borderTopRightRadius": "15%", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Indicator" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Bypass\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d 0\n\t\n\tSts_SubstPV \u003d value\n\t\n\tif (Sts_SubstPV):\n\t\tret_value \u003d 20\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#F0F0F0", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#6A6A6A", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "ToggleIndicator" + }, + "position": { + "height": 16, + "width": 37, + "x": 34, + "y": 7 + }, + "type": "ia.container.coord" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/MCmd_Check\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "OffButton", + "tooltip": { + "tail": false + } + }, + "position": { + "height": 25, + "width": 50, + "x": 2, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityBypassInterlocks} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + } + }, + "props": { + "align": "start", + "justify": "start", + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "No" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/MCmd_Bypass\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "OnButton", + "tooltip": { + "tail": false + } + }, + "position": { + "height": 25, + "width": 50, + "x": 56, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityBypassInterlocks} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + } + }, + "props": { + "align": "end", + "justify": "end", + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Yes" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "ToggleControl" + }, + "position": { + "height": 28, + "width": 110, + "x": 133, + "y": 3 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 101, + "y": 7 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt" + }, + "text": "Bypass Enabled" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "BypassEnabled" + }, + "position": { + "height": 33, + "width": 243, + "y": 59 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 182, + "y": 40 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold" + }, + "text": "Interlocks" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasIntlkObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Inp_IntlkOK\") || \r\ntag({view.params.tagPath} + \"/Inp_NBIntlkOK\") || \r\ntag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Nav_IntlkOK\",\n\t1: \"Nav_IntlkOKBypassed\",\n\t2: \"Nav_IntlkNonBypOK\",\n\t3: \"Nav_IntlkNotOK\"\n\t}\n\t\n\tInp_IntlkOK \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_IntlkOK\"])[0].value \t\t\t#102\n\tInp_NBIntlkOK \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_NBIntlkOK\"])[0].value\t\t#103\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\t\t\t#104\n\t\n\tif (not (Inp_NBIntlkOK)) or (not (Inp_IntlkOK or Sts_BypActive)):\n\t\tindex \u003d 3\n\telif (not (Inp_IntlkOK)):\n\t\tindex \u003d 2\n\telse:\n\t\tindex \u003d Sts_BypActive\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "paddingLeft": 4, + "paddingTop": 4 + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "P_Intlk", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "P_Intlk", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}_Intlk" + }, + "viewPath": "Plant PAX/Popups/P_Intlk/P_Intlk", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "NavButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasIntlkObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GOInterlockButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 3 + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "InterlocksAndPermissives" + }, + "position": { + "height": 40, + "width": 47, + "x": 282, + "y": 56.5 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "IntlkAndPerm" + }, + "position": { + "height": 105, + "width": 340, + "x": 46.5, + "y": 195 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 257, + "y": 4 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "When scaled CV Out is greater than this value, the device is \"Active\"" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntry" + }, + "position": { + "height": 20, + "width": 70, + "x": 266, + "y": 10 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigLimits} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_DecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_CVEUMax\")" + }, + "type": "expr" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_CVEUMin\")" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_MaxInactiveCV\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "ndeCfgMaxClosedPos" + }, + "position": { + "height": 40, + "width": 340, + "x": 3, + "y": 29 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 257, + "y": 81 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "CV Rate of Change Limits" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 267, + "y": 4 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "\"Maximum Rate of Increase (\" + tag({view.params.tagPath} + \"/Cfg_EU\") + \"/sec)\"" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntry" + }, + "position": { + "height": 20, + "width": 70, + "x": 266, + "y": 10 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigLimits} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_DecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "pow(2, 32)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_CVRoCLimInc\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "minimum": 0 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "ndeCfgCVRoCLimInc" + }, + "position": { + "height": 40, + "width": 340, + "x": 3, + "y": 106 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 267, + "y": 4 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "\"Maximum Rate of Decrease (\" + tag({view.params.tagPath} + \"/Cfg_EU\") + \"/sec)\"" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntry" + }, + "position": { + "height": 20, + "width": 70, + "x": 266, + "y": 10 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigLimits} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_DecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "pow(2, 32)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_CVRoCLimDec\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "minimum": 0 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "ndeCfgCVRoCLimDec" + }, + "position": { + "height": 40, + "width": 340, + "x": 3, + "y": 143 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "PageMaintenance1" + }, + "position": { + "height": 195, + "width": 345, + "x": 42, + "y": 26 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Maintenance" + }, + "position": { + "height": 300, + "width": 392, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d 1", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 300, + "width": 353, + "x": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "y": 83 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 300, + "width": 392 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d image_path.format(states[SrcQ_IO][0])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 330, + "x": 20 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][1]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.textStyle.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][3]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][2]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "CommStatus" + }, + "position": { + "height": 20, + "width": 350, + "y": 275 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\t\n\tSrcQ_IO \u003d value\n\t\n\tif (SrcQ_IO \u003e\u003d 8):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][3]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 180.99999999999997 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold" + }, + "text": "Device Not Ready Reasons" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFaceDisabled" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_Reset_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "InactiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_Reset.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_Reset\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{view.params.userHasBasic} \u0026\u0026 {view.params.securityOperateEquipment} \u0026\u0026 tag({view.params.tagPath} + \"/ORdy_Reset\") \u0026\u0026 tag({view.params.tagPath} + \"/Sts_NotRdy\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GO_ResetButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 293.019, + "y": 1 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.parameterName})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tif (value):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 317, + "x": 21 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "parameterName": "NRdy_OoS" + }, + "meta": { + "name": "GONotRdy_OoS" + }, + "position": { + "height": 17, + "width": 340, + "x": -0.01953125, + "y": 20.99609375 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.parameterName})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tif (value):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 317, + "x": 21 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "parameterName": "NRdy_CfgErr" + }, + "meta": { + "name": "GONotRdy_CfgErr" + }, + "position": { + "height": 17, + "width": 340, + "x": -0.0195313, + "y": 40.9961 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.parameterName})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tif (value):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 317, + "x": 21 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "parameterName": "NRdy_Intlk" + }, + "meta": { + "name": "GONotRdy_Intlk" + }, + "position": { + "height": 17, + "width": 340, + "x": -0.0195313, + "y": 60.9961 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.parameterName})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tif (value):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 317, + "x": 21 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "parameterName": "NRdy_IOFault" + }, + "meta": { + "name": "GONotRdy_IOFault" + }, + "position": { + "height": 17, + "width": 340, + "x": -0.0195313, + "y": 80.996 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "NotRdyHeader_0" + }, + "position": { + "height": 16, + "width": 334, + "x": 2.02, + "y": 100 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontStyle": "italic", + "fontWeight": "normal" + }, + "text": "* A reset is required to clear this condition" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "NotReadyReasons" + }, + "position": { + "height": 178, + "width": 340, + "x": 6 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "DiagnosticsContent" + }, + "position": { + "height": 295, + "width": 350, + "x": 40.9936, + "y": 0.00000190735 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Diagnostics" + }, + "position": { + "height": 300, + "width": 392, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d 2", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 300, + "width": 353, + "x": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "y": 123 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 300, + "width": 392 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ResetAckAll" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_AlmAckAllReset_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "DisabledAckResetButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 300 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ResetAckAll" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_AlmAckAllReset.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_ResetAckAll\", 1)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveAckResetButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 300 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/ORdy_ResetAckAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tORdy_ResetAckAll \u003d value\n\tVal_UnackAlmC \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_UnackAlmC\"])[0].value\n\t\n\tif (self.view.params.userHasBasic) and (ORdy_ResetAckAll):\n\t\tret_value \u003d True \n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "GO_AlarmDisplay_IOFault" + }, + "position": { + "height": 34, + "width": 291 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "alarmName": "IOFault" + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Alarm Objects/GO_AlarmDisplay" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_AlarmDisplay_IntlkTrip" + }, + "position": { + "height": 34, + "width": 291, + "y": 37 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "alarmName": "IntlkTrip" + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Alarm Objects/GO_AlarmDisplay" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Alarms" + }, + "position": { + "height": 145, + "width": 291 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "AlarmContent" + }, + "position": { + "height": 145, + "width": 340, + "x": 43, + "y": 5 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Alarm" + }, + "position": { + "height": 300, + "width": 392, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d 3", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 300, + "width": 353, + "x": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "y": 253 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 300, + "width": 392 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 108, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "caption": "P_AOut", + "label": "Popup Name:" + }, + "meta": { + "name": "PopupID" + }, + "position": { + "height": 18, + "width": 255, + "x": 125, + "y": 206 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 108, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "PlantPAX Version:" + }, + "meta": { + "name": "PlantPAX Version" + }, + "position": { + "height": 18, + "width": 255, + "x": 125, + "y": 229 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/version\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 108, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "UDT Version:" + }, + "meta": { + "name": "UDTVersion" + }, + "position": { + "height": 18, + "width": 255, + "x": 125, + "y": 252 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Prime Version\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 108, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "Popup Version:" + }, + "meta": { + "name": "PopupVersion" + }, + "position": { + "height": 18, + "width": 255, + "x": 125, + "y": 275 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "path": "view.custom.popupVersion" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Version" + }, + "position": { + "height": 300, + "width": 392, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d -1", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "AlarmPolygon" + }, + "position": { + "height": 39, + "width": 39, + "y": 117 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\tret_value \u003d ret_value and (self.view.params.selectedTab !\u003d 3)\t# Show it only if active tab different than alarm tab \n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d value\n\t\n\tcolors \u003d [\"\",\n\t\"#FFFFFF\",\n\t\"#916AAD\",\n\t\"#916AAD\",\n\t\"#F5DF1B\",\n\t\"#F5DF1B\",\n\t\"#EC8729\",\n\t\"#EC8729\",\n\t\"#E22028\",\n\t\"#E22028\",\n\t\"\"]\n\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d colors[Val_NotifyAll]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "borderBottomStyle": "solid", + "borderBottomWidth": 2, + "borderLeftStyle": "solid", + "borderLeftWidth": 2, + "borderRightStyle": "none", + "borderTopStyle": "solid", + "borderTopWidth": 2 + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonHome" + }, + "position": { + "height": 35, + "width": 35, + "x": 2 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Home.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 1" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonMaintenance" + }, + "position": { + "height": 35, + "width": 35, + "x": 2, + "y": 40 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Maint.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 2" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonDiagnostics" + }, + "position": { + "height": 35, + "width": 35, + "x": 2, + "y": 80 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Diag.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 3" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonAlarm" + }, + "position": { + "height": 35, + "width": 35, + "x": 2, + "y": 120 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Alm.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d -1" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonHelp" + }, + "position": { + "height": 32, + "rotate": { + "angle": "180deg" + }, + "width": 32, + "x": 2, + "y": 250 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Faults.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "MaintBypass" + }, + "position": { + "height": 16, + "width": 16, + "y": 37 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Bypass\")" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_MaintByp.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "AlarmInh" + }, + "position": { + "height": 16, + "width": 16, + "y": 116.99519348144531 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_AlmInh\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Alm_Inhibit.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 23, + "y": 37 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_Limit\") || tag({view.params.tagPath} + \"/Err_EU\") || tag({view.params.tagPath} + \"/Err_Raw\")" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "BadConfigAlarm" + }, + "position": { + "height": 16, + "width": 16, + "x": 23, + "y": 118 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Err_Alarm\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotReady" + }, + "position": { + "height": 16, + "width": 16, + "y": 99 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_NotRdy\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_NotReady.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupTabButtons" + }, + "position": { + "height": 287, + "width": 39, + "x": 3, + "y": 5 + }, + "type": "ia.container.coord" + } + ], + "events": { + "system": { + "onStartup": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "propConfig": { + "custom.cmdSrcTitle": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_Tag\") + \" - \" + tag({view.params.tagPath}+\"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_AOut/P_AOut_Advanced/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_AOut/P_AOut_Advanced/resource.json new file mode 100644 index 0000000..c248894 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_AOut/P_AOut_Advanced/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "ae64e33e90b1eeb63e540edd6a04d9a55d5d52b296e0fb6b36541c8f24194593", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_AOut/P_AOut_Advanced/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_AOut/P_AOut_Advanced/thumbnail.png new file mode 100644 index 0000000..a115037 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_AOut/P_AOut_Advanced/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_AOut/P_AOut_Advanced/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_AOut/P_AOut_Advanced/view.json new file mode 100644 index 0000000..db282c1 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_AOut/P_AOut_Advanced/view.json @@ -0,0 +1,4975 @@ +{ + "custom": { + "popupVersion": " 1.0 " + }, + "params": { + "securityDeviceConfigBehavior": true, + "securityDeviceConfigHMI": true, + "securityDeviceConfigLimits": true, + "securityDeviceConfigTimers": true, + "securityEnableSimulation": true, + "securityEnterOperSettings": true, + "securityOverrideInputs": true, + "selectedTab": 0, + "tagPath": "[default]Test_Tags/SC_01", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "custom.popupVersion": { + "persistent": true + }, + "params.securityDeviceConfigBehavior": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigBehavior\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityDeviceConfigHMI": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigHMI\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityDeviceConfigLimits": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigLimits\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityDeviceConfigTimers": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigTimers\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityEnableSimulation": { + "binding": { + "config": { + "expression": "\"securityEnableSimulation\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityEnterOperSettings": { + "binding": { + "config": { + "expression": "\"securityBypassFeedback\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityOverrideInputs": { + "binding": { + "config": { + "expression": "\"securityOverrideInputs\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.selectedTab": { + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 442, + "width": 350 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Tab1" + }, + "position": { + "height": 39, + "width": 37 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab2" + }, + "position": { + "height": 39, + "width": 37, + "x": 40 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab3" + }, + "position": { + "height": 39, + "width": 37, + "x": 80 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "InactiveTabs" + }, + "position": { + "height": 39, + "width": 117, + "x": 4, + "y": 4 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 403, + "width": 350, + "y": 42 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab" + }, + "position": { + "height": 39, + "width": 40, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 442, + "width": 350 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "LineHor15" + }, + "position": { + "height": 1, + "width": 50, + "x": 199.01, + "y": 72.5074 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor14" + }, + "position": { + "height": 1, + "width": 50, + "x": 191.007, + "y": 93.5 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineVer7" + }, + "position": { + "height": 23, + "width": 1, + "x": 190.00745391845703, + "y": 71.5 + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px", + "borderRightStyle": "none", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineVer6" + }, + "position": { + "height": 32, + "width": 1, + "x": 190.01, + "y": 24.5074 + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px", + "borderRightStyle": "none", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor13" + }, + "position": { + "height": 1, + "width": 50, + "x": 191.01041412353516, + "y": 24.507434844970703 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor16" + }, + "position": { + "height": 1, + "width": 47, + "x": 214.01, + "y": 43.51 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasExt\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineVer8" + }, + "position": { + "height": 32, + "rotate": { + "angle": "45deg" + }, + "width": 1, + "x": 202.01, + "y": 38.5074 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasExt\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px", + "borderRightStyle": "none", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor2" + }, + "position": { + "height": -6, + "width": 35.999999999999986, + "x": 102.01, + "y": 88.5 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor0" + }, + "position": { + "height": 1, + "width": 50, + "x": 137.01, + "y": 67.5 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineVer0" + }, + "position": { + "height": 270, + "width": 1, + "x": 137.01, + "y": 67.5 + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px", + "borderRightStyle": "none", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor1" + }, + "position": { + "height": 1, + "width": 80, + "x": 137.01, + "y": 337.5 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineVer1" + }, + "position": { + "height": 30, + "width": 0, + "x": 102.01, + "y": 74 + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px", + "borderRightStyle": "none", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor3" + }, + "position": { + "height": 1, + "width": 36, + "x": 67.0104, + "y": 73.5 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor4" + }, + "position": { + "height": 1, + "width": 36, + "x": 67.0104, + "y": 103.5 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineVer2" + }, + "position": { + "height": 54, + "width": 1, + "x": 167.01, + "y": 67.5 + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px", + "borderRightStyle": "none", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor5" + }, + "position": { + "height": 1, + "width": 18, + "x": 150.0104160308838, + "y": 121.5 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor6" + }, + "position": { + "height": 1, + "width": 151, + "x": 150.0104160308838, + "y": 165.5 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor7" + }, + "position": { + "height": 1, + "width": 162, + "x": 138.01, + "y": 253.5 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineVer3" + }, + "position": { + "height": 88, + "width": 1, + "x": 300.01, + "y": 166.5 + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px", + "borderRightStyle": "none", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor8" + }, + "position": { + "height": 1, + "width": 53, + "x": 150.01041412353516, + "y": 206.51 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineVer4" + }, + "position": { + "height": 44, + "width": -2, + "x": 178.01, + "y": 163.51 + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px", + "borderRightStyle": "none", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor9" + }, + "position": { + "height": 1, + "width": 36, + "x": 102.0089340209961, + "y": 276.4970245361328 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineVer5" + }, + "position": { + "height": 30, + "width": 70.99702453613281, + "x": 102.0089340209961, + "y": 261.4970245361328 + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px", + "borderRightStyle": "none", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor10" + }, + "position": { + "height": 1, + "width": 36, + "x": 67.0089340209961, + "y": 260.4970245361328 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor11" + }, + "position": { + "height": 1, + "width": 36, + "x": 67.0089340209961, + "y": 290.4970245361328 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image_11" + }, + "position": { + "height": 21, + "width": 33, + "x": 121.01041412353516, + "y": 266.5074348449707 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_RateLimiter.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 17, + "width": 16, + "x": 299, + "y": 12.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "!(tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasMaint\") \u0026\u0026 (tag({view.params.tagPath} + \"/Sts_Maint\") || (!tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasOper\") \u0026\u0026 !tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasOperLocked\"))))" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_CmdSrcOper.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_0" + }, + "position": { + "height": 17, + "width": 16, + "x": 299, + "y": 12.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "(tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasMaint\") \u0026\u0026 (tag({view.params.tagPath} + \"/Sts_Maint\") || (!tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasOper\") \u0026\u0026 !tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasOperLocked\"))))" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_CmdSrcMaint.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_1" + }, + "position": { + "height": 18, + "width": 16, + "x": 298.01, + "y": 35.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasExt\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_CmdSrcExt.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_2" + }, + "position": { + "height": 18, + "width": 16, + "x": 298.0104160308838, + "y": 59.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_CmdSrcProgram.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_3" + }, + "position": { + "height": 18, + "width": 16, + "x": 298.0104160308838, + "y": 83.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_CmdSrcOvrd.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_4" + }, + "position": { + "height": 27, + "width": 27, + "x": 177.01, + "y": 53.48958969116211 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_Transfer.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_5" + }, + "position": { + "height": 27, + "width": 27, + "x": 123.01, + "y": 107.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_Transfer.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_6" + }, + "position": { + "height": 27, + "width": 27, + "x": 123.01, + "y": 151.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_Transfer.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_7" + }, + "position": { + "height": 27, + "width": 27, + "x": 164.01, + "y": 151.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_Transfer.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_8" + }, + "position": { + "height": 27, + "width": 27, + "x": 123.01, + "y": 192.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_Transfer.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_9" + }, + "position": { + "height": 27, + "width": 27, + "x": 123.01041603088379, + "y": 296.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_Transfer.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_10" + }, + "position": { + "height": 21, + "width": 33, + "x": 121.01, + "y": 77.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_HiLoLimiter.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "LineHor12" + }, + "position": { + "height": -2, + "rotate": { + "angle": "-45deg" + }, + "width": 25, + "x": 182.01, + "y": 148.51 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "dashed", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "LinesAndImages" + }, + "position": { + "height": 389, + "width": 341, + "x": 1, + "y": 2.5 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "CVLimits" + }, + "position": { + "height": 16, + "width": 89, + "x": 16.5, + "y": 49 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "center" + }, + "text": "CV Limits" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "ErrOutline" + }, + "position": { + "height": 55, + "width": 73, + "x": 1, + "y": 2.5 + }, + "props": { + "style": { + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "2px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 71, + "y": 1.5 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "ndeErr_1" + }, + "position": { + "height": 61, + "width": 89, + "x": 24, + "y": 60 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_Limit\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "CVMax" + }, + "position": { + "height": 20, + "width": 70, + "x": 26, + "y": 67 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigLimits} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_DecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_MaxCV\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": -4294967296 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "CVMin" + }, + "position": { + "height": 20, + "width": 70, + "x": 26, + "y": 93 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigLimits} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_DecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_MinCV\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": -4294967296 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "RateOfChange" + }, + "position": { + "height": 16, + "width": 89, + "x": 16.493057250976562, + "y": 236.99305725097656 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "center" + }, + "text": "Rate of Change" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "RateOfChangeInc" + }, + "position": { + "height": 20, + "width": 70, + "x": 25.493057250976562, + "y": 254.99305725097656 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigLimits} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_DecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_CVRoCLimInc\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": -4294967296 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "RateOfChangeDec" + }, + "position": { + "height": 20, + "width": 70, + "x": 25.493057250976562, + "y": 280.99305725097656 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigLimits} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_DecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_CVRoCLimDec\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": -4294967296 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "RateOfChange_0" + }, + "position": { + "height": 16, + "width": 89, + "x": 214.5, + "y": 316 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "center" + }, + "text": "CV Out" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Clamp" + }, + "position": { + "height": 17, + "width": 17, + "x": 68, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tindex \u003d 0 \n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"\",\n\t1: \"Sts_Simulated\",\n\t2: \"Sts_CommUncertain\",\n\t3: \"Sts_CommBad\",\n\t}\n\t\n\tSrcQ3 \u003d ((value \u0026 (2**3)) \u003d\u003d (2**3))\n\tSrcQ4 \u003d ((value \u0026 (2**4)) \u003d\u003d (2**4))\n\tSrcQ5 \u003d ((value \u0026 (2**5)) \u003d\u003d (2**5))\n\t\n\tif (SrcQ5):\n\t\tindex \u003d 3 \n\telif (SrcQ4):\n\t\tindex \u003d 2\n\telif (SrcQ3):\n\t\tindex \u003d 1\n\t\n\tif (index \u003e 0):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0 \n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"\",\n\t1: \"Sts_Simulated\",\n\t2: \"Sts_CommUncertain\",\n\t3: \"Sts_CommBad\",\n\t}\n\t\n\tSrcQ3 \u003d ((value \u0026 (2**3)) \u003d\u003d (2**3))\n\tSrcQ4 \u003d ((value \u0026 (2**4)) \u003d\u003d (2**4))\n\tSrcQ5 \u003d ((value \u0026 (2**5)) \u003d\u003d (2**5))\n\t\n\tif (SrcQ5):\n\t\tindex \u003d 3 \n\telif (SrcQ4):\n\t\tindex \u003d 2\n\telif (SrcQ3):\n\t\tindex \u003d 1\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "GO_ControlVariable" + }, + "position": { + "height": 38, + "width": 88, + "x": 214.009, + "y": 328 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_ControlVariable" + }, + "type": "ia.display.view" + }, + { + "custom": { + "parameter": "Val_CVOut" + }, + "meta": { + "name": "Target" + }, + "position": { + "height": 20, + "width": 70, + "x": 203, + "y": 246.988 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/\" + {this.custom.parameter})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_DecPlcs\"] )[0].value\n\t\n\tif (DecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/\" + {this.custom.parameter}), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#475CA7", + "fontSize": "10pt", + "paddingRight": "3px", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "RateOfChange_1" + }, + "position": { + "height": 16, + "width": 89, + "x": 193.5, + "y": 229 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "center" + }, + "text": "Target" + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameter": "Inp_Tieback" + }, + "meta": { + "name": "Tieback" + }, + "position": { + "height": 20, + "width": 70, + "x": 28.498271942138672, + "y": 183.99307250976562 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/\" + {this.custom.parameter})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_DecPlcs\"] )[0].value\n\t\n\tif (DecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/\" + {this.custom.parameter}), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#475CA7", + "fontSize": "10pt", + "paddingRight": "3px", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "RateOfChange_2" + }, + "position": { + "height": 16, + "width": 89, + "x": 18.498271942138672, + "y": 165.99307250976562 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "center" + }, + "text": "Tieback" + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameter": "Inp_OvrdCV" + }, + "meta": { + "name": "OvrdCV" + }, + "position": { + "height": 20, + "width": 70, + "x": 225.0086784362793, + "y": 85 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/\" + {this.custom.parameter})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_DecPlcs\"] )[0].value\n\t\n\tif (DecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/\" + {this.custom.parameter}), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#475CA7", + "fontSize": "10pt", + "paddingRight": "3px", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameter": "PSet_CV" + }, + "meta": { + "name": "ProgCV" + }, + "position": { + "height": 20, + "width": 70, + "x": 225.0086784362793, + "y": 61 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/\" + {this.custom.parameter})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_DecPlcs\"] )[0].value\n\t\n\tif (DecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/\" + {this.custom.parameter}), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#475CA7", + "fontSize": "10pt", + "paddingRight": "3px", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameter": "XSet_CV" + }, + "meta": { + "name": "ExtSrcCV" + }, + "position": { + "height": 20, + "width": 70, + "x": 225, + "y": 37 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasExt\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/\" + {this.custom.parameter})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_DecPlcs\"] )[0].value\n\t\n\tif (DecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/\" + {this.custom.parameter}), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#475CA7", + "fontSize": "10pt", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "RateOfChangeInc_0" + }, + "position": { + "height": 20, + "width": 70, + "x": 203.471, + "y": 199.979 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_DecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_IntlkCV\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": -4294967296 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "RateOfChange_3" + }, + "position": { + "height": 16, + "width": 89, + "x": 194.009, + "y": 181 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "center" + }, + "text": "Interlock CV" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "GO_OSet_CV" + }, + "position": { + "height": 20, + "width": 70, + "x": 225, + "y": 14 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "({view.params.securityEnterOperSettings} \u0026\u0026 !({view.params.securityOverrideInputs} \u0026\u0026 tag({view.params.tagPath} + \"/MRdy_Rel\"))) ||\r\n({view.params.securityOverrideInputs} \u0026\u0026 tag({view.params.tagPath} + \"/MRdy_Rel\")) \u0026\u0026\r\ntag({view.params.tagPath} + \"/ORdy_CV\") \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_DecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_MaxCV\")" + }, + "type": "expr" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_MinCV\")" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/OSet_CV\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_ShedHold\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 13 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label_3" + }, + "position": { + "height": 32, + "width": 102, + "x": 25, + "y": 5 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Hold last good\nvalue" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_ShedHold\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_ShedHold\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 32, + "width": 119, + "x": 1, + "y": 6 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "HoldLastGoodValue" + }, + "position": { + "height": 43, + "width": 127.99999999999999, + "x": 201.01, + "y": 119.00999999999999 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GroupDiagram" + }, + "position": { + "height": 394, + "width": 343, + "x": 2, + "y": 45 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Maintenance" + }, + "position": { + "height": 442, + "width": 350, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 0)", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 403, + "width": 350, + "y": 42 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab" + }, + "position": { + "height": 39, + "width": 40, + "x": 39, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 442, + "width": 350 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line5" + }, + "position": { + "height": 90, + "width": 3, + "x": 178.505, + "y": 44.0069 + }, + "props": { + "style": { + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Icon_3" + }, + "position": { + "height": 13, + "rotate": { + "angle": "-90deg" + }, + "width": 30, + "x": 146, + "y": 85.5 + }, + "props": { + "path": "material/keyboard_arrow_down" + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "Line4" + }, + "position": { + "height": 60, + "rotate": { + "angle": "90deg" + }, + "width": 3, + "x": 176.966, + "y": 63.014 + }, + "props": { + "style": { + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 21, + "width": 33, + "x": 164, + "y": 81 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_TimeFunction.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Icon_4" + }, + "position": { + "height": 13, + "rotate": { + "angle": "+90deg" + }, + "width": 30, + "x": 184, + "y": 85.5 + }, + "props": { + "path": "material/keyboard_arrow_down" + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "Icon_5" + }, + "position": { + "height": 13, + "rotate": { + "angle": 0 + }, + "width": 30, + "x": 164, + "y": 73.0069 + }, + "props": { + "path": "material/keyboard_arrow_down" + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "Icon_6" + }, + "position": { + "height": 13, + "rotate": { + "angle": 0 + }, + "width": 30, + "x": 164, + "y": 125.007 + }, + "props": { + "path": "material/keyboard_arrow_down" + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "Lines" + }, + "position": { + "height": 138, + "width": 340 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 209, + "y": 5 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold" + }, + "text": "Controlled Variable Scaling" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "ErrOutline" + }, + "position": { + "height": 55, + "width": 73, + "x": 1, + "y": 2.5 + }, + "props": { + "style": { + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "2px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 71, + "y": 1.5 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "ndeErr" + }, + "position": { + "height": 61, + "width": 89, + "x": 74, + "y": 61 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_EU\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ErrOutline" + }, + "position": { + "height": 55, + "width": 73, + "x": 1, + "y": 2.5 + }, + "props": { + "style": { + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "2px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 71, + "y": 1.5 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "ndeErr_0" + }, + "position": { + "height": 61, + "width": 89, + "x": 210.5, + "y": 61 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_Raw\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "InputLabel" + }, + "position": { + "height": 16, + "width": 89, + "x": 66.5, + "y": 47 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "center", + "textDecoration": "underline" + }, + "text": "Scaled" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "ScaledLabel" + }, + "position": { + "height": 16, + "width": 89, + "x": 203.5, + "y": 47 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "center", + "textDecoration": "underline" + }, + "text": "Output" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "MaximumLabel" + }, + "position": { + "height": 16, + "width": 75, + "x": 10, + "y": 26 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + }, + "text": "Output CV" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "MaximumLabel_0" + }, + "position": { + "height": 15.999999999999986, + "width": 111, + "x": 10.51, + "y": 134.01 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + }, + "text": "Raw Output CV" + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameter": "Val_CVOut" + }, + "meta": { + "name": "Tieback" + }, + "position": { + "height": 20, + "width": 70, + "x": 143.498, + "y": 23.993 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/\" + {this.custom.parameter})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_DecPlcs\"] )[0].value\n\t\n\tif (DecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/\" + {this.custom.parameter}), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#475CA7", + "fontSize": "10pt", + "paddingRight": "3px", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "GO_Cfg_EU" + }, + "position": { + "height": 20, + "width": 70, + "x": 216.505, + "y": 24.0069 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigHMI": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_EU" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Cfg_CVEUMax" + }, + "position": { + "height": 20, + "width": 70, + "x": 76, + "y": 65 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "2" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_CVEUMax\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": -4294967296 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Cfg_CVEUMin" + }, + "position": { + "height": 20, + "width": 70, + "x": 76, + "y": 97 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "2" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_CVEUMin\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": -4294967296 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "MaxPV" + }, + "position": { + "height": 20, + "width": 70, + "x": 212.5, + "y": 65 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "2" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_CVRawMax\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": -4294967296 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "MinPV" + }, + "position": { + "height": 20, + "width": 70, + "x": 212.5, + "y": 97 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "2" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_CVRawMin\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": -4294967296 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "custom": { + "parameter": "Out_CV" + }, + "meta": { + "name": "Tieback_0" + }, + "position": { + "height": 20, + "width": 70, + "x": 143.505, + "y": 133.007 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/\" + {this.custom.parameter})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_DecPlcs\"] )[0].value\n\t\n\tif (DecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/\" + {this.custom.parameter}), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#475CA7", + "fontSize": "10pt", + "paddingRight": "3px", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "ControlValueScaling" + }, + "position": { + "height": 158, + "width": 344, + "y": 3 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "GO_Cfg_SetTrack" + }, + "position": { + "height": 32, + "width": 340, + "y": 0.008699999999999264 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_SetTrack" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_SetTrackOvrdHand" + }, + "position": { + "height": 32, + "width": 340, + "y": 37 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_SetTrackOvrdHand", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_OvrdIntlk" + }, + "position": { + "height": 32, + "width": 340, + "y": 74 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_OvrdIntlk", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_SkipRoCLim\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 306, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Bumpless transition from Override/Hand to\nProgram/Operator" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_SkipRoCLim\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_SkipRoCLim\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "cb_Cfg_SkipRoCLim" + }, + "position": { + "height": 33, + "width": 340, + "y": 111 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "CheckBoxes" + }, + "position": { + "height": 147, + "width": 340, + "x": 2.5, + "y": 179.0017318725586 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "PageEngineering1" + }, + "position": { + "height": 334, + "width": 345, + "x": 2.5, + "y": 46 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{parent.custom.pageTabSelected}" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 0) or (value !\u003d 1)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label0" + }, + "position": { + "height": 16, + "width": 89, + "x": 6.5, + "y": 9 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Shed Triggers:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "GO_Cfg_ShedOnIOFault" + }, + "position": { + "height": 32, + "width": 280, + "x": 12.5, + "y": 29.0017 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnIOFault" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_ShedOnInterlockTrip" + }, + "position": { + "height": 32, + "width": 280, + "x": 12.5, + "y": 58.0017 + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "tagPath": "[default]Test_Tags/SC_01", + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnInterlockTrip" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label1" + }, + "position": { + "height": 16, + "width": 89, + "x": 7.505207061767578, + "y": 100.0017318725586 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Shed Action:" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 0 + }, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_ShedHold\"), false, true)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 9.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 195, + "x": 25, + "y": 1.5 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Use Set Value" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_ShedHold\", False)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 195, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Cfg_ShedHold_Off" + }, + "position": { + "height": 35, + "width": 337, + "y": 3 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 0 + }, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_ShedHold\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 9.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 195, + "x": 25, + "y": 1.5 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Hold Last Good Value" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_ShedHold\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 195, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Cfg_ShedHold_On" + }, + "position": { + "height": 35, + "width": 337, + "y": 31 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Cfg_ShedHold" + }, + "position": { + "height": 78, + "width": 340, + "x": 2, + "y": 115 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "RateOfChangeInc_0" + }, + "position": { + "height": 20, + "width": 70, + "x": 208.471, + "y": 125.979 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigLimits} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_DecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_IntlkCV\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": -4294967296 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "PageEngineering2" + }, + "position": { + "height": 334, + "width": 345, + "x": 2.5, + "y": 46 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{parent.custom.pageTabSelected}" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 1)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageTabSelected \u003d self.parent.custom.pageTabSelected\n\tmaxNumberOfTabs \u003d self.parent.custom.maxNumberOfTabs - 1\n\t\n\tnewTab \u003d pageTabSelected - 1\n\t\n\tif (newTab \u003e\u003d 0):\n\t\tself.parent.custom.pageTabSelected \u003d newTab" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "PrevButton" + }, + "position": { + "height": 36, + "width": 30 + }, + "props": { + "fit": { + "mode": "contain" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Prev.png", + "style": { + "curor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 20, + "x": 3, + "y": 8 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if({parent.custom.currentTabNumber} \u003d {parent.custom.tabNumber}, \"#A3A3A3FF\", \"#A3A3A300\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.tabNumber} + 1" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 1, + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "tabNumber": 0 + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.currentTabNumber \u003d self.custom.tabNumber" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Page1Button" + }, + "position": { + "height": 36, + "width": 26, + "x": 28 + }, + "propConfig": { + "custom.currentTabNumber": { + "binding": { + "config": { + "bidirectional": true, + "path": "parent.custom.pageTabSelected" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 20, + "x": 3, + "y": 8 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if({parent.custom.currentTabNumber} \u003d {parent.custom.tabNumber}, \"#A3A3A3FF\", \"#A3A3A300\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.tabNumber} + 1" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 1, + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "tabNumber": 1 + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.currentTabNumber \u003d self.custom.tabNumber" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Page2Button" + }, + "position": { + "height": 36, + "width": 26, + "x": 58 + }, + "propConfig": { + "custom.currentTabNumber": { + "binding": { + "config": { + "bidirectional": true, + "path": "parent.custom.pageTabSelected" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageTabSelected \u003d self.parent.custom.pageTabSelected\n\tmaxNumberOfTabs \u003d self.parent.custom.maxNumberOfTabs - 1\n\t\n\tnewTab \u003d pageTabSelected + 1\n\t\n\tif (newTab \u003c\u003d maxNumberOfTabs):\n\t\tself.parent.custom.pageTabSelected \u003d newTab" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "NextButton" + }, + "position": { + "height": 36, + "width": 30, + "x": 82 + }, + "props": { + "fit": { + "mode": "contain" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Next.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + } + ], + "custom": { + "maintenanceTabSelected": 0, + "maxNumberOfTabs": 2 + }, + "meta": { + "name": "MaintenancePageButtons" + }, + "position": { + "height": 36, + "width": 112, + "x": 112.5, + "y": 393 + }, + "propConfig": { + "custom.pageTabSelected": { + "binding": { + "config": { + "bidirectional": true, + "path": "parent.custom.pageTabSelected" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 18, + "width": 16, + "x": 150.005, + "y": 389 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_EU\") || tag({view.params.tagPath} + \"/Err_Raw\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "custom": { + "maintenanceTabSelected": null, + "pageTabSelected": 0 + }, + "meta": { + "name": "TabPage_Engineering" + }, + "position": { + "height": 442, + "width": 350, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d 1", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 402, + "width": 350, + "y": 42 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "x": 80, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 442, + "width": 350 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "GO_Desc_Label_Tag" + }, + "position": { + "height": 68.00000000000001, + "width": 340, + "x": 5, + "y": 3.99 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigHMI": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Desc_Label_Tag" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_Area" + }, + "position": { + "height": 20, + "width": 340, + "x": 5, + "y": 70.987 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityConfigSecurity": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_Area" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TextConfig" + }, + "position": { + "height": 200, + "width": 350, + "y": 47 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "GO_CVDecimalPlaces" + }, + "position": { + "height": 32, + "width": 340, + "x": 5, + "y": 7.006900000000002 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "parameterName": "Cfg_DecPlcs", + "securityDeviceConfigHMI": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_CVDecimalPlaces" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "HMIConfig" + }, + "position": { + "height": 275, + "width": 350, + "y": 164 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_HMI" + }, + "position": { + "height": 442, + "width": 350, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d 2", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 403, + "width": 350, + "y": 42 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab" + }, + "position": { + "height": 39, + "width": 40, + "x": 306, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 442, + "width": 350 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 145, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "caption": "P_AOut_Advanced", + "label": "Popup Name:" + }, + "meta": { + "name": "PopupID" + }, + "position": { + "height": 18, + "width": 292, + "x": 48, + "y": 346 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 145, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "PlantPAX Version:" + }, + "meta": { + "name": "PlantPAX Version" + }, + "position": { + "height": 18, + "width": 292, + "x": 48, + "y": 369 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/version\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 145, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "UDT Version:" + }, + "meta": { + "name": "UDTVersion" + }, + "position": { + "height": 18, + "width": 292, + "x": 48, + "y": 392 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Prime Version\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 145, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "Popup Version:" + }, + "meta": { + "name": "PopupVersion" + }, + "position": { + "height": 18, + "width": 292, + "x": 48, + "y": 415 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "path": "view.custom.popupVersion" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Version" + }, + "position": { + "height": 442, + "width": 350, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d -1", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonMaintenance" + }, + "position": { + "height": 35, + "width": 35, + "x": 2 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Maint.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 1" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonEngineering" + }, + "position": { + "height": 35, + "width": 35, + "x": 42 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Eng.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 2" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonHMI" + }, + "position": { + "height": 35, + "width": 35, + "x": 81 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_HMI.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d -1" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonHelp" + }, + "position": { + "height": 32, + "rotate": { + "angle": "180deg" + }, + "width": 32, + "x": 311 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Faults.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 23, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Err_Limit\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "BadConfigEng" + }, + "position": { + "height": 16, + "width": 16, + "x": 63, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_EU\") || tag({view.params.tagPath} + \"/Err_Raw\")" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupTabButtons" + }, + "position": { + "height": 35, + "width": 346, + "x": 3, + "y": 5 + }, + "type": "ia.container.coord" + } + ], + "events": { + "system": { + "onStartup": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 0\n\tself.getChild(\"TabPage_Engineering\").custom.pageTabSelected \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Alarm/P_Alarm/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Alarm/P_Alarm/resource.json new file mode 100644 index 0000000..f3443a0 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Alarm/P_Alarm/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "e668a6ec3e88ce5a330b866e7701136c133a9d5971aa2f9fedd466e711e0af84", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Alarm/P_Alarm/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Alarm/P_Alarm/thumbnail.png new file mode 100644 index 0000000..85ed782 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Alarm/P_Alarm/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Alarm/P_Alarm/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Alarm/P_Alarm/view.json new file mode 100644 index 0000000..0b67e02 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Alarm/P_Alarm/view.json @@ -0,0 +1,2920 @@ +{ + "custom": {}, + "params": { + "securityAlarmConfig": true, + "securityAlarmDisable": true, + "securityAlarmShelve": true, + "securityBypassFeedback": true, + "securityBypassInterlocks": true, + "securityDeviceConfigLimits": true, + "securityEnableSimulation": true, + "securityEnterOperSettings": true, + "securityOperateEquipment": true, + "securityOverrideInputs": true, + "selectedTab": 0, + "tagPath": "[default]Test_Tags/P_Ain/Fail", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "params.securityAlarmConfig": { + "binding": { + "config": { + "expression": "\"securityAlarmConfig\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityAlarmDisable": { + "binding": { + "config": { + "expression": "\"securityAlarmDisable\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityAlarmShelve": { + "binding": { + "config": { + "expression": "\"securityAlarmShelve\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityBypassFeedback": { + "binding": { + "config": { + "expression": "\"securityBypassFeedback\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityBypassInterlocks": { + "binding": { + "config": { + "expression": "\"securityBypassInterlocks\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityDeviceConfigLimits": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigLimits\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityEnableSimulation": { + "binding": { + "config": { + "expression": "\"securityEnableSimulation\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityEnterOperSettings": { + "binding": { + "config": { + "expression": "\"securityEnterOperSettings\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityOperateEquipment": { + "binding": { + "config": { + "expression": "\"securityOperateEquipment\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityOverrideInputs": { + "binding": { + "config": { + "expression": "\"securityOverrideInputs\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.selectedTab": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 225, + "width": 345 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Tab1" + }, + "position": { + "height": 37, + "width": 39 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab2" + }, + "position": { + "height": 37, + "width": 39, + "y": 40 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "InactiveTabs" + }, + "position": { + "height": 157, + "width": 40, + "x": 4, + "y": 4 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 300, + "width": 353, + "x": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 300, + "width": 392 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "masiAlarmState" + }, + "position": { + "height": 16, + "width": 336, + "x": 6, + "y": 2 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Disabled\") ||\r\ntag({view.params.tagPath} + \"/Shelved\") || \r\ntag({view.params.tagPath} + \"/Suppressed\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\tCfg_Cond \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_Cond\"])[0].value\n\t\n\tstates \u003d {\n\t0: Cfg_Cond,\n\t1: \"{0} Disabled\".format(Cfg_Cond),\n\t2: \"{0} Shelved\".format(Cfg_Cond),\n\t3: \"{0} Suppressed\".format(Cfg_Cond),\n\t}\n\t\n\tDisabled \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Disabled\"])[0].value\n\tShelved \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Shelved\"])[0].value\n\tSuppressed \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Suppressed\"])[0].value\n\t\n\tif (Disabled):\n\t\tindex \u003d 1\n\telif (Shelved):\n\t\tindex \u003d 2\n\telif (Suppressed):\n\t\tindex \u003d 3\t\n\t\n\ttry:\n\t\tret_value \u003d states[index]\n\texcept:\n\t\tret_value \u003d \"Error\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "AlarmSeverityIndicator" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_Notify\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tret_value \u003d True\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_Notify\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "AlarmText" + }, + "position": { + "height": 16, + "width": 367, + "x": 22, + "y": 2 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Cond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmPolygon" + }, + "position": { + "height": 20, + "width": 347 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_Notify\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\tret_value \u003d ret_value and (self.view.params.selectedTab !\u003d 3)\t# Show it only if active tab different than alarm tab \n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_Notify\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d value\n\t\n\tcolors \u003d [\"\",\n\t\"#FFFFFF\",\n\t\"#916AAD\",\n\t\"#916AAD\",\n\t\"#F5DF1B\",\n\t\"#F5DF1B\",\n\t\"#EC8729\",\n\t\"#EC8729\",\n\t\"#E22028\",\n\t\"#E22028\",\n\t\"\"]\n\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d colors[Val_NotifyAll]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "borderBottomStyle": "solid", + "borderBottomWidth": 2, + "borderLeftStyle": "solid", + "borderLeftWidth": 2, + "borderRightStyle": "solid", + "borderRightWidth": 2, + "borderTopStyle": "solid", + "borderTopWidth": 2, + "key": "value" + } + }, + "type": "ia.container.coord" + } + ], + "custom": { + "alarmParameterName": "FailToStop" + }, + "meta": { + "name": "AlarmNotify" + }, + "position": { + "height": 20, + "width": 402 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_Notify\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tVal_Notify \u003d value\n\tVal_UnackAlmC \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_UnackAlmC\"])[0].value\n\t\n\tif (Val_Notify \u003e 0) and ((Val_UnackAlmC \u003d\u003d 0) or ((Val_Notify \u0026 1) \u003d\u003d 1)):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "AlarmNotices" + }, + "position": { + "height": 20, + "width": 402 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "AbnormalSeparatorLine" + }, + "position": { + "height": 2, + "width": 352, + "y": 20 + }, + "props": { + "style": { + "borderColor": "#6A6A6A", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ResetAckAll" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_AlmAck_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "DisabledAckResetButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ResetAckAll" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_AlmAck.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_Ack\", 1)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveAckResetButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/ORdy_Ack\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tORdy_ResetAckAll \u003d value\n\tVal_UnackAlmC \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_UnackAlmC\"])[0].value\n\t\n\tif (self.view.params.userHasBasic) and (ORdy_ResetAckAll):\n\t\tret_value \u003d True \n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GOAckButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 254, + "y": 4 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ResetAckAll" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_Reset_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "DisabledAckResetButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ResetAckAll" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_Reset.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_Reset\", 1)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveAckResetButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/ORdy_Reset\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tORdy_ResetAckAll \u003d value\n\tVal_UnackAlmC \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_UnackAlmC\"])[0].value\n\t\n\tif (self.view.params.userHasBasic) and (ORdy_ResetAckAll):\n\t\tret_value \u003d True \n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GOResetButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 254, + "y": 48 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "AbbieNormals" + }, + "position": { + "height": 95, + "width": 421, + "x": -1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Exists\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "AlarmDoesNotExist" + }, + "position": { + "height": 48, + "width": 290, + "x": 4.5, + "y": 6 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_Exists\"), false, true)" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Cond\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"The alarm \u0027{0}\u0027 is not configured to exist for this device\".format(value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#2A4191", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "GOValStsVSD", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 20, + "width": 240 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Exists\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Alm\") ||\r\ntag({view.params.tagPath}+ \"/Ack\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\tAlm \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Alm\"])[0].value\n\tAck \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Ack\"])[0].value\n\t\n\tstates \u003d {\n\t0: \"Alarm Not Active\",\n\t1: \"Unacknowledged\",\n\t2: \"In Alarm, Unacknowledged\",\n\t3: \"In Alarm, Acknowledged\"\n\t}\n\t\n\tif (Alm and Ack):\n\t\tindex \u003d 3\n\telif (Alm):\n\t\tindex \u003d 2\n\telif (Ack):\n\t\tindex \u003d 0\n\telse:\n\t\tindex \u003d 1\n\t\t\n\tret_value \u003d states[index]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#D4D4D4", + "color": "#2A4191", + "fontSize": "11pt", + "fontWeight": "bold", + "outlineStyle": "none", + "textAlign": "Left" + }, + "textStyle": { + "classes": "States/DigitalInput/on" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Inp\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tif (value):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 127, + "x": 21 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + }, + "text": "Alarm Input Status" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "bidAlarmInputValue" + }, + "position": { + "height": 17, + "width": 150, + "y": 1 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Disabled\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Alm_Disabled\"\n\t]\n\t\n\tif (value):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 127, + "x": 21 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + }, + "text": "Alarm Disabled" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "bidAlarmDisabled" + }, + "position": { + "height": 17, + "width": 150 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Shelved\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Alm_Shelved\"\n\t]\n\t\n\tif (value):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 127, + "x": 21 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + }, + "text": "Alarm Shelved" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "bidAlarmShelved" + }, + "position": { + "height": 17, + "width": 150, + "y": 20 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Disabled\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Alm_Supp\"\n\t]\n\t\n\tif (value):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 127, + "x": 21 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + }, + "text": "Alarm Suppressed" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "bidAlarmSuppressed" + }, + "position": { + "height": 17, + "width": 150, + "y": 40 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Group" + }, + "position": { + "height": 63, + "width": 166, + "y": 30.01 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Exists\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Group" + }, + "position": { + "height": 94, + "width": 168, + "y": 22 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "InformationSection" + }, + "position": { + "height": 116, + "width": 240, + "x": 3.01, + "y": 26 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 195, + "y": 4 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_MinToUnshelve\") || tag({view.params.tagPath} + \"/Val_SecToUnshelve\")" + }, + "transforms": [ + { + "code": "\tVal_MinToUnshelve \u003d \"%02d\" % system.tag.readBlocking([self.view.params.tagPath + \"/Val_MinToUnshelve\"])[0].value\n\tVal_SecToUnshelve \u003d \"%02d\" % system.tag.readBlocking([self.view.params.tagPath + \"/Val_MinToUnshelve\"])[0].value\n\tret_value \u003d \"Remaining Shelve Time: {0}:{1}\".format(Val_MinToUnshelve, Val_SecToUnshelve)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#2A4191", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_AlmShelve_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "DisabledAckResetButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ResetAckAll" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_AlmShelve.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_Shelve\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{view.params.securityAlarmShelve} \u0026\u0026 {view.params.userHasBasic} \u0026\u0026 tag({view.params.tagPath} + \"/ORdy_Shelve\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GOShelveButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 249 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_AlmUnshelve_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "DisabledAckResetButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ResetAckAll" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_AlmUnshelve.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_Unshelve\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{view.params.securityAlarmShelve} \u0026\u0026 {view.params.userHasBasic} \u0026\u0026 tag({view.params.tagPath} + \"/ORdy_Unshelve\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GOUnshelveButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 204.00657653808594, + "y": 0.00164031982421875 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "ShelveAlarm" + }, + "position": { + "height": 40, + "width": 290, + "x": 4, + "y": 177 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Exists\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Content1" + }, + "position": { + "height": 226, + "width": 439, + "x": 44 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Home" + }, + "position": { + "height": 224, + "width": 342, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 0) or ((value !\u003d 1) and (value !\u003d 2) and (value !\u003d 3))", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 300, + "width": 353, + "x": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "y": 43 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 224, + "width": 392 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "AdvancedProperties" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Properties.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "AdvancedPropertiesButton" + }, + "position": { + "height": 40, + "width": 40, + "y": 1 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BadConfig" + }, + "position": { + "height": 16, + "width": 16, + "x": 22 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_Timer\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tblock_label \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_Cond\"])[0].value\n\ttitle \u003d \"{0} - {1}\".format(block_label, \"Advanced\")\n\t\n\tparams \u003d {\u0027tagPath\u0027: self.view.params.tagPath}\n\t\n\tsystem.perspective.openPopup({self.view.params.tagPath},\u0027Plant PAX/Popups/P_Alarm/P_Alarm_Advanced\u0027, params, title, showCloseIcon \u003d True, resizable \u003d False)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "GroupNavToAdvanced" + }, + "position": { + "height": 42, + "width": 42 + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Accum.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GORuntimeButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 47, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasRunTimeObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": "1px", + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_ResInh.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GORestartInhibitButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 92, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasResInhObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": "1px", + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "MtceNavButtons" + }, + "position": { + "height": 42, + "width": 190, + "x": 45.9974, + "y": 2 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 90 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFaceWide_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 40, + "width": 90 + }, + "props": { + "style": { + "color": "#3F3F3F47", + "fontSize": "10pt", + "textAlign": "center" + }, + "text": "Test Alarm" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "DisabledAckResetButton" + }, + "position": { + "height": 40, + "width": 90 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 90 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFaceWide_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 40, + "width": 90 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "center" + }, + "text": "Test Alarm" + }, + "type": "ia.display.label" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/MCmd_Test\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveButton" + }, + "position": { + "height": 40, + "width": 90 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{view.params.securityEnableSimulation} \u0026\u0026 {view.params.userHasBasic} \u0026\u0026 tag({view.params.tagPath} + \"/MRdy_Test\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GOAlarmTestButton" + }, + "position": { + "height": 40, + "width": 90, + "x": 189, + "y": 3 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Track" + }, + "position": { + "height": 8, + "width": 32, + "x": 2, + "y": 4 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderBottomLeftRadius": "15%", + "borderBottomRightRadius": "15%", + "borderColor": "#6B6B6B", + "borderStyle": "solid", + "borderTopLeftRadius": "15%", + "borderTopRightRadius": "15%", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Fill" + }, + "position": { + "height": 8, + "width": 32, + "x": 2, + "y": 4 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Disabled\"), false, true)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#008080", + "borderBottomLeftRadius": "15%", + "borderBottomRightRadius": "15%", + "borderColor": "#6A6A6A", + "borderStyle": "solid", + "borderTopLeftRadius": "15%", + "borderTopRightRadius": "15%", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Indicator" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Disabled\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d 0\n\t\n\tSts_SubstPV \u003d value\n\t\n\tif (Sts_SubstPV):\n\t\tret_value \u003d 20\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#F0F0F0", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#6A6A6A", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "ToggleIndicator" + }, + "position": { + "height": 16, + "width": 37, + "x": 34, + "y": 7 + }, + "type": "ia.container.coord" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/MCmd_Enable\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "OffButton", + "tooltip": { + "tail": false + } + }, + "position": { + "height": 25, + "width": 50, + "x": 2, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityAlarmDisable} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + } + }, + "props": { + "justify": "start", + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "No" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/MCmd_Disable\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "OnButton", + "tooltip": { + "tail": false + } + }, + "position": { + "height": 25, + "width": 50, + "x": 56, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityAlarmDisable} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + } + }, + "props": { + "justify": "end", + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Yes" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "ToggleControl" + }, + "position": { + "height": 28, + "width": 110, + "x": 133, + "y": 3 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 101, + "y": 7 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt" + }, + "text": "Disable Alarm" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "tgl_AlarmDisableControl" + }, + "position": { + "height": 40, + "width": 262, + "x": 46.5, + "y": 52 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "SeparatorLine" + }, + "position": { + "height": 2, + "width": 290, + "y": 7 + }, + "props": { + "style": { + "borderColor": "#E0E0E0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 182 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold" + }, + "text": "Alarm Severity" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "TitleWithSeparator" + }, + "position": { + "height": 20, + "width": 290, + "y": 9 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ndeCfgSeverity" + }, + "position": { + "height": 20, + "width": 53, + "x": 3, + "y": 4.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityAlarmConfig} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "0" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_Severity\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 1000, + "minimum": 1 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "children": [ + { + "meta": { + "name": "ErrOutline" + }, + "position": { + "height": 25, + "width": 59, + "x": 1, + "y": 2.5 + }, + "props": { + "style": { + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "2px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 56, + "y": 1.5 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "ndeErr" + }, + "position": { + "height": 29, + "width": 75 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_Severity\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "ndeCfgSeverity" + }, + "position": { + "height": 30, + "width": 78, + "y": 5 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "AlarmSeverityIndicator" + }, + "position": { + "height": 18, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Severity\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d { \n\t0: \"Alm_PriorityLo\", \n\t1: \"Alm_PriorityMed\", \n\t2: \"Alm_PriorityHi\",\n\t3: \"Alm_PriorityUrg\",\n\t}\n\t\n\tCfg_Severity \u003d value\n\n\tif (Cfg_Severity \u003e 750):\n\t\tindex \u003d 3\n\telif (Cfg_Severity \u003e 500):\n\t\tindex \u003d 2\n\telif (Cfg_Severity \u003e 250):\n\t\tindex \u003d 1\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 17, + "width": 77, + "x": 21, + "y": 0.5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Severity\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\tstates \u003d { \n\t0: \"Low\", \n\t1: \"Medium\", \n\t2: \"High\",\n\t3: \"Urgent\",\n\t}\n\t\n\tCfg_Severity \u003d value\n\n\tif (Cfg_Severity \u003e 750):\n\t\tindex \u003d 3\n\telif (Cfg_Severity \u003e 500):\n\t\tindex \u003d 2\n\telif (Cfg_Severity \u003e 250):\n\t\tindex \u003d 1\n\t\n\ttry:\n\t\tret_value \u003d states[index]\n\texcept:\n\t\tret_value \u003d \"Error\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#2A4191", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "msiSeverityIndicator" + }, + "position": { + "height": 18, + "width": 100, + "x": 80, + "y": 11 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Group" + }, + "position": { + "height": 40, + "width": 191, + "y": 29 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Slider" + }, + "position": { + "height": 24, + "width": 272, + "x": 9, + "y": 4 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityAlarmConfig} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_Severity\"" + }, + "type": "tag" + } + } + }, + "props": { + "fillColor": "#FFFFFF", + "handleColor": "#C0C0C0", + "max": 1000, + "min": 1, + "railColor": "#C0C0C0", + "trackColor": "#C0C0C0" + }, + "type": "ia.input.slider" + }, + { + "children": [ + { + "meta": { + "name": "PolygonLow" + }, + "position": { + "height": 3, + "width": "25%" + }, + "props": { + "style": { + "borderTopColor": "#916AAD", + "borderTopStyle": "solid", + "borderTopWidth": "3px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "PolygonMedium" + }, + "position": { + "height": 3, + "width": "25%", + "x": "25%" + }, + "props": { + "style": { + "borderTopColor": "#F5E11B", + "borderTopStyle": "solid", + "borderTopWidth": "3px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "PolygonHigh" + }, + "position": { + "height": 3, + "width": "25%", + "x": "50%" + }, + "props": { + "style": { + "borderTopColor": "#EC8629", + "borderTopStyle": "solid", + "borderTopWidth": "3px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "PolygonUrgent" + }, + "position": { + "height": 3, + "width": "25%", + "x": "75%" + }, + "props": { + "style": { + "borderTopColor": "#E22028", + "borderTopStyle": "solid", + "borderTopWidth": "3px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "AlarmBackgroundColors" + }, + "position": { + "height": 5, + "width": 272, + "x": 10, + "y": 32 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 17, + "width": 50, + "x": 18, + "y": 5 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "8pt", + "textAlign": "center" + }, + "text": "1-250" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 17, + "width": 50, + "x": 86, + "y": 5 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "8pt", + "textAlign": "center" + }, + "text": "251-500" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "height": 17, + "width": 50, + "x": 224, + "y": 5 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "8pt", + "textAlign": "center" + }, + "text": "751-1000" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "height": 17, + "width": 50, + "x": 156, + "y": 5 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "8pt", + "textAlign": "center" + }, + "text": "501-750" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "AlarmSliderLabels" + }, + "position": { + "height": 25, + "width": 290, + "y": 32 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "SeveritySlider" + }, + "position": { + "height": 57, + "width": 290, + "y": 53 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "CfgSeverity" + }, + "position": { + "height": 110, + "width": 290, + "x": 43, + "y": 111 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Maintenance" + }, + "position": { + "height": 224, + "width": 392, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d 1", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "AlarmPolygon" + }, + "position": { + "height": 39, + "width": 39, + "y": 117 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\tret_value \u003d ret_value and (self.view.params.selectedTab !\u003d 3)\t# Show it only if active tab different than alarm tab \n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d value\n\t\n\tcolors \u003d [\"\",\n\t\"#FFFFFF\",\n\t\"#916AAD\",\n\t\"#916AAD\",\n\t\"#F5DF1B\",\n\t\"#F5DF1B\",\n\t\"#EC8729\",\n\t\"#EC8729\",\n\t\"#E22028\",\n\t\"#E22028\",\n\t\"\"]\n\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d colors[Val_NotifyAll]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "borderBottomStyle": "solid", + "borderBottomWidth": 2, + "borderLeftStyle": "solid", + "borderLeftWidth": 2, + "borderRightStyle": "none", + "borderTopStyle": "solid", + "borderTopWidth": 2 + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonHome" + }, + "position": { + "height": 35, + "width": 35, + "x": 2 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Home.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 1" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonMaintenance" + }, + "position": { + "height": 35, + "width": 35, + "x": 2, + "y": 40 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Maint.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "TabButtonHelp" + }, + "position": { + "height": 32, + "width": 32, + "x": 2, + "y": 250 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Help.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 23, + "y": 37 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_Timer\") || tag({view.params.tagPath} + \"/Err_Severity\")" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupTabButtons" + }, + "position": { + "height": 287, + "width": 39, + "x": 3, + "y": 5 + }, + "type": "ia.container.coord" + } + ], + "events": { + "system": { + "onStartup": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Alarm/P_Alarm_Advanced/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Alarm/P_Alarm_Advanced/resource.json new file mode 100644 index 0000000..cbd003c --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Alarm/P_Alarm_Advanced/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "6a8170e686833eeb72212a67d3c2adcede2692998d83681fdcfc4d6764dddf87", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Alarm/P_Alarm_Advanced/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Alarm/P_Alarm_Advanced/thumbnail.png new file mode 100644 index 0000000..8f4ea79 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Alarm/P_Alarm_Advanced/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Alarm/P_Alarm_Advanced/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Alarm/P_Alarm_Advanced/view.json new file mode 100644 index 0000000..695017e --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Alarm/P_Alarm_Advanced/view.json @@ -0,0 +1,1534 @@ +{ + "custom": {}, + "params": { + "securityAlarmConfig": true, + "securityDeviceConfigBehavior": true, + "securityDeviceConfigHMI": true, + "securityDeviceConfigTimers": true, + "securityEnableSimulation": true, + "securityOverrideInputs": true, + "selectedTab": 0, + "tagPath": "[default]Test_Tags/P_AIn/HiHi", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "params.securityAlarmConfig": { + "binding": { + "config": { + "expression": "\"securityAlarmConfig\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityDeviceConfigBehavior": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigBehavior\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityDeviceConfigHMI": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigHMI\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityDeviceConfigTimers": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigTimers\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityEnableSimulation": { + "binding": { + "config": { + "expression": "\"securityEnableSimulation\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityOverrideInputs": { + "binding": { + "config": { + "expression": "\"securityOverrideInputs\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.selectedTab": { + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 320, + "width": 350 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Tab1" + }, + "position": { + "height": 39, + "width": 37 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab2" + }, + "position": { + "height": 39, + "width": 37, + "x": 40 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "InactiveTabs" + }, + "position": { + "height": 39, + "width": 117, + "x": 4, + "y": 4 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 403, + "width": 350, + "y": 42 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab" + }, + "position": { + "height": 39, + "width": 40, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 317, + "width": 350 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_Exists\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityAlarmConfig} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 310, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "The alarm is configured to exist and will be scanned" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_Exists\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_Exists\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityAlarmConfig} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "cb_Cfg_Exists" + }, + "position": { + "height": 32, + "width": 340 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_AckReqd\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityAlarmConfig} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 310, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Acknowledge required for Alarm" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_AckReqd\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_AckReqd\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityAlarmConfig} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "cb_Cfg_AckReqd" + }, + "position": { + "height": 32, + "width": 340, + "y": 34 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_ResetReqd\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityAlarmConfig} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 310, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Reset required to clear Alarm" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_ResetReqd\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_ResetReqd\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityAlarmConfig} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "cb_Cfg_ResetReqd" + }, + "position": { + "height": 32, + "width": 340, + "y": 68 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_AllowShelve\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityAlarmConfig} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 310, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Allow Operator to Shelve Alarm" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_AllowShelve\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_AllowShelve\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityAlarmConfig} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "cb_Cfg_AllowShelve" + }, + "position": { + "height": 32, + "width": 340, + "y": 102 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_AllowDisable\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityAlarmConfig} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 310, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Allow Maintenance to Disable Alarm" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_AllowDisable\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_AllowDisable\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityAlarmConfig} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "cb_Cfg_AllowDisable" + }, + "position": { + "height": 32, + "width": 340, + "y": 136 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "CheckBoxes" + }, + "position": { + "height": 177, + "width": 344 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 241, + "x": 11, + "y": 8 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Minimum time Alarm output stays on \n(seconds)" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericInput" + }, + "position": { + "height": 20, + "width": 70, + "x": 259, + "y": 7 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "0" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_AlmMinOnT\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": 0 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 16, + "width": 232, + "x": 11, + "y": 51 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Auto unshelve after this long\n(minutes)" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericInput_0" + }, + "position": { + "height": 20, + "width": 70, + "x": 259, + "y": 50 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "0" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_MaxShelfT\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": 0 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Timers" + }, + "position": { + "height": 84, + "width": 340, + "y": 180 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Engineering1" + }, + "position": { + "height": 268, + "width": 344, + "x": 5, + "y": 49 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Engineering" + }, + "position": { + "height": 442, + "width": 350, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 0) or ((value !\u003d 1) and (value !\u003d 2))", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 403, + "width": 350, + "y": 42 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab" + }, + "position": { + "height": 39, + "width": 40, + "x": 39, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 316, + "width": 350 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 126, + "x": 11, + "y": 2 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Alarm Condition:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "TextField_0" + }, + "position": { + "height": 20, + "width": 187.99999999999997, + "x": 140.9 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigHMI} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_Cond\"" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "borderStyle": "solid", + "borderWidth": "1px", + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.input.text-field" + } + ], + "meta": { + "name": "TextConfig" + }, + "position": { + "height": 200, + "width": 350, + "y": 47 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_HMI" + }, + "position": { + "height": 442, + "width": 350, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d 1", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonEngineering" + }, + "position": { + "height": 35, + "width": 35, + "x": 2 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Eng.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 1" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonHMI" + }, + "position": { + "height": 35, + "width": 35, + "x": 42 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_HMI.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "TabButtonHelp" + }, + "position": { + "height": 32, + "width": 32, + "x": 311 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Help.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 23, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_Timer\")" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupTabButtons" + }, + "position": { + "height": 35, + "width": 346, + "x": 3, + "y": 5 + }, + "type": "ia.container.coord" + } + ], + "events": { + "system": { + "onStartup": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_CmdSrc/P_CmdSrc/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_CmdSrc/P_CmdSrc/resource.json new file mode 100644 index 0000000..2747878 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_CmdSrc/P_CmdSrc/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "de6fbe053064703ada24fb60cfc5bbd90e8faf518c60e84ffbe391b56e1fec47", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_CmdSrc/P_CmdSrc/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_CmdSrc/P_CmdSrc/thumbnail.png new file mode 100644 index 0000000..7dcb047 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_CmdSrc/P_CmdSrc/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_CmdSrc/P_CmdSrc/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_CmdSrc/P_CmdSrc/view.json new file mode 100644 index 0000000..1fa53cf --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_CmdSrc/P_CmdSrc/view.json @@ -0,0 +1,3592 @@ +{ + "custom": { + "popupVersion": " 1.0 " + }, + "params": { + "securityBypassInterlocks": true, + "securityCmdSrcMaint": true, + "securityCmdSrcOperProg": true, + "securityCmdSrcOutOfService": true, + "securityEnableSimulation": true, + "securityOperateEquipment": true, + "securityOverrideInputs": true, + "selectedTab": 0, + "tagPath": "[default]Test_Tags/P_DOut/CmdSrc", + "userHasBasic": true + }, + "propConfig": { + "custom.popupVersion": { + "persistent": true + }, + "params.securityBypassInterlocks": { + "binding": { + "config": { + "expression": "\"securityBypassInterlocks\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityCmdSrcMaint": { + "binding": { + "config": { + "expression": "\"securityCmdSrcMaint\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityCmdSrcOperProg": { + "binding": { + "config": { + "expression": "\"securityCmdSrcOperProg\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityCmdSrcOutOfService": { + "binding": { + "config": { + "expression": "\"securityCmdSrcOutOfService\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityEnableSimulation": { + "binding": { + "config": { + "expression": "\"securityEnableSimulation\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityOperateEquipment": { + "binding": { + "config": { + "expression": "\"securityOperateEquipment\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityOverrideInputs": { + "binding": { + "config": { + "expression": "\"securityOverrideInputs\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.selectedTab": { + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 170, + "width": 245 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Tab1" + }, + "position": { + "height": 37, + "width": 39 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab2" + }, + "position": { + "height": 37, + "width": 39, + "y": 40 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "InactiveTabs" + }, + "position": { + "height": 157, + "width": 40, + "x": 4, + "y": 4 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 300, + "width": 353, + "x": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 300, + "width": 392 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "CmdBtnFaceHighlightDisabled" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_HighlightDisabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "CmdButtonFaceDisabled" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_CmdSrcProg_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "NoPrivProg" + }, + "position": { + "height": 40, + "width": 40 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "CmdBtnFaceHighlightDisabled" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_HighlightReady.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "CmdButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_CmdSrcProg.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_Prog\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{view.params.securityCmdSrcOperProg} \u0026\u0026 {view.params.userHasBasic} \u0026\u0026 tag({view.params.tagPath} + \"/ORdy_Prog\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "ButtonGrp_Prog" + }, + "position": { + "height": 40, + "width": 40 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "CmdBtnFaceHighlightDisabled" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_HighlightDisabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "CmdButtonFaceDisabled" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_CmdSrcOper_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "NoPrivProg" + }, + "position": { + "height": 40, + "width": 40 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "CmdBtnFaceHighlightDisabled" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_HighlightReady.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "CmdButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_CmdSrcOper.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_Oper\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{view.params.securityCmdSrcOperProg} \u0026\u0026 {view.params.userHasBasic} \u0026\u0026 tag({view.params.tagPath} + \"/ORdy_Oper\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "ButtonGrp_Oper" + }, + "position": { + "height": 40, + "width": 40, + "x": 47 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasOper\"), true, false)" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "CmdBtnFaceHighlightDisabled" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_HighlightDisabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "CmdButtonFaceDisabled" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_CmdSrcOperLock_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "NoPrivProg" + }, + "position": { + "height": 40, + "width": 40 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "CmdBtnFaceHighlightDisabled" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_HighlightReady.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "CmdButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_CmdSrcOperLock.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_Lock\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{view.params.securityCmdSrcOperProg} \u0026\u0026 {view.params.userHasBasic} \u0026\u0026 tag({view.params.tagPath} + \"/ORdy_Lock\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "ButtonGrp_Lock" + }, + "position": { + "height": 40, + "width": 40, + "x": 94 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasOperLocked\"), true, false)" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GOOperatorButtons" + }, + "position": { + "height": 40, + "width": 140, + "x": 51, + "y": 58 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 180 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt" + }, + "text": "Place in External Control" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Track" + }, + "position": { + "height": 8, + "width": 32, + "x": 2, + "y": 4 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderBottomLeftRadius": "15%", + "borderBottomRightRadius": "15%", + "borderColor": "#6B6B6B", + "borderStyle": "solid", + "borderTopLeftRadius": "15%", + "borderTopRightRadius": "15%", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Fill" + }, + "position": { + "height": 8, + "width": 32, + "x": 2, + "y": 4 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_Ext\"), false, true)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#008080", + "borderBottomLeftRadius": "15%", + "borderBottomRightRadius": "15%", + "borderColor": "#6A6A6A", + "borderStyle": "solid", + "borderTopLeftRadius": "15%", + "borderTopRightRadius": "15%", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Indicator" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Ext\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d 0\n\t\n\tSts_SubstPV \u003d value\n\t\n\tif (Sts_SubstPV):\n\t\tret_value \u003d 20\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#F0F0F0", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#6A6A6A", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "ToggleIndicator" + }, + "position": { + "height": 16, + "width": 37, + "x": 34, + "y": 7 + }, + "type": "ia.container.coord" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/XCmd_Rel\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "OffButton", + "tooltip": { + "tail": false + } + }, + "position": { + "height": 25, + "width": 50, + "x": 2, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityCmdSrcOperProg} \u0026\u0026 {view.params.userHasBasic} \u0026\u0026 tag({view.params.tagPath} + \"/XRdy_Rel\")" + }, + "type": "expr" + } + } + }, + "props": { + "align": "start", + "justify": "start", + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "No" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/XCmd_Acq\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "OnButton", + "tooltip": { + "tail": false + } + }, + "position": { + "height": 25, + "width": 50, + "x": 56, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityCmdSrcOperProg} \u0026\u0026 {view.params.userHasBasic} \u0026\u0026 tag({view.params.tagPath} + \"/XRdy_Acq\")" + }, + "type": "expr" + } + } + }, + "props": { + "align": "end", + "justify": "end", + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Yes" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "ToggleControl" + }, + "position": { + "height": 28, + "width": 110, + "x": 73, + "y": 28 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GOExternalControl" + }, + "position": { + "height": 60, + "width": 190, + "x": 40, + "y": 106 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_HasExt\") \u0026\u0026 !tag({view.params.tagPath} + \"/Cfg_ExtAcqAsLevel\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Content1" + }, + "position": { + "height": 170, + "width": 242, + "x": 3 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Home" + }, + "position": { + "height": 170, + "width": 242, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 0)", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 300, + "width": 353, + "x": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "y": 43 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 170, + "width": 242 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "CmdBtnFaceHighlightDisabled" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_HighlightDisabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "CmdButtonFaceDisabled" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_CmdSrcMaintAcq_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "NoPrivProg" + }, + "position": { + "height": 40, + "width": 40 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "CmdBtnFaceHighlightDisabled" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_HighlightReady.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "CmdButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_CmdSrcMaintAcq.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/MCmd_Acq\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{view.params.securityCmdSrcMaint} \u0026\u0026 {view.params.userHasBasic} \u0026\u0026 tag({view.params.tagPath} + \"/MRdy_Acq\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "ButtonGrp_Maint" + }, + "position": { + "height": 40, + "width": 40 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "CmdBtnFaceHighlightDisabled" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_HighlightDisabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "CmdButtonFaceDisabled" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_CmdSrcMaintRel_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "NoPrivProg" + }, + "position": { + "height": 40, + "width": 40 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "CmdBtnFaceHighlightDisabled" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_HighlightReady.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "CmdButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_CmdSrcMaintRel.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/MCmd_Rel\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{view.params.securityCmdSrcMaint} \u0026\u0026 {view.params.userHasBasic} \u0026\u0026 tag({view.params.tagPath} + \"/MRdy_Rel\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "ButtonGrp_InSvc" + }, + "position": { + "height": 40, + "width": 40, + "x": 47 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GOMtceButtons" + }, + "position": { + "height": 40, + "width": 90, + "x": 11, + "y": 4 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 180 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt" + }, + "text": "Take Device Out of Service" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Track" + }, + "position": { + "height": 8, + "width": 32, + "x": 2, + "y": 4 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderBottomLeftRadius": "15%", + "borderBottomRightRadius": "15%", + "borderColor": "#6B6B6B", + "borderStyle": "solid", + "borderTopLeftRadius": "15%", + "borderTopRightRadius": "15%", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Fill" + }, + "position": { + "height": 8, + "width": 32, + "x": 2, + "y": 4 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_bSrc\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tSts_bSrc \u003d value\n\t\n\tcheck_value \u003d ((Sts_bSrc \u0026 (2**2)) \u003d\u003d (2**2))\n\t\n\tif (check_value):\n\t\tret_value \u003d False\n\telse:\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#008080", + "borderBottomLeftRadius": "15%", + "borderBottomRightRadius": "15%", + "borderColor": "#6A6A6A", + "borderStyle": "solid", + "borderTopLeftRadius": "15%", + "borderTopRightRadius": "15%", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Indicator" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_bSrc\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d 0\n\t\n\tSts_bSrc \u003d value\n\t\n\tcheck_value \u003d ((Sts_bSrc \u0026 (2**2)) \u003d\u003d (2**2))\n\t\n\tif (check_value):\n\t\tret_value \u003d 20\n\telse:\n\t\tret_value \u003d 0\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#F0F0F0", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#6A6A6A", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "ToggleIndicator" + }, + "position": { + "height": 16, + "width": 37, + "x": 34, + "y": 7 + }, + "type": "ia.container.coord" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/MCmd_IS\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "OffButton", + "tooltip": { + "tail": false + } + }, + "position": { + "height": 25, + "width": 50, + "x": 2, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityCmdSrcOutOfService} \u0026\u0026 {view.params.userHasBasic} \u0026\u0026 tag({view.params.tagPath} + \"/MRdy_IS\")" + }, + "type": "expr" + } + } + }, + "props": { + "align": "start", + "justify": "start", + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "No" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/MCmd_OoS\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "OnButton", + "tooltip": { + "tail": false + } + }, + "position": { + "height": 25, + "width": 50, + "x": 56, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityCmdSrcOutOfService} \u0026\u0026 {view.params.userHasBasic} \u0026\u0026 tag({view.params.tagPath} + \"/MRdy_OoS\")" + }, + "type": "expr" + } + } + }, + "props": { + "align": "end", + "justify": "end", + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Yes" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "ToggleControl" + }, + "position": { + "height": 28, + "width": 110, + "x": 73, + "y": 28 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GOOutOfServiceControl" + }, + "position": { + "height": 60, + "width": 190, + "y": 44 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_HasMOoS\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Content1" + }, + "position": { + "height": 105, + "width": 190, + "x": 43, + "y": 54 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "AdvancedProperties" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Properties.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tblock_label \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_Label\"])[0].value\n\ttitle \u003d \"{0} - {1}\".format(block_label, \"Advanced\")\n\t\n\tparams \u003d {\u0027tagPath\u0027: self.view.params.tagPath}\n\t\n\tsystem.perspective.openPopup({self.view.params.tagPath},\u0027Plant PAX/Popups/P_CmdSrc/P_CmdSrc_Advanced\u0027, params, title, showCloseIcon \u003d True, resizable \u003d False)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "AdvancedPropertiesButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BadConfig" + }, + "position": { + "height": 16, + "width": 16, + "x": 22 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_Timer\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupNavToAdvanced" + }, + "position": { + "height": 42, + "width": 42, + "x": 189, + "y": 57 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Maintenance" + }, + "position": { + "height": 170, + "width": 242, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d 1", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 300, + "width": 353, + "x": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "y": 124 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 170, + "width": 242 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 120, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 70, + "x": 115, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "caption": "P_CmdSrc", + "label": "Popup Name:" + }, + "meta": { + "name": "PopupID" + }, + "position": { + "height": 18, + "width": 189, + "x": 48, + "y": 76 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 120, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 70, + "x": 115, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "PlantPAX Version:" + }, + "meta": { + "name": "PlantPAX Version" + }, + "position": { + "height": 18, + "width": 189, + "x": 48, + "y": 99 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/version\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 120, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 70, + "x": 115, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "UDT Version:" + }, + "meta": { + "name": "UDTVersion" + }, + "position": { + "height": 18, + "width": 189, + "x": 48, + "y": 122 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Prime Version\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 120, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 70, + "x": 115, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "Popup Version:" + }, + "meta": { + "name": "PopupVersion" + }, + "position": { + "height": 18, + "width": 189, + "x": 48, + "y": 145 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "path": "view.custom.popupVersion" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Version" + }, + "position": { + "height": 170, + "width": 242, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d -1", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "AlarmPolygon" + }, + "position": { + "height": 39, + "width": 39, + "y": 117 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\tret_value \u003d ret_value and (self.view.params.selectedTab !\u003d 3)\t# Show it only if active tab different than alarm tab \n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d value\n\t\n\tcolors \u003d [\"\",\n\t\"#FFFFFF\",\n\t\"#916AAD\",\n\t\"#916AAD\",\n\t\"#F5DF1B\",\n\t\"#F5DF1B\",\n\t\"#EC8729\",\n\t\"#EC8729\",\n\t\"#E22028\",\n\t\"#E22028\",\n\t\"\"]\n\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d colors[Val_NotifyAll]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "borderBottomStyle": "solid", + "borderBottomWidth": 2, + "borderLeftStyle": "solid", + "borderLeftWidth": 2, + "borderRightStyle": "none", + "borderTopStyle": "solid", + "borderTopWidth": 2 + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonHome" + }, + "position": { + "height": 35, + "width": 35, + "x": 2 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Home.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 1" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonMaintenance" + }, + "position": { + "height": 35, + "width": 35, + "x": 2, + "y": 40 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Maint.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d -1" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonHelp" + }, + "position": { + "height": 32, + "rotate": { + "angle": "180deg" + }, + "width": 32, + "x": 2, + "y": 120 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Faults.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupTabButtons" + }, + "position": { + "height": 157, + "width": 39, + "x": 3, + "y": 5 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "CmdSrcNotNormal" + }, + "position": { + "height": 16, + "width": 16, + "x": 177 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_Normal\"), false, true)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_CmdSrcNotNorm.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "CmdSrcImage" + }, + "position": { + "height": 17, + "width": 16, + "x": 5, + "y": 4 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_eSrc\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d value\n\t\n\t# id: [image name, caption]\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t0: [\"\", \"Logic Not In Use\"],\n\t4: [\"Sts_CmdSrcHand\", \"Hand\"],\n\t8: [\"Sts_CmdSrcMaint\", \"Maintenance\"],\n\t16: [\"Sts_CmdSrcOvrd\", \"Override\"],\n\t32: [\"Sts_CmdSrcProgram\", \"Program\"],\n\t33: [\"Sts_CmdSrcProgLocked\", \"Program (locked)\"],\n\t34: [\"Sts_CmdSrcProgram\", \"Program\"],\n\t64: [\"Sts_CmdSrcOper\", \"Operator\"],\n\t65: [\"Sts_CmdSrcOperLocked\", \"Operator (locked)\"],\n\t66: [\"Sts_CmdSrcOper\", \"Operator\"],\n\t128: [\"Sts_CmdSrcOoS\", \"Maint. Out Of Service\"],\n\t129: [\"Sts_CmdSrcOoS\", \"Logic Out of Service\"],\n\t256: [\"Sts_CmdSrcExt\", \"External\"]\t\n\t}\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(states[index][0])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 162, + "x": 26, + "y": 2 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_eSrc\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d value\n\t\n\t# id: [image name, caption]\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t0: [\"\", \"Logic Not In Use\"],\n\t4: [\"Sts_CmdSrcHand\", \"Hand\"],\n\t8: [\"Sts_CmdSrcMaint\", \"Maintenance\"],\n\t16: [\"Sts_CmdSrcOvrd\", \"Override\"],\n\t32: [\"Sts_CmdSrcProgram\", \"Program\"],\n\t33: [\"Sts_CmdSrcProgLocked\", \"Program (locked)\"],\n\t34: [\"Sts_CmdSrcProgram\", \"Program\"],\n\t64: [\"Sts_CmdSrcOper\", \"Operator\"],\n\t65: [\"Sts_CmdSrcOperLocked\", \"Operator (locked)\"],\n\t66: [\"Sts_CmdSrcOper\", \"Operator\"],\n\t128: [\"Sts_CmdSrcOoS\", \"Maint. Out Of Service\"],\n\t129: [\"Sts_CmdSrcOoS\", \"Logic Out of Service\"],\n\t256: [\"Sts_CmdSrcExt\", \"External\"]\t\n\t}\n\t\n\ttry:\n\t\tret_value \u003d states[index][1]\n\texcept:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#2A4191", + "fontSize": "10pt", + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "GOCmdSrcDisplay" + }, + "position": { + "height": 24, + "width": 194 + }, + "props": { + "style": { + "backgroundColor": "#D4D4D4" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Icon" + }, + "position": { + "height": 17, + "width": 16, + "x": 3, + "y": 2 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_CmdSrcHand.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Shade" + }, + "position": { + "height": 21, + "width": 23 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_bSrc\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d True\n\t\n\tSts_bSrc \u003d value\n\t\n\tcheck_value \u003d ((Sts_bSrc \u0026 (2**0)) \u003d\u003d (2**0)) # Get bit 0 from Sts_bSrc\n\t\n\tif (check_value):\n\t\tret_value \u003d False\n\telse:\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/ShadeCover.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupHandReq" + }, + "position": { + "height": 21, + "width": 23 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Icon" + }, + "position": { + "height": 17, + "width": 16, + "x": 3, + "y": 2 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_CmdSrcOoS.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Shade" + }, + "position": { + "height": 21, + "width": 23 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_bSrc\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d True\n\t\n\tSts_bSrc \u003d value\n\t\n\tcheck_value \u003d ((Sts_bSrc \u0026 (2**1)) \u003d\u003d (2**1)) or ((Sts_bSrc \u0026 (2**2)) \u003d\u003d (2**2)) # Get bit 1 or 2 from Sts_bSrc\n\t\n\tif (check_value):\n\t\tret_value \u003d False\n\telse:\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/ShadeCover.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupOurOfServiceReq" + }, + "position": { + "height": 21, + "width": 23, + "x": 26 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Icon" + }, + "position": { + "height": 17, + "width": 16, + "x": 3, + "y": 2 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_CmdSrcMaint.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Shade" + }, + "position": { + "height": 21, + "width": 23 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_bSrc\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d True\n\t\n\tSts_bSrc \u003d value\n\t\n\tcheck_value \u003d ((Sts_bSrc \u0026 (2**3)) \u003d\u003d (2**3)) # Get bit 3 from Sts_bSrc\n\t\n\tif (check_value):\n\t\tret_value \u003d False\n\telse:\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/ShadeCover.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupMaintReq" + }, + "position": { + "height": 21, + "width": 23, + "x": 52 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Icon" + }, + "position": { + "height": 17, + "width": 16, + "x": 3, + "y": 2 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_CmdSrcOvrd.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Shade" + }, + "position": { + "height": 21, + "width": 23 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_bSrc\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d True\n\t\n\tSts_bSrc \u003d value\n\t\n\tcheck_value \u003d ((Sts_bSrc \u0026 (2**4)) \u003d\u003d (2**4)) # Get bit 4 from Sts_bSrc\n\t\n\tif (check_value):\n\t\tret_value \u003d False\n\telse:\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/ShadeCover.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupOvrdReq" + }, + "position": { + "height": 21, + "width": 23, + "x": 78 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Icon" + }, + "position": { + "height": 17, + "width": 16, + "x": 3, + "y": 2 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_CmdSrcOperLocked.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Shade" + }, + "position": { + "height": 21, + "width": 23 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_bSrc\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d True\n\t\n\tSts_bSrc \u003d value\n\t\n\tcheck_value \u003d ((Sts_bSrc \u0026 (2**8)) \u003d\u003d (2**8)) # Get bit 8 from Sts_bSrc\n\t\n\tif (check_value):\n\t\tret_value \u003d False\n\telse:\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/ShadeCover.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupOperLockedReq" + }, + "position": { + "height": 21, + "width": 23 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_bSrc\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d True\n\t\n\tSts_bSrc \u003d value\n\t\n\tcheck_value \u003d ((Sts_bSrc \u0026 (2**6)) \u003d\u003d (2**6)) or ((Sts_bSrc \u0026 (2**7)) \u003d\u003d (2**7)) # Get bit 6 or 7 from Sts_bSrc\n\t\n\tif (check_value):\n\t\tret_value \u003d False\n\telse:\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Icon" + }, + "position": { + "height": 17, + "width": 16, + "x": 3, + "y": 2 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_CmdSrcProgLocked.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Shade" + }, + "position": { + "height": 21, + "width": 23 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_bSrc\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d True\n\t\n\tSts_bSrc \u003d value\n\t\n\tcheck_value \u003d ((Sts_bSrc \u0026 (2**6)) \u003d\u003d (2**6)) # Get bit 6 from Sts_bSrc\n\t\n\tif (check_value):\n\t\tret_value \u003d False\n\telse:\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/ShadeCover.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupProgLockedReq" + }, + "position": { + "height": 21, + "width": 23 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_bSrc\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d True\n\t\n\tSts_bSrc \u003d value\n\t\n\tcheck_value \u003d ((Sts_bSrc \u0026 (2**6)) \u003d\u003d (2**6)) or ((Sts_bSrc \u0026 (2**7)) \u003d\u003d (2**7)) # Get bit 6 or 7 from Sts_bSrc\n\t\n\tif (check_value):\n\t\tret_value \u003d True\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GroupProgOperLocked" + }, + "position": { + "height": 21, + "width": 23, + "x": 26 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Icon" + }, + "position": { + "height": 17, + "width": 16, + "x": 3, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasExt\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_CmdSrcExt.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Shade" + }, + "position": { + "height": 21, + "width": 23 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_bSrc\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d True\n\t\n\tSts_bSrc \u003d value\n\t\n\tcheck_value \u003d ((Sts_bSrc \u0026 (2**5)) \u003d\u003d (2**5)) # Get bit 5 from Sts_bSrc\n\t\n\tif (check_value):\n\t\tret_value \u003d False\n\telse:\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/ShadeCover.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupExtReq" + }, + "position": { + "height": 21, + "width": 23 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GroupExtOverLock" + }, + "position": { + "height": 21, + "width": 49, + "x": 104 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_ExtOverLock\"), true, false)" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Icon" + }, + "position": { + "height": 17, + "width": 16, + "x": 3, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasExt\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_CmdSrcExt.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Shade" + }, + "position": { + "height": 21, + "width": 23 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_bSrc\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d True\n\t\n\tSts_bSrc \u003d value\n\t\n\tcheck_value \u003d ((Sts_bSrc \u0026 (2**5)) \u003d\u003d (2**5)) # Get bit 5 from Sts_bSrc\n\t\n\tif (check_value):\n\t\tret_value \u003d False\n\telse:\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/ShadeCover.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupExtReq" + }, + "position": { + "height": 21, + "width": 23, + "x": 26 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Icon" + }, + "position": { + "height": 17, + "width": 16, + "x": 3, + "y": 2 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_CmdSrcOperLocked.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Shade" + }, + "position": { + "height": 21, + "width": 23 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_bSrc\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d True\n\t\n\tSts_bSrc \u003d value\n\t\n\tcheck_value \u003d ((Sts_bSrc \u0026 (2**8)) \u003d\u003d (2**8)) # Get bit 8 from Sts_bSrc\n\t\n\tif (check_value):\n\t\tret_value \u003d False\n\telse:\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/ShadeCover.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupOperLockedReq" + }, + "position": { + "height": 21, + "width": 23 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_bSrc\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d True\n\t\n\tSts_bSrc \u003d value\n\t\n\tcheck_value \u003d ((Sts_bSrc \u0026 (2**6)) \u003d\u003d (2**6)) or ((Sts_bSrc \u0026 (2**7)) \u003d\u003d (2**7)) # Get bit 6 or 7 from Sts_bSrc\n\t\n\tif (check_value):\n\t\tret_value \u003d False\n\telse:\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Icon" + }, + "position": { + "height": 17, + "width": 16, + "x": 3, + "y": 2 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_CmdSrcProgLocked.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Shade" + }, + "position": { + "height": 21, + "width": 23 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_bSrc\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d True\n\t\n\tSts_bSrc \u003d value\n\t\n\tcheck_value \u003d ((Sts_bSrc \u0026 (2**6)) \u003d\u003d (2**6)) # Get bit 6 from Sts_bSrc\n\t\n\tif (check_value):\n\t\tret_value \u003d False\n\telse:\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/ShadeCover.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupProgLockedReq" + }, + "position": { + "height": 21, + "width": 23 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasOperLocked\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GroupProgOperLocked" + }, + "position": { + "height": 21, + "width": 23 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GroupNotExtOverLock" + }, + "position": { + "height": 21, + "width": 49, + "x": 104 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_ExtOverLock\"), false, true)" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Icon" + }, + "position": { + "height": 17, + "width": 16, + "x": 3, + "y": 2 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_CmdSrcOper.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Shade", + "visible": false + }, + "position": { + "height": 21, + "width": 23 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/ShadeCover.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "DefaultProg" + }, + "position": { + "height": 15, + "rotate": { + "angle": 45 + }, + "width": 1, + "y": -5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_ProgNormal\"), false, true)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "2px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GroupOperLockedReq" + }, + "position": { + "height": 21, + "width": 23 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Icon" + }, + "position": { + "height": 17, + "width": 16, + "x": 3, + "y": 2 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_CmdSrcProgram.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Shade", + "visible": false + }, + "position": { + "height": 21, + "width": 23 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/ShadeCover.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "DefaultProg" + }, + "position": { + "height": 15, + "rotate": { + "angle": 45 + }, + "width": 1, + "y": -5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_ProgNormal\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "2px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GroupProgLockedReq" + }, + "position": { + "height": 21, + "width": 23 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_bSrc\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d True\n\t\n\tSts_bSrc \u003d value\n\tCfg_HasProg \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_HasProg\"])[0].value\n\tCfg_HasOper \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_HasOper\"])[0].value \n\t\n\tcheck_value \u003d ((Sts_bSrc \u0026 (2**7)) \u003d\u003d (2**7)) or (((Sts_bSrc \u0026 (2**6)) \u003d\u003d (2**6)) and Cfg_HasProg) or (not(Cfg_HasOper)) \n\t\n\tif (check_value):\n\t\tret_value \u003d True\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GroupProgOperLocked" + }, + "position": { + "height": 21, + "width": 23, + "x": 156 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GOCmdSrcActiveDisplay" + }, + "position": { + "height": 21, + "width": 179, + "y": 25 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "StaticGroup" + }, + "position": { + "height": 49, + "width": 194, + "x": 45, + "y": 1 + }, + "type": "ia.container.coord" + } + ], + "events": { + "system": { + "onStartup": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_CmdSrc/P_CmdSrc_Advanced/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_CmdSrc/P_CmdSrc_Advanced/resource.json new file mode 100644 index 0000000..daa566f --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_CmdSrc/P_CmdSrc_Advanced/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "a0ffb1dd95ad2757347124d5bfd3946dae169851f272a3c3e18e8319e2eb5a45", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_CmdSrc/P_CmdSrc_Advanced/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_CmdSrc/P_CmdSrc_Advanced/thumbnail.png new file mode 100644 index 0000000..66eedc3 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_CmdSrc/P_CmdSrc_Advanced/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_CmdSrc/P_CmdSrc_Advanced/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_CmdSrc/P_CmdSrc_Advanced/view.json new file mode 100644 index 0000000..77bffba --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_CmdSrc/P_CmdSrc_Advanced/view.json @@ -0,0 +1,4158 @@ +{ + "custom": { + "popupVersion": " 1.0 " + }, + "params": { + "securityDeviceConfigBehavior": true, + "securityDeviceConfigFailTimers": true, + "securityDeviceConfigHMI": true, + "securityDeviceConfigLimits": true, + "securityDeviceConfigTimers": true, + "securityEnableSimulation": true, + "securityEnterOperSettings": true, + "securityOverrideInputs": true, + "selectedTab": 0, + "tagPath": "[default]Test_Tags/P_Motor/CmdSrc", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "custom.popupVersion": { + "persistent": true + }, + "params.securityDeviceConfigBehavior": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigBehavior\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityDeviceConfigFailTimers": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigFailTimers\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityDeviceConfigHMI": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigHMI\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityDeviceConfigLimits": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigLimits\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityDeviceConfigTimers": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigTimers\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityEnableSimulation": { + "binding": { + "config": { + "expression": "\"securityEnableSimulation\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityEnterOperSettings": { + "binding": { + "config": { + "expression": "\"securityEnterOperSettings\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityOverrideInputs": { + "binding": { + "config": { + "expression": "\"securityOverrideInputs\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.selectedTab": { + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 442, + "width": 350 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Tab1" + }, + "position": { + "height": 39, + "width": 37 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "InactiveTabs" + }, + "position": { + "height": 39, + "width": 117, + "x": 4, + "y": 4 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 403, + "width": 350, + "y": 42 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab" + }, + "position": { + "height": 39, + "width": 40, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 442, + "width": 350 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label0" + }, + "position": { + "height": 16, + "width": 316, + "x": 6.5, + "y": 17 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Command source which is considered \u0027Normal\u0027" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_ProgNormal\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 9.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 126, + "x": 25, + "y": 1.5 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Program" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_ProgNormal\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 155, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Cfg_ProgNormal_Program" + }, + "position": { + "height": 35, + "width": 161, + "x": 5, + "y": 3 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 0 + }, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_ProgNormal\"), false, true)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 9.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 126, + "x": 25, + "y": 1.5 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Operator" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_ProgNormal\", False)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 155, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Cfg_ProgNormal_Operator" + }, + "position": { + "height": 35.00000000000001, + "width": 161, + "x": 5, + "y": 35 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Cfg_ProgNormal" + }, + "position": { + "height": 73, + "width": 340, + "x": 2, + "y": 43 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label1" + }, + "position": { + "height": 16, + "width": 316, + "x": 7, + "y": 121 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Command Source to use on device power-up" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_ProgPwrUp\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 9.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 126, + "x": 25, + "y": 1.5 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Program" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_ProgPwrUp\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 155, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Cfg_ProgPwrUp_Program" + }, + "position": { + "height": 35, + "width": 161, + "x": 5, + "y": 3 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 0 + }, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_ProgPwrUp\"), false, true)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 9.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 126, + "x": 25, + "y": 1.5 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Operator" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_ProgPwrUp\", False)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 155, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Cfg_ProgPwrUp_Operator" + }, + "position": { + "height": 35.00000000000001, + "width": 161, + "x": 5, + "y": 35 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Cfg_ProgPwrUp" + }, + "position": { + "height": 73, + "width": 340, + "x": 2, + "y": 147 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label2" + }, + "position": { + "height": 16, + "width": 316, + "x": 7, + "y": 232 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Command Priority - when simultaneous requests occur" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_PCmdPriority\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 9.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 126, + "x": 25, + "y": 1.5 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Program wins" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_PCmdPriority\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 155, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Cfg_PCmdPriority_Program" + }, + "position": { + "height": 35, + "width": 161, + "x": 5, + "y": 3 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 0 + }, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_PCmdPriority\"), false, true)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 9.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 126, + "x": 25, + "y": 1.5 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Operator wins" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_PCmdPriority\", False)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 155, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Cfg_PCmdPriority_Operator" + }, + "position": { + "height": 35.00000000000001, + "width": 161, + "x": 5, + "y": 35 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Cfg_PCmdPriority" + }, + "position": { + "height": 73, + "width": 340, + "x": 2, + "y": 258 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "PageEngineering1" + }, + "position": { + "height": 334, + "width": 345, + "x": 2.5, + "y": 46 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{parent.custom.pageTabSelected}" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 0)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_OvrdOverLock\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 306, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Override supersedes Program or Operator lock" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_OvrdOverLock\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_OvrdOverLock\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "cb_Cfg_OvrdOverLock" + }, + "position": { + "height": 33, + "width": 340, + "x": 2.5, + "y": -1 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_ExtOverLock\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 306, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "External supersedes Program or Operator lock" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_ExtOverLock\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_ExtOverLock\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "cb_Cfg_ExtOverLock" + }, + "position": { + "height": 33, + "width": 340, + "x": 2.5, + "y": 35 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasMaint\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 306, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Maintenance Control Exists" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_HasMaint\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_HasMaint\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "cb_Cfg_HasMaint" + }, + "position": { + "height": 33, + "width": 340, + "x": 2.5, + "y": 71 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasMOoS\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 306, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Maintenance Out of Service exists" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_HasMOoS\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_HasMOoS\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "cb_Cfg_HasMOoS" + }, + "position": { + "height": 33, + "width": 340, + "x": 2.5, + "y": 107 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasOper\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced} \u0026\u0026 (tag({view.params.tagPath} + \"/Sts_eSrc\") \u003d 129)" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 306, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Operator (Unlocked) exists *" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_HasOper\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_HasOper\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced} \u0026\u0026 (tag({view.params.tagPath} + \"/Sts_eSrc\") \u003d 129)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "cb_Cfg_HasOper" + }, + "position": { + "height": 33, + "width": 340, + "x": 2.5, + "y": 143 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasOperLocked\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced} \u0026\u0026 (tag({view.params.tagPath} + \"/Sts_eSrc\") \u003d 129)" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 306, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Operator Locked exists *" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_HasOperLocked\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_HasOperLocked\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced} \u0026\u0026 (tag({view.params.tagPath} + \"/Sts_eSrc\") \u003d 129)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "cb_Cfg_HasOperLocked" + }, + "position": { + "height": 33, + "width": 340, + "x": 2.5, + "y": 179 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasProg\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced} \u0026\u0026 (tag({view.params.tagPath} + \"/Sts_eSrc\") \u003d 129)" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 306, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Program (Unlocked) exists *" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_HasProg\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_HasProg\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced} \u0026\u0026 (tag({view.params.tagPath} + \"/Sts_eSrc\") \u003d 129)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "cb_Cfg_HasProg" + }, + "position": { + "height": 33, + "width": 340, + "x": 2.5, + "y": 215 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasProgLocked\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced} \u0026\u0026 (tag({view.params.tagPath} + \"/Sts_eSrc\") \u003d 129)" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 306, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Program Locked exists *" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_HasProgLocked\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_HasProgLocked\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced} \u0026\u0026 (tag({view.params.tagPath} + \"/Sts_eSrc\") \u003d 129)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "cb_Cfg_HasProgLocked" + }, + "position": { + "height": 33, + "width": 340, + "x": 2.5, + "y": 251 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label2" + }, + "position": { + "height": 16, + "width": 316, + "x": 7, + "y": 302 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "* Logic EnableIn must be False (programmed out of service) to change this configuration" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "PageEngineering2" + }, + "position": { + "height": 334, + "width": 345, + "x": 2.5, + "y": 46 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{parent.custom.pageTabSelected}" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 1)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasExt\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 306, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "External exists" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_HasExt\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_HasExt\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "cb_Cfg_HasExt" + }, + "position": { + "height": 33, + "width": 340, + "x": 2.5, + "y": -1 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_PCmdLockAsLevel\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 306, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "PCmd_Lock used as a level (1\u003dlock, 0\u003dunlock)" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_PCmdLockAsLevel\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_PCmdLockAsLevel\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "cb_Cfg_PCmdLockAsLevel" + }, + "position": { + "height": 33, + "width": 340, + "x": 2.5, + "y": 35 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_PCmdProgAsLevel\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 306, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "PCmd_Prog used as a level (1\u003dProg, 0\u003dOper)" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_PCmdProgAsLevel\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_PCmdProgAsLevel\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "cb_Cfg_PCmdProgAsLevel" + }, + "position": { + "height": 33, + "width": 340, + "x": 2.5, + "y": 71 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_ExtAcqAsLevel\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 306, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "XCmd_Acq used as a level (1\u003dExt, 0\u003dRelease Ext)" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_ExtAcqAsLevel\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_ExtAcqAsLevel\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "cb_Cfg_ExtAcqAsLevel" + }, + "position": { + "height": 33, + "width": 340, + "x": 2.5, + "y": 107 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "PageEngineering3" + }, + "position": { + "height": 334, + "width": 345, + "x": 2.5, + "y": 46 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{parent.custom.pageTabSelected}" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 2)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageTabSelected \u003d self.parent.custom.pageTabSelected\n\tmaxNumberOfTabs \u003d self.parent.custom.maxNumberOfTabs - 1\n\t\n\tnewTab \u003d pageTabSelected - 1\n\t\n\tif (newTab \u003e\u003d 0):\n\t\tself.parent.custom.pageTabSelected \u003d newTab" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "PrevButton" + }, + "position": { + "height": 36, + "width": 30, + "x": 91 + }, + "props": { + "fit": { + "mode": "contain" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Prev.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 20, + "x": 3, + "y": 8 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if({parent.custom.currentTabNumber} \u003d {parent.custom.tabNumber}, \"#A3A3A3FF\", \"#A3A3A300\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.tabNumber} + 1" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 1, + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "tabNumber": 0 + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.currentTabNumber \u003d self.custom.tabNumber" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Page1Button" + }, + "position": { + "height": 36, + "width": 26, + "x": 118.5 + }, + "propConfig": { + "custom.currentTabNumber": { + "binding": { + "config": { + "bidirectional": true, + "path": "parent.custom.pageTabSelected" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 20, + "x": 3, + "y": 8 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if({parent.custom.currentTabNumber} \u003d {parent.custom.tabNumber}, \"#A3A3A3FF\", \"#A3A3A300\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.tabNumber} + 1" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 1, + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "tabNumber": 1 + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.currentTabNumber \u003d self.custom.tabNumber" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Page2Button" + }, + "position": { + "height": 36, + "width": 26, + "x": 147.5 + }, + "propConfig": { + "custom.currentTabNumber": { + "binding": { + "config": { + "bidirectional": true, + "path": "parent.custom.pageTabSelected" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 20, + "x": 3, + "y": 8 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if({parent.custom.currentTabNumber} \u003d {parent.custom.tabNumber}, \"#A3A3A3FF\", \"#A3A3A300\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.tabNumber} + 1" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 1, + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "tabNumber": 2 + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.currentTabNumber \u003d self.custom.tabNumber" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Page3Button" + }, + "position": { + "height": 36, + "width": 26, + "x": 176.5 + }, + "propConfig": { + "custom.currentTabNumber": { + "binding": { + "config": { + "bidirectional": true, + "path": "parent.custom.pageTabSelected" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageTabSelected \u003d self.parent.custom.pageTabSelected\n\tmaxNumberOfTabs \u003d self.parent.custom.maxNumberOfTabs - 1\n\t\n\tnewTab \u003d pageTabSelected + 1\n\t\n\tif (newTab \u003c\u003d maxNumberOfTabs):\n\t\tself.parent.custom.pageTabSelected \u003d newTab" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "NextButton" + }, + "position": { + "height": 36, + "width": 30, + "x": 200 + }, + "props": { + "fit": { + "mode": "contain" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Next.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + } + ], + "custom": { + "maintenanceTabSelected": 0, + "maxNumberOfTabs": 3 + }, + "meta": { + "name": "PageButtons" + }, + "position": { + "height": 36, + "width": 321, + "x": 14, + "y": 393 + }, + "propConfig": { + "custom.pageTabSelected": { + "binding": { + "config": { + "bidirectional": true, + "path": "parent.custom.pageTabSelected" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 18, + "width": 16, + "x": 180.005, + "y": 389 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_Sim\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "custom": { + "pageTabSelected": 0 + }, + "meta": { + "name": "TabPage_Engineering" + }, + "position": { + "height": 442, + "width": 350, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d 0", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 403, + "width": 350, + "y": 42 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab" + }, + "position": { + "height": 39, + "width": 40, + "x": 306, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 442, + "width": 350 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 145, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "caption": "P_CmdSrc_Advanced", + "label": "Popup Name:" + }, + "meta": { + "name": "PopupID" + }, + "position": { + "height": 18, + "width": 292, + "x": 48, + "y": 346 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 145, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "PlantPAX Version:" + }, + "meta": { + "name": "PlantPAX Version" + }, + "position": { + "height": 18, + "width": 292, + "x": 48, + "y": 369 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/version\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 145, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "UDT Version:" + }, + "meta": { + "name": "UDTVersion" + }, + "position": { + "height": 18, + "width": 292, + "x": 48, + "y": 392 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Prime Version\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 145, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "Popup Version:" + }, + "meta": { + "name": "PopupVersion" + }, + "position": { + "height": 18, + "width": 292, + "x": 48, + "y": 415 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "path": "view.custom.popupVersion" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Version" + }, + "position": { + "height": 442, + "width": 350, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d -1", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonEngineering" + }, + "position": { + "height": 35, + "width": 35, + "x": 2 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Eng.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d -1" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonHelp" + }, + "position": { + "height": 32, + "rotate": { + "angle": "180deg" + }, + "width": 32, + "x": 311 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Faults.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 23, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_Timer\")" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "BadConfigEng" + }, + "position": { + "height": 16, + "width": 16, + "x": 63, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_Sim\")" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupTabButtons" + }, + "position": { + "height": 35, + "width": 346, + "x": 3, + "y": 5 + }, + "type": "ia.container.coord" + } + ], + "events": { + "system": { + "onStartup": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 0\n\tself.getChild(\"TabPage_Engineering\").custom.pageTabSelected \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_DIn/P_DIn/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_DIn/P_DIn/resource.json new file mode 100644 index 0000000..81fb317 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_DIn/P_DIn/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "fb40942e6f055ec907ff0839cf61730205321b0e8e0b9695da825f8c2279f00c", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_DIn/P_DIn/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_DIn/P_DIn/thumbnail.png new file mode 100644 index 0000000..2fb0b0c Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_DIn/P_DIn/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_DIn/P_DIn/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_DIn/P_DIn/view.json new file mode 100644 index 0000000..571dfce --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_DIn/P_DIn/view.json @@ -0,0 +1,4013 @@ +{ + "custom": { + "popupVersion": " 1.0 " + }, + "params": { + "securityEnableSimulation": true, + "securityOverrideInputs": true, + "selectedTab": 3, + "tagPath": "[DH1]Block 1/Process/Discrete/AAH_15", + "userHasBasic": true + }, + "propConfig": { + "custom.popupVersion": { + "persistent": true + }, + "params.securityEnableSimulation": { + "binding": { + "config": { + "expression": "\"securityEnableSimulation\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityOverrideInputs": { + "binding": { + "config": { + "expression": "\"securityOverrideInputs\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.selectedTab": { + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 300, + "width": 392 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Tab1" + }, + "position": { + "height": 37, + "width": 39 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab2" + }, + "position": { + "height": 37, + "width": 39, + "y": 40 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab3" + }, + "position": { + "height": 37, + "width": 39, + "y": 80 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab4" + }, + "position": { + "height": 37, + "width": 39, + "y": 120 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "InactiveTabs" + }, + "position": { + "height": 157, + "width": 40, + "x": 4, + "y": 4 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 300, + "width": 353, + "x": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 300, + "width": 392 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "StatusText_Normal" + }, + "position": { + "height": 16, + "width": 42, + "x": 6, + "y": 2 + }, + "props": { + "text": "Normal", + "textStyle": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d image_path.format(states[SrcQ_IO][0])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 330, + "x": 20 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][1]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.textStyle.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][3]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][2]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "CommStatus" + }, + "position": { + "height": 20, + "width": 350 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\t\n\tSrcQ_IO \u003d value\n\t\n\tif (SrcQ_IO \u003e\u003d 8):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][3]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "AlarmSeverityIndicator" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "AlarmText" + }, + "position": { + "height": 16, + "width": 367, + "x": 22, + "y": 2 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Cfg_Cond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "alarmParameterName": "TgtDisagree" + }, + "meta": { + "name": "AlarmNotify_TgtDisagree" + }, + "position": { + "height": 20, + "width": 402 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {this.custom.alarmParameterName} + \"/Val_Notify\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tVal_Notify \u003d value\n\tVal_UnackAlmC \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_UnackAlmC\"])[0].value\n\t\n\tif (Val_Notify \u003e 0) and ((Val_UnackAlmC \u003d\u003d 0) or ((Val_Notify \u0026 1) \u003d\u003d 1)):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "AlarmSeverityIndicator" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "AlarmText" + }, + "position": { + "height": 16, + "width": 367, + "x": 22, + "y": 2 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Cfg_Cond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "alarmParameterName": "IOFault" + }, + "meta": { + "name": "AlarmNotify_IOFault" + }, + "position": { + "height": 20, + "width": 402 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {this.custom.alarmParameterName} + \"/Val_Notify\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tVal_Notify \u003d value\n\tVal_UnackAlmC \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_UnackAlmC\"])[0].value\n\t\n\tif (Val_Notify \u003e 0) and ((Val_UnackAlmC \u003d\u003d 0) or ((Val_Notify \u0026 1) \u003d\u003d 1)):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "AlarmNotices" + }, + "position": { + "height": 20, + "width": 402 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "AbnormalSeparatorLine" + }, + "position": { + "height": 2, + "width": 352, + "y": 20 + }, + "props": { + "style": { + "borderColor": "#6A6A6A", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ResetAckAll" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_AlmAckAllReset_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "DisabledAckResetButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 302, + "y": 5 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ResetAckAll" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_AlmAckAllReset.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_ResetAckAll\", 1)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveAckResetButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 302, + "y": 5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/ORdy_ResetAckAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tORdy_ResetAckAll \u003d value\n\tVal_UnackAlmC \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_UnackAlmC\"])[0].value\n\t\n\tif (self.view.params.userHasBasic) and (ORdy_ResetAckAll):\n\t\tret_value \u003d True \n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Content1" + }, + "position": { + "height": 45, + "width": 403, + "x": 44 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Value", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 21, + "width": 80, + "y": 14 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_TgtDisagree\") \u003d True, \"#000000\", \"#E0E0E0\")" + }, + "type": "expr" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_TgtDisagree\") \u003d True, \"#FFFFFF\", \"#2A4191\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath}+ \"/Sts\"), upper(tag({view.params.tagPath}+ \"/Cfg_1StText\")), upper(tag({view.params.tagPath}+ \"/Cfg_0StText\")))" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "11pt", + "fontWeight": "bold", + "outlineStyle": "none", + "textAlign": "center" + }, + "textStyle": { + "classes": "States/DigitalInput/on" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 14, + "width": 72, + "x": 4 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "8pt", + "textAlign": "center" + }, + "text": "PV" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Exceptions" + }, + "position": { + "height": 17, + "width": 16, + "x": 84, + "y": 14 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\t\t\n\tSrcQ \u003d value\n\tindex \u003d 0\n\t\n\tSrcQ3 \u003d (SrcQ \u0026 8) \u003d\u003d 8\n\tSrcQ4 \u003d (SrcQ \u0026 16) \u003d\u003d 16\n\tSrcQ5 \u003d (SrcQ \u0026 32) \u003d\u003d 32\n\n\tif (SrcQ5):\n\t\tindex \u003d 3\n\telif (SrcQ4):\n\t\tindex \u003d 2\n\telif (SrcQ3):\n\t\tindex \u003d 1\n\n\tif (index \u003e 0):\n\t\tret_value \u003d True\t\t\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t 0: \"\",\n\t 1: \"Sts_Simulated\",\n\t 2: \"Sts_CommUncertain\",\n\t 3: \"Sts_CommBad\",\n\t}\n\t\t\t\n\tSrcQ \u003d value\n\tindex \u003d 0\n\t\n\tSrcQ3 \u003d (SrcQ \u0026 8) \u003d\u003d 8\n\tSrcQ4 \u003d (SrcQ \u0026 16) \u003d\u003d 16\n\tSrcQ5 \u003d (SrcQ \u0026 32) \u003d\u003d 32\n\n\tif (SrcQ5 \u003d\u003d True):\n\t\tindex \u003d 3\n\telif (SrcQ4 \u003d\u003d True):\n\t\tindex \u003d 2\n\telif (SrcQ3 \u003d\u003d True):\n\t\tindex \u003d 1\n\telse:\n\t\tindex \u003d 0\n\n\ttry:\n\t\tret_value \u003d images_path.format(images[index])\n\texcept:\n\t\tret_value \u003d images_path.format(\"Error\")\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "Status" + }, + "position": { + "height": 35, + "width": 100, + "x": 16 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Value", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 16, + "width": 72, + "x": 20, + "y": 12 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath}+ \"/Inp_Target\"), upper(tag({view.params.tagPath}+ \"/Cfg_1StText\")), upper(tag({view.params.tagPath}+ \"/Cfg_0StText\")))" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#2A4191", + "fontSize": "11pt", + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "center" + }, + "textStyle": { + "classes": "States/DigitalInput/on" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 14, + "width": 120 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "8pt", + "textAlign": "center" + }, + "text": "Target" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Inp_Target" + }, + "position": { + "height": 30, + "width": 120, + "y": 45 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "InformationSection" + }, + "position": { + "height": 75, + "width": 120 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Content2" + }, + "position": { + "height": 253, + "width": 330, + "x": 60, + "y": 42 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Home" + }, + "position": { + "height": 300, + "width": 392, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d 0", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 300, + "width": 353, + "x": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "y": 43 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 300, + "width": 392 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "AdvancedProperties" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Properties.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tblock_label \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_Label\"])[0].value\n\ttitle \u003d \"{0} - {1}\".format(block_label, \"Advanced\")\n\t\n\tparams \u003d {\u0027tagPath\u0027: self.view.params.tagPath}\n\t\n\tsystem.perspective.openPopup({self.view.params.tagPath},\u0027Plant PAX/Popups/P_DIn/P_DIn_Advanced\u0027, params, title, showCloseIcon \u003d True, resizable \u003d False)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "AdvancedPropertiesButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BadConfig" + }, + "position": { + "height": 16, + "width": 16, + "x": 22 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_Timer\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupNavToAdvanced" + }, + "position": { + "height": 42, + "width": 42, + "x": 50, + "y": 3 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 180, + "x": 30 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/TgtDisagreeGate/Cfg_InpCond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Value", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 21, + "width": 80, + "x": 10, + "y": 14 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath}+ \"/Sts\"), upper(tag({view.params.tagPath}+ \"/Cfg_1StText\")), upper(tag({view.params.tagPath}+ \"/Cfg_0StText\")))" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#2A4191", + "fontSize": "11pt", + "fontWeight": "bold", + "outlineStyle": "none", + "textAlign": "center" + }, + "textStyle": { + "classes": "States/DigitalInput/on" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 14, + "width": 100 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "8pt", + "textAlign": "center" + }, + "text": "Current Value" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "CurrentValue" + }, + "position": { + "height": 35, + "width": 100, + "y": 24 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Value", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 21, + "width": 72, + "x": 14, + "y": 14 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath}+ \"/Inp_Target\"), upper(tag({view.params.tagPath}+ \"/Cfg_1StText\")), upper(tag({view.params.tagPath}+ \"/Cfg_0StText\")))" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#2A4191", + "fontSize": "11pt", + "fontWeight": "bold", + "outlineStyle": "none", + "textAlign": "center" + }, + "textStyle": { + "classes": "States/DigitalInput/on" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 14, + "width": 100 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "8pt", + "textAlign": "center" + }, + "text": "Target" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Target" + }, + "position": { + "height": 35, + "width": 100, + "x": 53 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "CoordinateContainer" + }, + "position": { + "height": 1, + "width": 69, + "x": -4.00302, + "y": 24.2611 + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftStyle": "none", + "borderRightStyle": "none", + "borderTopColor": "#6A6A6A", + "borderTopStyle": "dashed", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 21, + "width": 21, + "x": 7 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_NotEqual.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "RightArrow" + }, + "position": { + "height": 21, + "width": 10, + "x": 25 + }, + "props": { + "color": "#000000", + "path": "material/chevron_left" + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "RightArrow_0" + }, + "position": { + "height": 21, + "width": 10 + }, + "props": { + "color": "#000000", + "path": "material/chevron_right" + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "NotEqualWithArrows" + }, + "position": { + "height": 21, + "width": 35, + "x": 14.9792, + "y": 13.9881 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TargetGroup" + }, + "position": { + "height": 35, + "width": 154, + "x": 89, + "y": 24 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 130, + "x": 14.932759259033219, + "y": 22.954366296386723 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.gateName} + \"Gate/Out\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\tstates \u003d {\n\t0: \"Target Agree\",\n\t1: \"Target Disagree\",\n\t2: \"Target Disagree Warning\",\n\t3: \"Target Disagree Failure\",\n\t}\n\t\n\tOut \u003d value\n\tparam101 \u003d self.parent.custom.param101\n\t\n\tif (not(Out)):\n\t\tindex \u003d 0\n\telif (param101 \u003d\u003d 2):\n\t\tindex \u003d 2\n\telif (param101 \u003d\u003d 3):\n\t\tindex \u003d 3\n\telse:\n\t\tindex \u003d 1\n\t\n\tret_value \u003d states[index]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#475CA7", + "fontSize": "10pt", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 17, + "width": 17, + "x": 71.7749, + "y": 8.8606 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.gateName} + \"Gate/Out\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Sts_Good\",\n\t1: \"Sts_NotOK\",\n\t}\n\t\n\tOut \u003d value\n\t\n\tif (Out \u003d\u003d 0):\n\t\tindex \u003d 0\n\telif (Out \u003d\u003d 1):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "height": 16, + "mode": "fill", + "width": 16 + } + }, + "type": "ia.display.image" + } + ], + "custom": { + "gateName": "TgtDisagree", + "param101": 1 + }, + "meta": { + "name": "GateResult" + }, + "position": { + "height": 48, + "width": 160, + "x": -0.5, + "y": 56 + }, + "props": { + "style": { + "backgroundColor": "#C6C6C6", + "borderColor": "#AAAAAA", + "borderStyle": "solid", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Line" + }, + "position": { + "height": 59, + "width": 1, + "x": 79, + "y": -1 + }, + "props": { + "style": { + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "dashed", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 130, + "x": 4, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.gateName} + \"Gate/Sts_Gate\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tSts_Gate \u003d value\n\t\n\tif (Sts_Gate):\n\t\tret_value \u003d \"Gate Pass\"\n\telif (not(Sts_Gate)):\n\t\tret_value \u003d \"Gate Blocked\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#475CA7", + "fontSize": "10pt", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16, + "x": 122 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.gateName} + \"Gate/Sts_Err\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tSts_Error \u003d value\n\t\n\tif (Sts_Error):\n\t\tret_value \u003d True\n\t\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "custom": { + "gateName": "TgtDisagree" + }, + "meta": { + "name": "GateButton" + }, + "position": { + "height": 20, + "width": 140, + "x": 10, + "y": 26 + }, + "props": { + "style": { + "backgroundColor": "#C6C6C6", + "borderColor": "#AAAAAA", + "borderStyle": "solid", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Icon" + }, + "position": { + "height": 13, + "width": 30, + "x": 64.5, + "y": 13 + }, + "props": { + "path": "material/keyboard_arrow_down" + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "Icon_0" + }, + "position": { + "height": 13, + "width": 30, + "x": 64.5, + "y": 54 + }, + "props": { + "path": "material/keyboard_arrow_down" + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "GateGroup" + }, + "position": { + "height": 108, + "width": 160, + "x": 42, + "y": 59 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "SAMA" + }, + "position": { + "height": 167, + "width": 243, + "x": 90, + "y": 50 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "MaintBypass" + }, + "position": { + "height": 16, + "width": 16, + "x": 193, + "y": 17 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_SubstPV\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_MaintByp.png" + }, + "type": "ia.display.image" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 111 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt" + }, + "text": "Use Substitute PV" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Track" + }, + "position": { + "height": 8, + "width": 32, + "x": 2, + "y": 4 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderBottomLeftRadius": "15%", + "borderBottomRightRadius": "15%", + "borderColor": "#6B6B6B", + "borderStyle": "solid", + "borderTopLeftRadius": "15%", + "borderTopRightRadius": "15%", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Fill" + }, + "position": { + "height": 8, + "width": 32, + "x": 2, + "y": 4 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_SubstPV\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#008080", + "borderBottomLeftRadius": "15%", + "borderBottomRightRadius": "15%", + "borderColor": "#6A6A6A", + "borderStyle": "solid", + "borderTopLeftRadius": "15%", + "borderTopRightRadius": "15%", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Indicator" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_SubstPV\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d 0\n\t\n\tSts_SubstPV \u003d value\n\t\n\tif (Sts_SubstPV):\n\t\tret_value \u003d 20\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#F0F0F0", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#6A6A6A", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "ToggleIndicator" + }, + "position": { + "height": 16, + "width": 37, + "x": 34, + "y": 7 + }, + "type": "ia.container.coord" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif (self.view.params.securityOverrideInputs) and (self.view.params.userHasBasic):\n\t\tsystem.tag.write(self.view.params.tagPath + \"/MCmd_InpPV\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "OffButton", + "tooltip": { + "tail": false + } + }, + "position": { + "height": 28, + "width": 50 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityOverrideInputs} \u0026\u0026 {view.params.userHasBasic} \u0026\u0026\r\n(tag({view.params.tagPath} + \"/Sts_SubstPV\") \u0026\u0026 tag({view.params.tagPath} + \"/MRdy_InpPV\")) ||\r\n(!tag({view.params.tagPath} + \"/Sts_SubstPV\") \u0026\u0026 tag({view.params.tagPath} + \"/MRdy_SubstPV\"))" + }, + "type": "expr" + } + } + }, + "props": { + "align": "start", + "justify": "start", + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "No" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif (self.view.params.securityOverrideInputs) and (self.view.params.userHasBasic):\n\t\tsystem.tag.write(self.view.params.tagPath + \"/MCmd_SubstPV\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "OnButton", + "tooltip": { + "tail": false + } + }, + "position": { + "height": 28, + "width": 50, + "x": 58 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityOverrideInputs} \u0026\u0026 {view.params.userHasBasic} \u0026\u0026\r\n(tag({view.params.tagPath} + \"/Sts_SubstPV\") \u0026\u0026 tag({view.params.tagPath} + \"/MRdy_InpPV\")) ||\r\n(!tag({view.params.tagPath} + \"/Sts_SubstPV\") \u0026\u0026 tag({view.params.tagPath} + \"/MRdy_SubstPV\"))" + }, + "type": "expr" + } + } + }, + "props": { + "align": "end", + "justify": "end", + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Yes" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "ToggleControl" + }, + "position": { + "height": 28, + "width": 110, + "x": 86, + "y": 16 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "SubstitutePVToggle" + }, + "position": { + "height": 44, + "width": 196 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "InpPV" + }, + "position": { + "height": 13, + "width": 70, + "x": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Inp_Sim\"), false, true)" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Inp_PV\"), tag({view.params.tagPath} + \"/Cfg_1stText\"), tag({view.params.tagPath} + \"/Cfg_1stText\"))" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#2A4191", + "fontSize": "10pt", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "SimPV" + }, + "position": { + "height": 13, + "width": 70, + "x": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Inp_Sim\"), true, false)" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Set_SimPV\"), tag({view.params.tagPath} + \"/Cfg_1stText\"), tag({view.params.tagPath} + \"/Cfg_1stText\"))" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#2A4191", + "fontSize": "10pt", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "InpPVDisplay" + }, + "position": { + "height": 16, + "width": 72, + "x": 10.00007, + "y": 22.991 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "InpPV" + }, + "position": { + "height": 13, + "width": 70, + "x": 212, + "y": 23.9851 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/MSet_SubstPV\"), tag({view.params.tagPath} + \"/Cfg_1stText\"), tag({view.params.tagPath} + \"/Cfg_1stText\"))" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#2A4191", + "fontSize": "10pt", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Track" + }, + "position": { + "height": 8, + "width": 32, + "x": 2, + "y": 4 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderBottomLeftRadius": "15%", + "borderBottomRightRadius": "15%", + "borderColor": "#6B6B6B", + "borderStyle": "solid", + "borderTopLeftRadius": "15%", + "borderTopRightRadius": "15%", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Fill" + }, + "position": { + "height": 8, + "width": 32, + "x": 2, + "y": 4 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/MSet_SubstPV\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#008080", + "borderBottomLeftRadius": "15%", + "borderBottomRightRadius": "15%", + "borderColor": "#6A6A6A", + "borderStyle": "solid", + "borderTopLeftRadius": "15%", + "borderTopRightRadius": "15%", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Indicator" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_SubstPV\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d 0\n\t\n\tSts_SubstPV \u003d value\n\t\n\tif (Sts_SubstPV):\n\t\tret_value \u003d 20\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#F0F0F0", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#6A6A6A", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "ToggleIndicator" + }, + "position": { + "height": 16, + "width": 37, + "x": 99, + "y": 7 + }, + "type": "ia.container.coord" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif (self.view.params.securityOverrideInputs) and (self.view.params.userHasBasic):\n\t\tsystem.tag.write(self.view.params.tagPath + \"/MSet_SubstPV\", False)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "OffButton", + "tooltip": { + "tail": false + } + }, + "position": { + "height": 28, + "width": 50, + "x": 64 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_SubstPV\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tSts_SubstPV \u003d value\n\t\n\tif (Sts_SubstPV) and (self.view.params.userHasBasic) and (self.view.params.securityOverrideInputs):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "align": "start", + "justify": "start", + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "OFF" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif (self.view.params.securityOverrideInputs) and (self.view.params.userHasBasic):\n\t\tsystem.tag.write(self.view.params.tagPath + \"/MSet_SubstPV\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "OnButton", + "tooltip": { + "tail": false + } + }, + "position": { + "height": 28, + "width": 50, + "x": 123 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_SubstPV\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tSts_SubstPV \u003d value\n\t\n\tif (Sts_SubstPV) and (self.view.params.userHasBasic) and (self.view.params.securityOverrideInputs):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "align": "end", + "justify": "end", + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "ON" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "ToggleControl", + "tooltip": { + "tail": false + } + }, + "position": { + "height": 28, + "width": 178 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "MSetSubstPVToggle" + }, + "position": { + "height": 28, + "width": 178, + "x": 130.985, + "y": 40.9896 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "SubstitutePV" + }, + "position": { + "height": 71, + "width": 322, + "x": 50, + "y": 217 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Maintenance" + }, + "position": { + "height": 300, + "width": 392, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d 1", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 300, + "width": 353, + "x": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "y": 83 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 300, + "width": 392 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d image_path.format(states[SrcQ_IO][0])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 330, + "x": 20 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][1]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.textStyle.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][3]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][2]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "CommStatus" + }, + "position": { + "height": 20, + "width": 350 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\t\n\tSrcQ_IO \u003d value\n\t\n\tif (SrcQ_IO \u003e\u003d 8):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][3]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Exceptions" + }, + "position": { + "height": 16, + "width": 16, + "x": 84, + "y": 14 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Inp_IOFault\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\t\t\n\tInp_IOFault \u003d value\n\t\n\tif (Inp_IOFault):\n\t\tret_value \u003d True \t\n\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_CommBad.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Value", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 21, + "width": 80, + "y": 14 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_TgtDisagree\") \u003d True, \"#000000\", \"#E0E0E0\")" + }, + "type": "expr" + } + }, + "props.style.color": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_TgtDisagree\") \u003d True, \"#FFFFFF\", \"#2A4191\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath}+ \"/Sts\"), upper(tag({view.params.tagPath}+ \"/Cfg_1StText\")), upper(tag({view.params.tagPath}+ \"/Cfg_0StText\")))" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "11pt", + "fontWeight": "bold", + "outlineStyle": "none", + "textAlign": "center" + }, + "textStyle": { + "classes": "States/DigitalInput/on" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 14, + "width": 72, + "x": 4 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "8pt", + "textAlign": "center" + }, + "text": "Raw Input" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "RawInput" + }, + "position": { + "height": 35, + "width": 100, + "x": 1, + "y": 49.4978 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Inp_Sim\"), false, true)" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 141 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt" + }, + "text": "PV Used in Simulation" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Track" + }, + "position": { + "height": 8, + "width": 32, + "x": 2, + "y": 4 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderBottomLeftRadius": "15%", + "borderBottomRightRadius": "15%", + "borderColor": "#6B6B6B", + "borderStyle": "solid", + "borderTopLeftRadius": "15%", + "borderTopRightRadius": "15%", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Fill" + }, + "position": { + "height": 8, + "width": 32, + "x": 2, + "y": 4 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Set_SimPV\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#008080", + "borderBottomLeftRadius": "15%", + "borderBottomRightRadius": "15%", + "borderColor": "#6A6A6A", + "borderStyle": "solid", + "borderTopLeftRadius": "15%", + "borderTopRightRadius": "15%", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Indicator" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Set_SimPV\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d 0\n\t\n\tSet_SimPV \u003d value\n\t\n\tif (Set_SimPV):\n\t\tret_value \u003d 20\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#F0F0F0", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#6A6A6A", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "ToggleIndicator" + }, + "position": { + "height": 16, + "width": 37, + "x": 34, + "y": 7 + }, + "type": "ia.container.coord" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif (self.view.params.securityEnableSimulation) and (self.view.params.userHasBasic):\n\t\tsystem.tag.write(self.view.params.tagPath + \"/Set_SimPV\", False)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "OffButton", + "tooltip": { + "tail": false + } + }, + "position": { + "height": 28, + "width": 50 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.userHasBasic} \u0026\u0026 {view.params.securityEnableSimulation}" + }, + "type": "expr" + } + } + }, + "props": { + "align": "start", + "justify": "start", + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "No" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif (self.view.params.securityEnableSimulation) and (self.view.params.userHasBasic):\n\t\tsystem.tag.write(self.view.params.tagPath + \"/Set_SimPV\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "OnButton", + "tooltip": { + "tail": false + } + }, + "position": { + "height": 28, + "width": 50, + "x": 58 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.userHasBasic} \u0026\u0026 {view.params.securityEnableSimulation}" + }, + "type": "expr" + } + } + }, + "props": { + "align": "end", + "justify": "end", + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Yes" + }, + "type": "ia.input.button" + } + ], + "custom": { + "alpha": "FF" + }, + "meta": { + "name": "ToggleControl" + }, + "position": { + "height": 28, + "width": 110, + "x": 41, + "y": 16 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "SubstitutePVToggle" + }, + "position": { + "height": 44, + "width": 196, + "x": -0.01190185546875, + "y": 89.99554634094238 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Inp_Sim\"), true, false)" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "DiagnosticsContent" + }, + "position": { + "height": 134, + "width": 350, + "x": 40.9936, + "y": 0.00000190735 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Diagnostics" + }, + "position": { + "height": 300, + "width": 392, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d 2", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 300, + "width": 353, + "x": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "y": 123 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 300, + "width": 392 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ResetAckAll" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_AlmAckAllReset_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "DisabledAckResetButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 300 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ResetAckAll" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_AlmAckAllReset.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_ResetAckAll\", 1)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveAckResetButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 300 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/ORdy_ResetAckAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tORdy_ResetAckAll \u003d value\n\tVal_UnackAlmC \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_UnackAlmC\"])[0].value\n\t\n\tif (self.view.params.userHasBasic) and (ORdy_ResetAckAll):\n\t\tret_value \u003d True \n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "GO_AlarmDisplay_IOFault" + }, + "position": { + "height": 34, + "width": 291 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "alarmName": "IOFault" + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Alarm Objects/GO_AlarmDisplay" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_AlarmDisplay_TgtDisagree" + }, + "position": { + "height": 34, + "width": 291, + "y": 37 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "alarmName": "TgtDisagree" + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Alarm Objects/GO_AlarmDisplay" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Alarms" + }, + "position": { + "height": 75, + "width": 291 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "AlarmContent" + }, + "position": { + "height": 75, + "width": 340, + "x": 43, + "y": 5 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Alarm" + }, + "position": { + "height": 300, + "width": 392, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d 3", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 300, + "width": 353, + "x": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "y": 253 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 300, + "width": 392 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 108, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "caption": "P_DIn", + "label": "Popup Name:" + }, + "meta": { + "name": "PopupID" + }, + "position": { + "height": 18, + "width": 255, + "x": 125, + "y": 206 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 108, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "PlantPAX Version:" + }, + "meta": { + "name": "PlantPAX Version" + }, + "position": { + "height": 18, + "width": 255, + "x": 125, + "y": 229 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/version\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 108, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "UDT Version:" + }, + "meta": { + "name": "UDTVersion" + }, + "position": { + "height": 18, + "width": 255, + "x": 125, + "y": 252 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Prime Version\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 108, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "Popup Version:" + }, + "meta": { + "name": "PopupVersion" + }, + "position": { + "height": 18, + "width": 255, + "x": 125, + "y": 275 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "path": "view.custom.popupVersion" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Version" + }, + "position": { + "height": 300, + "width": 392, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d -1", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "AlarmPolygon" + }, + "position": { + "height": 39, + "width": 39, + "y": 117 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\tret_value \u003d ret_value and (self.view.params.selectedTab !\u003d 3)\t# Show it only if active tab different than alarm tab \n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d value\n\t\n\tcolors \u003d [\"\",\n\t\"#FFFFFF\",\n\t\"#916AAD\",\n\t\"#916AAD\",\n\t\"#F5DF1B\",\n\t\"#F5DF1B\",\n\t\"#EC8729\",\n\t\"#EC8729\",\n\t\"#E22028\",\n\t\"#E22028\",\n\t\"\"]\n\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d colors[Val_NotifyAll]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "borderBottomStyle": "solid", + "borderBottomWidth": 2, + "borderLeftStyle": "solid", + "borderLeftWidth": 2, + "borderRightStyle": "none", + "borderTopStyle": "solid", + "borderTopWidth": 2 + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonHome" + }, + "position": { + "height": 35, + "width": 35, + "x": 2 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Home.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 1" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonMaintenance" + }, + "position": { + "height": 35, + "width": 35, + "x": 2, + "y": 40 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Maint.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 2" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonDiagnostics" + }, + "position": { + "height": 35, + "width": 35, + "x": 2, + "y": 80 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Diag.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 3" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonAlarm" + }, + "position": { + "height": 35, + "width": 35, + "x": 2, + "y": 120 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Alm.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d -1" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonHelp" + }, + "position": { + "height": 32, + "rotate": { + "angle": "180deg" + }, + "width": 32, + "x": 2, + "y": 250 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Faults.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "MaintBypass" + }, + "position": { + "height": 16, + "width": 16, + "y": 37 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_SubstPV\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_MaintByp.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "AlarmInh" + }, + "position": { + "height": 16, + "width": 16, + "y": 116.99519348144531 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_AlmInh\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Alm_Inhibit.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 23, + "y": 37 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Err_Timer\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "BadConfigAlarm" + }, + "position": { + "height": 16, + "width": 16, + "x": 23, + "y": 118 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Err_Alarm\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupTabButtons" + }, + "position": { + "height": 287, + "width": 39, + "x": 3, + "y": 5 + }, + "type": "ia.container.coord" + } + ], + "events": { + "system": { + "onStartup": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_DIn/P_DIn_Advanced/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_DIn/P_DIn_Advanced/resource.json new file mode 100644 index 0000000..321cebb --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_DIn/P_DIn_Advanced/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "fbfac3db6eb2e762da4fccbb1f64a3607edf51ba811ce3270110b8ff6264dc92", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_DIn/P_DIn_Advanced/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_DIn/P_DIn_Advanced/thumbnail.png new file mode 100644 index 0000000..bc8f368 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_DIn/P_DIn_Advanced/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_DIn/P_DIn_Advanced/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_DIn/P_DIn_Advanced/view.json new file mode 100644 index 0000000..37f3fbd --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_DIn/P_DIn_Advanced/view.json @@ -0,0 +1,2635 @@ +{ + "custom": { + "popupVersion": " 1.0 " + }, + "params": { + "securityDeviceConfigHMI": true, + "securityDeviceConfigTimers": true, + "securityEnableSimulation": true, + "securityOverrideInputs": true, + "selectedTab": 0, + "tagPath": "[default]Test_Tags/P_Din", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "custom.popupVersion": { + "persistent": true + }, + "params.securityDeviceConfigHMI": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigHMI\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityDeviceConfigTimers": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigTimers\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityEnableSimulation": { + "binding": { + "config": { + "expression": "\"securityEnableSimulation\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityOverrideInputs": { + "binding": { + "config": { + "expression": "\"securityOverrideInputs\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.selectedTab": { + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 442, + "width": 350 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Tab1" + }, + "position": { + "height": 39, + "width": 37 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab2" + }, + "position": { + "height": 39, + "width": 37, + "x": 40 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab3" + }, + "position": { + "height": 39, + "width": 37, + "x": 80 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "InactiveTabs" + }, + "position": { + "height": 39, + "width": 117, + "x": 4, + "y": 4 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 403, + "width": 350, + "y": 42 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab" + }, + "position": { + "height": 39, + "width": 40, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 442, + "width": 350 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line0" + }, + "position": { + "height": 42.99999999999999, + "rotate": { + "angle": "90deg" + }, + "width": 2, + "x": 114.46, + "y": 45.2556 + }, + "props": { + "style": { + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "dashed", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Line1" + }, + "position": { + "height": 34, + "rotate": { + "angle": "90deg" + }, + "width": 2, + "x": 108.333, + "y": 92.3333 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_NoSubstPV\"), false, true)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "dashed", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Line2" + }, + "position": { + "height": 127, + "rotate": { + "angle": 0 + }, + "width": -1, + "x": 138, + "y": 66 + }, + "props": { + "style": { + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "dashed", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image_0" + }, + "position": { + "height": 27, + "width": 27, + "x": 125, + "y": 95 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_Transfer.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Icon" + }, + "position": { + "height": 13, + "width": 30, + "x": 123.5, + "y": 86 + }, + "props": { + "path": "material/keyboard_arrow_down" + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "Icon_0" + }, + "position": { + "height": 13, + "width": 30, + "x": 123.01, + "y": 144 + }, + "props": { + "path": "material/keyboard_arrow_down" + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "Icon_1" + }, + "position": { + "height": 13, + "width": 30, + "x": 123.01, + "y": 185 + }, + "props": { + "path": "material/keyboard_arrow_down" + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "Icon_2" + }, + "position": { + "height": 13, + "rotate": { + "angle": -90 + }, + "width": 30, + "x": 109.01, + "y": 102 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_NoSubstPV\"), false, true)" + }, + "type": "expr" + } + } + }, + "props": { + "path": "material/keyboard_arrow_down" + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "Line3" + }, + "position": { + "height": 25, + "rotate": { + "angle": "90deg" + }, + "width": 1, + "x": 105.457, + "y": 135.436 + }, + "props": { + "style": { + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Line4" + }, + "position": { + "height": 15, + "rotate": { + "angle": "-45deg" + }, + "width": 1, + "x": 122.457, + "y": 145.436 + }, + "props": { + "style": { + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Icon_3" + }, + "position": { + "height": 13, + "rotate": { + "angle": "-45deg" + }, + "width": 30, + "x": 106.01, + "y": 145 + }, + "props": { + "path": "material/keyboard_arrow_down" + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 21, + "width": 33, + "x": 122, + "y": 153 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_TimeFunction.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "LinesAndIcons" + }, + "position": { + "height": 350, + "width": 332 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 180, + "x": 76, + "y": 10 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/TgtDisagreeGate/Cfg_InpCond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Value", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 21, + "width": 80, + "x": 10, + "y": 14 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath}+ \"/Sts\"), upper(tag({view.params.tagPath}+ \"/Cfg_1StText\")), upper(tag({view.params.tagPath}+ \"/Cfg_0StText\")))" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#2A4191", + "fontSize": "11pt", + "fontWeight": "bold", + "outlineStyle": "none", + "textAlign": "center" + }, + "textStyle": { + "classes": "States/DigitalInput/on" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 14, + "width": 100 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "8pt", + "textAlign": "center" + }, + "text": "Current Value" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "CurrentValue" + }, + "position": { + "height": 35, + "width": 100, + "x": 87, + "y": 194 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Value", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 21, + "width": 72, + "x": 14, + "y": 14 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath}+ \"/Inp_Target\"), upper(tag({view.params.tagPath}+ \"/Cfg_1StText\")), upper(tag({view.params.tagPath}+ \"/Cfg_0StText\")))" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#2A4191", + "fontSize": "11pt", + "fontWeight": "bold", + "outlineStyle": "none", + "textAlign": "center" + }, + "textStyle": { + "classes": "States/DigitalInput/on" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 14, + "width": 100 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "8pt", + "textAlign": "center" + }, + "text": "Target" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Target" + }, + "position": { + "height": 35, + "width": 100, + "x": 53 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "CoordinateContainer" + }, + "position": { + "height": 1, + "width": 69, + "x": -4.00302, + "y": 24.2611 + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftStyle": "none", + "borderRightStyle": "none", + "borderTopColor": "#6A6A6A", + "borderTopStyle": "dashed", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 21, + "width": 21, + "x": 7 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_NotEqual.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "RightArrow" + }, + "position": { + "height": 21, + "width": 10, + "x": 25 + }, + "props": { + "color": "#000000", + "path": "material/chevron_left" + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "RightArrow_0" + }, + "position": { + "height": 21, + "width": 10 + }, + "props": { + "color": "#000000", + "path": "material/chevron_right" + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "NotEqualWithArrows" + }, + "position": { + "height": 21, + "width": 35, + "x": 14.9792, + "y": 13.9881 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TargetGroup" + }, + "position": { + "height": 35, + "width": 154, + "x": 176, + "y": 194 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 130, + "x": 14.932759259033219, + "y": 22.954366296386723 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.gateName} + \"Gate/Out\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\tstates \u003d {\n\t0: \"Target Agree\",\n\t1: \"Target Disagree\",\n\t2: \"Target Disagree Warning\",\n\t3: \"Target Disagree Failure\",\n\t}\n\t\n\tOut \u003d value\n\tparam101 \u003d self.parent.custom.param101\n\t\n\tif (not(Out)):\n\t\tindex \u003d 0\n\telif (param101 \u003d\u003d 2):\n\t\tindex \u003d 2\n\telif (param101 \u003d\u003d 3):\n\t\tindex \u003d 3\n\telse:\n\t\tindex \u003d 1\n\t\n\tret_value \u003d states[index]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#475CA7", + "fontSize": "10pt", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 17, + "width": 17, + "x": 71.7749, + "y": 8.8606 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.gateName} + \"Gate/Out\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Sts_Good\",\n\t1: \"Sts_NotOK\",\n\t}\n\t\n\tOut \u003d value\n\t\n\tif (Out \u003d\u003d 0):\n\t\tindex \u003d 0\n\telif (Out \u003d\u003d 1):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "height": 16, + "mode": "fill", + "width": 16 + } + }, + "type": "ia.display.image" + } + ], + "custom": { + "gateName": "TgtDisagree", + "param101": 1 + }, + "meta": { + "name": "GateResult" + }, + "position": { + "height": 48, + "width": 160, + "x": -0.5, + "y": 56 + }, + "props": { + "style": { + "backgroundColor": "#C6C6C6", + "borderColor": "#AAAAAA", + "borderStyle": "solid", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Line" + }, + "position": { + "height": 59, + "width": 1, + "x": 79, + "y": -1 + }, + "props": { + "style": { + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "dashed", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 130, + "x": 4, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.gateName} + \"Gate/Sts_Gate\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tSts_Gate \u003d value\n\t\n\tif (Sts_Gate):\n\t\tret_value \u003d \"Gate Pass\"\n\telif (not(Sts_Gate)):\n\t\tret_value \u003d \"Gate Blocked\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#475CA7", + "fontSize": "10pt", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16, + "x": 122 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.gateName} + \"Gate/Sts_Err\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tSts_Error \u003d value\n\t\n\tif (Sts_Error):\n\t\tret_value \u003d True\n\t\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "custom": { + "gateName": "TgtDisagree" + }, + "meta": { + "name": "GateButton" + }, + "position": { + "height": 20, + "width": 140, + "x": 10, + "y": 26 + }, + "props": { + "style": { + "backgroundColor": "#C6C6C6", + "borderColor": "#AAAAAA", + "borderStyle": "solid", + "borderWidth": 1, + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Icon" + }, + "position": { + "height": 13, + "width": 30, + "x": 64.5, + "y": 13 + }, + "props": { + "path": "material/keyboard_arrow_down" + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "Icon_0" + }, + "position": { + "height": 13, + "width": 30, + "x": 64.5, + "y": 54 + }, + "props": { + "path": "material/keyboard_arrow_down" + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "GateGroup" + }, + "position": { + "height": 108, + "width": 160, + "x": 129, + "y": 229 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Value", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 21, + "width": 80, + "x": 10, + "y": 14 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath}+ \"/Sts_PV\"), upper(tag({view.params.tagPath}+ \"/Cfg_1StText\")), upper(tag({view.params.tagPath}+ \"/Cfg_0StText\")))" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#2A4191", + "fontSize": "11pt", + "fontWeight": "bold", + "outlineStyle": "none", + "textAlign": "center" + }, + "textStyle": { + "classes": "States/DigitalInput/on" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 14, + "width": 100 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "8pt", + "textAlign": "center" + }, + "text": "PV from Input" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "InputPV" + }, + "position": { + "height": 35, + "width": 100, + "x": 3, + "y": 44 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Inp_Sim\"), false, true)" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Value", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 21, + "width": 80, + "x": 10, + "y": 14 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath}+ \"/Sts_PV\"), upper(tag({view.params.tagPath}+ \"/Cfg_1StText\")), upper(tag({view.params.tagPath}+ \"/Cfg_0StText\")))" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#2A4191", + "fontSize": "11pt", + "fontWeight": "bold", + "outlineStyle": "none", + "textAlign": "center" + }, + "textStyle": { + "classes": "States/DigitalInput/on" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 14, + "width": 100 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "8pt", + "textAlign": "center" + }, + "text": "Simulation PV" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "SimPV" + }, + "position": { + "height": 35, + "width": 100, + "x": 3, + "y": 44 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Inp_Sim\"), true, false)" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Value", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 21, + "width": 80, + "x": 10, + "y": 14 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath}+ \"/Sts_PV\"), upper(tag({view.params.tagPath}+ \"/Cfg_1StText\")), upper(tag({view.params.tagPath}+ \"/Cfg_0StText\")))" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#2A4191", + "fontSize": "11pt", + "fontWeight": "bold", + "outlineStyle": "none", + "textAlign": "center" + }, + "textStyle": { + "classes": "States/DigitalInput/on" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 14, + "width": 100 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "8pt", + "textAlign": "center" + }, + "text": "Simulation PV" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "SubPV" + }, + "position": { + "height": 35, + "width": 100, + "x": 3, + "y": 84 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_NoSubstPV\"), false, true)" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 14, + "width": 85 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "8pt", + "textAlign": "center" + }, + "text": "Debounce Time" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "ndeDebounceTime" + }, + "position": { + "height": 20, + "width": 77, + "x": 4.08, + "y": 13.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigTimers} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_Debounce\"" + }, + "type": "tag" + } + } + }, + "props": { + "format": "0,0.000", + "inputBounds": { + "maximum": 2147483.647, + "minimum": 0 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "children": [ + { + "meta": { + "name": "ErrOutline" + }, + "position": { + "height": 25, + "width": 84, + "x": 1, + "y": 2.5 + }, + "props": { + "style": { + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "2px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 84, + "y": 1.5 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "ndeErr" + }, + "position": { + "height": 29, + "width": 102, + "y": 9 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_Timer\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "ndeDebounceTime" + }, + "position": { + "height": 39, + "width": 102, + "x": 13, + "y": 130 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "SAMA" + }, + "position": { + "height": 350, + "width": 332, + "x": 8, + "y": 50 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Maintenance" + }, + "position": { + "height": 442, + "width": 350, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 0)", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 403, + "width": 350, + "y": 42 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab" + }, + "position": { + "height": 39, + "width": 40, + "x": 39, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 442, + "width": 350 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "GO_Cfg_NoSubstPV" + }, + "position": { + "height": 32, + "width": 340, + "x": 5, + "y": 52.987 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "securityEnableSimulation": true, + "securityOverrideInputs": true, + "selectedTab": 3, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_NoSubstPV" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TabPage_Engineering" + }, + "position": { + "height": 442, + "width": 350, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d 1", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 402, + "width": 350, + "y": 42 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "x": 80, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 442, + "width": 350 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "GO_Desc_Label_Tag" + }, + "position": { + "height": 68.00000000000001, + "width": 340, + "x": 5, + "y": 3.99 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigHMI": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Desc_Label_Tag" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_Area" + }, + "position": { + "height": 20, + "width": 340, + "x": 5, + "y": 70.987 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityConfigSecurity": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_Area" + }, + "type": "ia.display.view" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 214, + "x": 16.1, + "y": 2 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Text to Display in PV \u003d 0 State:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "TextField" + }, + "position": { + "height": 20, + "width": 76, + "x": 257 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigHMI} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_0StText\"" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": "1px", + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.input.text-field" + } + ], + "meta": { + "name": "sde_Cfg_0StText" + }, + "position": { + "height": 20, + "width": 350, + "y": 94 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 214, + "x": 16.1, + "y": 2 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Text to Display in PV \u003d 1 State:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "TextField" + }, + "position": { + "height": 20, + "width": 76, + "x": 257 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigHMI} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_1StText\"" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": "1px", + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.input.text-field" + } + ], + "meta": { + "name": "sde_Cfg_1StText" + }, + "position": { + "height": 20, + "width": 350, + "y": 118 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TextConfig" + }, + "position": { + "height": 200, + "width": 350, + "y": 47 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_NormTextVis\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigHMI} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 310, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Display state text in \"normal\" state (\u003d target)" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_NormTextVis\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_NormTextVis\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigHMI} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "cb_Cfg_NormTextVis" + }, + "position": { + "height": 243, + "width": 350 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "HMIConfig" + }, + "position": { + "height": 246, + "width": 350, + "y": 193 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_HMI" + }, + "position": { + "height": 442, + "width": 350, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d 2", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 403, + "width": 350, + "y": 42 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab" + }, + "position": { + "height": 39, + "width": 40, + "x": 306, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 442, + "width": 350 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 145, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "caption": "P_DIn_Advanced", + "label": "Popup Name:" + }, + "meta": { + "name": "PopupID" + }, + "position": { + "height": 18, + "width": 292, + "x": 48, + "y": 346 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 145, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "PlantPAX Version:" + }, + "meta": { + "name": "PlantPAX Version" + }, + "position": { + "height": 18, + "width": 292, + "x": 48, + "y": 369 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/version\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 145, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "UDT Version:" + }, + "meta": { + "name": "UDTVersion" + }, + "position": { + "height": 18, + "width": 292, + "x": 48, + "y": 392 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Prime Version\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 145, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "Popup Version:" + }, + "meta": { + "name": "PopupVersion" + }, + "position": { + "height": 18, + "width": 292, + "x": 48, + "y": 415 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "path": "view.custom.popupVersion" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Version" + }, + "position": { + "height": 442, + "width": 350, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d -1", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonMaintenance" + }, + "position": { + "height": 35, + "width": 35, + "x": 2 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Maint.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 1" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonEngineering" + }, + "position": { + "height": 35, + "width": 35, + "x": 42 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Eng.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 2" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonHMI" + }, + "position": { + "height": 35, + "width": 35, + "x": 81 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_HMI.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d -1" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonHelp" + }, + "position": { + "height": 32, + "rotate": { + "angle": "180deg" + }, + "width": 32, + "x": 311 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Faults.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 23, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Err_Timer\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupTabButtons" + }, + "position": { + "height": 35, + "width": 346, + "x": 3, + "y": 5 + }, + "type": "ia.container.coord" + } + ], + "events": { + "system": { + "onStartup": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 0\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_DOut/P_DOut/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_DOut/P_DOut/resource.json new file mode 100644 index 0000000..4c78261 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_DOut/P_DOut/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "b6693f69f800fa0292272c99f3224f2d1b0c8d559d264e660d2f7d730e9eff34", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_DOut/P_DOut/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_DOut/P_DOut/thumbnail.png new file mode 100644 index 0000000..e636555 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_DOut/P_DOut/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_DOut/P_DOut/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_DOut/P_DOut/view.json new file mode 100644 index 0000000..fafa516 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_DOut/P_DOut/view.json @@ -0,0 +1,6069 @@ +{ + "custom": { + "cmdSrcTitle": "XY_14 - XY_14", + "popupVersion": " 1.0 " + }, + "params": { + "securityBypassInterlocks": true, + "securityEnableSimulation": true, + "securityOperateEquipment": true, + "securityOverrideInputs": true, + "selectedTab": 3, + "tagPath": "[DH1]Block 1/Process/Control/XY_14", + "userHasBasic": true + }, + "propConfig": { + "custom.cmdSrcTitle": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_Tag\") + \" - \" + tag({view.params.tagPath}+\"/Cfg_Label\")" + }, + "type": "expr" + }, + "persistent": true + }, + "custom.popupVersion": { + "persistent": true + }, + "params.securityBypassInterlocks": { + "binding": { + "config": { + "expression": "\"securityBypassInterlocks\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityEnableSimulation": { + "binding": { + "config": { + "expression": "\"securityEnableSimulation\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityOperateEquipment": { + "binding": { + "config": { + "expression": "\"securityOperateEquipment\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityOverrideInputs": { + "binding": { + "config": { + "expression": "\"securityOverrideInputs\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.selectedTab": { + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 300, + "width": 392 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Tab1" + }, + "position": { + "height": 37, + "width": 39 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab2" + }, + "position": { + "height": 37, + "width": 39, + "y": 40 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab3" + }, + "position": { + "height": 37, + "width": 39, + "y": 80 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab4" + }, + "position": { + "height": 37, + "width": 39, + "y": 120 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "InactiveTabs" + }, + "position": { + "height": 157, + "width": 40, + "x": 4, + "y": 4 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 300, + "width": 353, + "x": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 300, + "width": 392 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "StatusText_Ready" + }, + "position": { + "height": 16, + "width": 42, + "x": 6, + "y": 2 + }, + "props": { + "text": "Ready", + "textStyle": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d image_path.format(states[SrcQ_IO][0])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 330, + "x": 20 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][1]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.textStyle.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][3]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][2]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "CommStatus" + }, + "position": { + "height": 20, + "width": 350 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\t\n\tSrcQ_IO \u003d value\n\t\n\tif (SrcQ_IO \u003e\u003d 8):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][3]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "custom": { + "parameterName": "NRdy_PrioOff" + }, + "meta": { + "name": "GONoticeNRdy_PrioOff" + }, + "position": { + "height": 21, + "width": 398 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {this.custom.parameterName}), true, false)" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{this.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#3F3F3F", + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameterName": "NRdy_Fail" + }, + "meta": { + "name": "GONoticeNRdy_Fail" + }, + "position": { + "height": 21, + "width": 398 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {this.custom.parameterName}), true, false)" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{this.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#3F3F3F", + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameterName": "NRdy_Perm" + }, + "meta": { + "name": "GONoticeNRdy_Perm" + }, + "position": { + "height": 21, + "width": 398 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {this.custom.parameterName}), true, false)" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{this.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#3F3F3F", + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameterName": "NRdy_Intlk" + }, + "meta": { + "name": "GONoticeNRdy_Intlk" + }, + "position": { + "height": 21, + "width": 398 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {this.custom.parameterName}), true, false)" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{this.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#3F3F3F", + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameterName": "NRdy_IOFault" + }, + "meta": { + "name": "GONoticeNRdy_IOFault" + }, + "position": { + "height": 21, + "width": 398 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {this.custom.parameterName}), true, false)" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{this.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#3F3F3F", + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameterName": "NRdy_OoS" + }, + "meta": { + "name": "GONoticeNRdy_OoS" + }, + "position": { + "height": 21, + "width": 398 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {this.custom.parameterName}), true, false)" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{this.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#3F3F3F", + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameterName": "NRdy_CfgErr" + }, + "meta": { + "name": "GONoticeNRdy_CfgErr" + }, + "position": { + "height": 21, + "width": 398 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {this.custom.parameterName}), true, false)" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{this.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#3F3F3F", + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "NRdyNotices" + }, + "position": { + "height": 21, + "width": 402 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "AlarmSeverityIndicator" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "AlarmText" + }, + "position": { + "height": 16, + "width": 367, + "x": 22, + "y": 2 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Cfg_Cond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "alarmParameterName": "OffFail" + }, + "meta": { + "name": "AlarmNotify_OffFail" + }, + "position": { + "height": 20, + "width": 402 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {this.custom.alarmParameterName} + \"/Val_Notify\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tVal_Notify \u003d value\n\tVal_UnackAlmC \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_UnackAlmC\"])[0].value\n\t\n\tif (Val_Notify \u003e 0) and ((Val_UnackAlmC \u003d\u003d 0) or ((Val_Notify \u0026 1) \u003d\u003d 1)):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "AlarmSeverityIndicator" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "AlarmText" + }, + "position": { + "height": 16, + "width": 367, + "x": 22, + "y": 2 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Cfg_Cond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "alarmParameterName": "IOFault" + }, + "meta": { + "name": "AlarmNotify_IOFault" + }, + "position": { + "height": 20, + "width": 402 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {this.custom.alarmParameterName} + \"/Val_Notify\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tVal_Notify \u003d value\n\tVal_UnackAlmC \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_UnackAlmC\"])[0].value\n\t\n\tif (Val_Notify \u003e 0) and ((Val_UnackAlmC \u003d\u003d 0) or ((Val_Notify \u0026 1) \u003d\u003d 1)):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "AlarmSeverityIndicator" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "AlarmText" + }, + "position": { + "height": 16, + "width": 367, + "x": 22, + "y": 2 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Cfg_Cond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "alarmParameterName": "IntlkTrip" + }, + "meta": { + "name": "AlarmNotify_IntlkTrip" + }, + "position": { + "height": 20, + "width": 402 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {this.custom.alarmParameterName} + \"/Val_Notify\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tVal_Notify \u003d value\n\tVal_UnackAlmC \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_UnackAlmC\"])[0].value\n\t\n\tif (Val_Notify \u003e 0) and ((Val_UnackAlmC \u003d\u003d 0) or ((Val_Notify \u0026 1) \u003d\u003d 1)):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "AlarmSeverityIndicator" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "AlarmText" + }, + "position": { + "height": 16, + "width": 367, + "x": 22, + "y": 2 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Cfg_Cond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "alarmParameterName": "OnFail" + }, + "meta": { + "name": "AlarmNotify_OnFail" + }, + "position": { + "height": 20, + "width": 402 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {this.custom.alarmParameterName} + \"/Val_Notify\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tVal_Notify \u003d value\n\tVal_UnackAlmC \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_UnackAlmC\"])[0].value\n\t\n\tif (Val_Notify \u003e 0) and ((Val_UnackAlmC \u003d\u003d 0) or ((Val_Notify \u0026 1) \u003d\u003d 1)):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "AlarmNotices" + }, + "position": { + "height": 20, + "width": 402 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "AbnormalSeparatorLine" + }, + "position": { + "height": 2, + "width": 352, + "y": 20 + }, + "props": { + "style": { + "borderColor": "#6A6A6A", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ResetAckAll" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_AlmAckAllReset_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "DisabledAckResetButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 302, + "y": 5 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ResetAckAll" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_AlmAckAllReset.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_ResetAckAll\", 1)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveAckResetButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 302, + "y": 5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/ORdy_ResetAckAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tORdy_ResetAckAll \u003d value\n\tVal_UnackAlmC \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_UnackAlmC\"])[0].value\n\t\n\tif (self.view.params.userHasBasic) and (ORdy_ResetAckAll):\n\t\tret_value \u003d True \n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Content1" + }, + "position": { + "height": 45, + "width": 403, + "x": 44 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Value", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 18, + "width": 110, + "x": 99.99, + "y": -1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath}+ \"/Sts_Out\"), upper(tag({view.params.tagPath}+ \"/Cfg_1StText\")), upper(tag({view.params.tagPath}+ \"/Cfg_0StText\")))" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#2A4191", + "fontSize": "11pt", + "fontWeight": "bold", + "outlineStyle": "none", + "textAlign": "left" + }, + "textStyle": { + "classes": "States/DigitalInput/on" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 14, + "width": 85, + "x": 8, + "y": 1 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "8pt", + "textAlign": "right" + }, + "text": "Output" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Sts_Out" + }, + "position": { + "height": 18, + "width": 210, + "y": 59 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Value", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 18, + "width": 110, + "x": 99.99, + "y": -1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Val_Fdbk\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tVal_Fdbk \u003d value\n\tCfg_0StText \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_0StText\"])[0].value\n\tCfg_1StText \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_1StText\"])[0].value\n\n\tif (Val_Fdbk \u003d\u003d 2):\n\t\tret_value \u003d Cfg_1StText\n\telif (Val_Fdbk \u003d\u003d 1):\n\t\tret_value \u003d Cfg_0StText\n\telif (Val_Fdbk \u003d\u003d 0):\n\t\tret_value \u003d \"Transition\"\n\telse:\n\t\tret_value \u003d \"Unknown\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#2A4191", + "fontSize": "11pt", + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "left" + }, + "textStyle": { + "classes": "States/DigitalInput/on" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 14, + "width": 85, + "x": 8, + "y": 1 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "8pt", + "textAlign": "right" + }, + "text": "Feedback" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Val_Feedback" + }, + "position": { + "height": 18, + "width": 210, + "x": 0.0104218, + "y": 33 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Val_Sts_DOut", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 20, + "width": 190 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Val_Sts\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\tstates \u003d {\n\t0: \"Off\",\n\t1: \"On\",\n\t2: \"Pulsing Off\",\n\t3: \"Pulsing On\",\n\t4: \"Continuous Pulse\",\n\t5: \"Turning Off\",\n\t6: \"Turning On\",\n\t7: \"Horn\",\n\t}\n\t\n\tVal_Sts \u003d value\n\tindex \u003d Val_Sts\n\t\n\tret_value \u003d states[index]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#D4D4D4", + "color": "#2A4191", + "fontSize": "11pt", + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "Left" + }, + "textStyle": { + "classes": "States/DigitalInput/on" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "InformationSection" + }, + "position": { + "height": 77, + "width": 210 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "1State" + }, + "position": { + "height": 14, + "width": 56, + "x": 137.038, + "y": -0.00000651855 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_1StText\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "8pt", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "0State" + }, + "position": { + "height": 14, + "width": 56, + "x": 91.038 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_0StText\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "8pt", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFaceDisabled" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_TurnOn_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "InactiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_TurnOn.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_On\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{view.params.userHasBasic} \u0026\u0026 {view.params.securityOperateEquipment} \u0026\u0026 tag({view.params.tagPath} + \"/ORdy_On\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GO_OnButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 145.039, + "y": 17 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFaceDisabled" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_TurnOff_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "InactiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_TurnOff.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_Off\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{view.params.userHasBasic} \u0026\u0026 {view.params.securityOperateEquipment} \u0026\u0026 tag({view.params.tagPath} + \"/ORdy_Off\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GO_OffButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 101.038, + "y": 17.0048 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFaceDisabled" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_PulseOn_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "InactiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_PulseOn.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_OnPulse\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{view.params.userHasBasic} \u0026\u0026 {view.params.securityOperateEquipment} \u0026\u0026 tag({view.params.tagPath} + \"/ORdy_OnPulse\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GO_PulseOnButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 189.031, + "y": 17 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasPulse\"), true, false)" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFaceDisabled" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_PulseOff_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "InactiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_PulseOff.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_OffPulse\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{view.params.userHasBasic} \u0026\u0026 {view.params.securityOperateEquipment} \u0026\u0026 tag({view.params.tagPath} + \"/ORdy_OffPulse\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GO_PulseOffButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 56.0156, + "y": 17 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasPulse\"), true, false)" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFaceDisabled" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_PulseContinuous_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "InactiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_PulseContinuous.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_ContPulse\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{view.params.userHasBasic} \u0026\u0026 {view.params.securityOperateEquipment} \u0026\u0026 tag({view.params.tagPath} + \"/ORdy_ContPulse\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GO_PulseButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 10.01562, + "y": 17 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasPulse\"), true, false)" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "CommandButtons" + }, + "position": { + "height": 58, + "width": 240, + "x": 99.987556519 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 40, + "width": 140, + "x": 2.5, + "y": 2.5 + }, + "props": { + "style": { + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 112, + "x": 30.5, + "y": 6.5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Sts_eSrc\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d value\n\t\n\t# id: [image name, caption]\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t0: [\"\", \"Logic Not In Use\"],\n\t4: [\"Sts_CmdSrcHand\", \"Hand\"],\n\t8: [\"Sts_CmdSrcMaint\", \"Maintenance\"],\n\t16: [\"Sts_CmdSrcOvrd\", \"Override\"],\n\t32: [\"Sts_CmdSrcProgram\", \"Program\"],\n\t33: [\"Sts_CmdSrcProgLocked\", \"Program (locked)\"],\n\t34: [\"Sts_CmdSrcProgram\", \"Program\"],\n\t64: [\"Sts_CmdSrcOper\", \"Operator\"],\n\t65: [\"Sts_CmdSrcOperLocked\", \"Operator (locked)\"],\n\t66: [\"Sts_CmdSrcOper\", \"Operator\"],\n\t128: [\"Sts_CmdSrcOoS\", \"Maint. Out Of Service\"],\n\t129: [\"Sts_CmdSrcOoS\", \"Logic Out of Service\"],\n\t256: [\"Sts_CmdSrcExt\", \"External\"]\t\n\t}\n\t\n\ttry:\n\t\tret_value \u003d states[index][1]\n\texcept:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "CmdSrcImage" + }, + "position": { + "height": 38, + "width": 18, + "x": 8, + "y": 4 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Sts_eSrc\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d value\n\t\n\t# id: [image name, caption]\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t0: [\"\", \"Logic Not In Use\"],\n\t4: [\"Sts_CmdSrcHand\", \"Hand\"],\n\t8: [\"Sts_CmdSrcMaint\", \"Maintenance\"],\n\t16: [\"Sts_CmdSrcOvrd\", \"Override\"],\n\t32: [\"Sts_CmdSrcProgram\", \"Program\"],\n\t33: [\"Sts_CmdSrcProgLocked\", \"Program (locked)\"],\n\t34: [\"Sts_CmdSrcProgram\", \"Program\"],\n\t64: [\"Sts_CmdSrcOper\", \"Operator\"],\n\t65: [\"Sts_CmdSrcOperLocked\", \"Operator (locked)\"],\n\t66: [\"Sts_CmdSrcOper\", \"Operator\"],\n\t128: [\"Sts_CmdSrcOoS\", \"Maint. Out Of Service\"],\n\t129: [\"Sts_CmdSrcOoS\", \"Logic Out of Service\"],\n\t256: [\"Sts_CmdSrcExt\", \"External\"]\t\n\t}\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(states[index][0])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "contain" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "draggable": true, + "id": "{view.params.tagPath}_CmdSrc", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "{/root.custom.cmdSrcTitle}", + "type": "open", + "viewParams": { + "selectedTab": "0", + "tagPath": "{view.params.tagPath}/CmdSrc" + }, + "viewPath": "Plant PAX/Popups/P_CmdSrc/P_CmdSrc", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "CmdSrcNavButton" + }, + "position": { + "height": 40, + "width": 140, + "x": 2.5, + "y": 2.5 + }, + "props": { + "image": { + "style": { + "backgroundColor": "#FFFFFF00" + } + }, + "style": { + "backgroundColor": "#FFFFFF00", + "outlineStyle": "none" + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "CmdSrcNotNormal" + }, + "position": { + "height": 16, + "width": 16, + "x": 127 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/CmdSrc/Sts_Normal\"), false, true)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_CmdSrcNotNorm.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GOCmdSrcDisplayWithNav" + }, + "position": { + "height": 45, + "width": 145, + "y": 59 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasIntlkObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Inp_IntlkOK\") || \r\ntag({view.params.tagPath} + \"/Inp_NBIntlkOK\") || \r\ntag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Nav_IntlkOK\",\n\t1: \"Nav_IntlkOKBypassed\",\n\t2: \"Nav_IntlkNonBypOK\",\n\t3: \"Nav_IntlkNotOK\"\n\t}\n\t\n\tInp_IntlkOK \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_IntlkOK\"])[0].value \t\t\t#102\n\tInp_NBIntlkOK \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_NBIntlkOK\"])[0].value\t\t#103\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\t\t\t#104\n\t\n\tif (not (Inp_NBIntlkOK)) or (not (Inp_IntlkOK or Sts_BypActive)):\n\t\tindex \u003d 3\n\telif (not (Inp_IntlkOK)):\n\t\tindex \u003d 2\n\telse:\n\t\tindex \u003d Sts_BypActive\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "paddingLeft": 4, + "paddingTop": 4 + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "P_Intlk", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "P_Intlk", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}_Intlk" + }, + "viewPath": "Plant PAX/Popups/P_Intlk/P_Intlk", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "NavButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasIntlkObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GOInterlockButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 3 + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasPermObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Inp_PermOK\") || \r\ntag({view.params.tagPath} + \"/Inp_NBPermOK\") || \r\ntag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Nav_PermOK\",\n\t1: \"Nav_PermOKBypassed\",\n\t2: \"Nav_PermNonBypOK\",\n\t3: \"Nav_PermNotOK\"\n\t}\n\t\n\tInp_PermOK \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_PermOK\"])[0].value \t\t\t#102\n\tInp_NBPermOK \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_NBPermOK\"])[0].value\t\t#103\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\t\t\t#104\n\t\n\tif (not (Inp_NBPermOK)) or (not (Inp_PermOK or Sts_BypActive)):\n\t\tindex \u003d 3\n\telif (not (Inp_PermOK)):\n\t\tindex \u003d 2\n\telse:\n\t\tindex \u003d Sts_BypActive\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "paddingLeft": 4, + "paddingTop": 4 + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "P_Perm", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "P_Perm", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}_Perm" + }, + "viewPath": "Plant PAX/Popups/P_Perm/P_Perm", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "NavButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasPermObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GOPermissivesButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 48 + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "InterlocksAndPermissives" + }, + "position": { + "height": 40, + "width": 90, + "x": 198, + "y": 61.5 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Commands" + }, + "position": { + "height": 108, + "width": 340, + "y": 157 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Content2" + }, + "position": { + "height": 265, + "width": 340, + "x": 43, + "y": 35 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Home" + }, + "position": { + "height": 300, + "width": 392, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 0)", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 300, + "width": 353, + "x": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "y": 43 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 300, + "width": 392 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "AdvancedProperties" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Properties.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tblock_label \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_Label\"])[0].value\n\ttitle \u003d \"{0} - {1}\".format(block_label, \"Advanced\")\n\t\n\tparams \u003d {\u0027tagPath\u0027: self.view.params.tagPath}\n\t\n\tsystem.perspective.openPopup({self.view.params.tagPath},\u0027Plant PAX/Popups/P_DOut/P_DOut_Advanced\u0027, params, title, showCloseIcon \u003d True, resizable \u003d False)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "AdvancedPropertiesButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BadConfig" + }, + "position": { + "height": 16, + "width": 16, + "x": 22 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_Timer\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupNavToAdvanced" + }, + "position": { + "height": 42, + "width": 42, + "x": 50, + "y": 3 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "SeparatorLine" + }, + "position": { + "height": 2, + "width": 340 + }, + "props": { + "style": { + "borderColor": "#E0E0E0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_UseOffFdbk\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityOverrideInputs} \u0026\u0026 {view.params.userHasBasic}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 319, + "x": 25 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_0StText\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \u0027Use Device \"Off\" ({0}) feedback\u0027.format(value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "MaintBypass" + }, + "position": { + "height": 16, + "width": 16, + "y": -1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Cfg_UseOffFdbk\") \u003d 1, false, true)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_MaintByp.png" + }, + "type": "ia.display.image" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_UseOffFdbk\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_UseOffFdbk\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 343, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityOverrideInputs} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "UseOffFeedback" + }, + "position": { + "height": 32, + "width": 345, + "y": 5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasOffFdbk\"), true, false)" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_UseOnFdbk\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityOverrideInputs} \u0026\u0026 {view.params.userHasBasic}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 319, + "x": 25 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_1StText\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \u0027Use Device \"On\" ({0}) feedback\u0027.format(value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "MaintBypass" + }, + "position": { + "height": 16, + "width": 16, + "y": -1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Cfg_UseOnFdbk\") \u003d 1, false, true)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_MaintByp.png" + }, + "type": "ia.display.image" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_UseOnFdbk\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_UseOnFdbk\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 343, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityOverrideInputs} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "UseOnFeedback" + }, + "position": { + "height": 32, + "width": 345, + "y": 43 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasOnFdbk\"), true, false)" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Configuration" + }, + "position": { + "height": 76, + "width": 345, + "x": 41.5, + "y": 55 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "SeparatorLine" + }, + "position": { + "height": 2, + "width": 340, + "y": 7 + }, + "props": { + "style": { + "borderColor": "#E0E0E0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "MaintBypass" + }, + "position": { + "height": 16, + "width": 16, + "x": 233, + "y": 17 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_Bypass\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_MaintByp.png" + }, + "type": "ia.display.image" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Track" + }, + "position": { + "height": 8, + "width": 32, + "x": 2, + "y": 4 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderBottomLeftRadius": "15%", + "borderBottomRightRadius": "15%", + "borderColor": "#6B6B6B", + "borderStyle": "solid", + "borderTopLeftRadius": "15%", + "borderTopRightRadius": "15%", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Fill" + }, + "position": { + "height": 8, + "width": 32, + "x": 2, + "y": 4 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_Bypass\"), false, true)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#008080", + "borderBottomLeftRadius": "15%", + "borderBottomRightRadius": "15%", + "borderColor": "#6A6A6A", + "borderStyle": "solid", + "borderTopLeftRadius": "15%", + "borderTopRightRadius": "15%", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Indicator" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Bypass\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d 0\n\t\n\tSts_SubstPV \u003d value\n\t\n\tif (Sts_SubstPV):\n\t\tret_value \u003d 20\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#F0F0F0", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#6A6A6A", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "ToggleIndicator" + }, + "position": { + "height": 16, + "width": 37, + "x": 34, + "y": 7 + }, + "type": "ia.container.coord" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/MCmd_Check\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "OffButton", + "tooltip": { + "tail": false + } + }, + "position": { + "height": 25, + "width": 50, + "x": 2, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityBypassInterlocks} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + } + }, + "props": { + "align": "start", + "justify": "start", + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "No" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/MCmd_Bypass\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "OnButton", + "tooltip": { + "tail": false + } + }, + "position": { + "height": 25, + "width": 50, + "x": 56, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityBypassInterlocks} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + } + }, + "props": { + "align": "end", + "justify": "end", + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Yes" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "ToggleControl" + }, + "position": { + "height": 28, + "width": 110, + "x": 133, + "y": 3 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 101, + "y": 7 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt" + }, + "text": "Bypass Enabled" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "BypassEnabled" + }, + "position": { + "height": 33, + "width": 243, + "y": 26 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 182 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold" + }, + "text": "Interlocks and Permissives" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasIntlkObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Inp_IntlkOK\") || \r\ntag({view.params.tagPath} + \"/Inp_NBIntlkOK\") || \r\ntag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Nav_IntlkOK\",\n\t1: \"Nav_IntlkOKBypassed\",\n\t2: \"Nav_IntlkNonBypOK\",\n\t3: \"Nav_IntlkNotOK\"\n\t}\n\t\n\tInp_IntlkOK \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_IntlkOK\"])[0].value \t\t\t#102\n\tInp_NBIntlkOK \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_NBIntlkOK\"])[0].value\t\t#103\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\t\t\t#104\n\t\n\tif (not (Inp_NBIntlkOK)) or (not (Inp_IntlkOK or Sts_BypActive)):\n\t\tindex \u003d 3\n\telif (not (Inp_IntlkOK)):\n\t\tindex \u003d 2\n\telse:\n\t\tindex \u003d Sts_BypActive\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "paddingLeft": 4, + "paddingTop": 4 + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "P_Intlk", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "P_Intlk", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}_Intlk" + }, + "viewPath": "Plant PAX/Popups/P_Intlk/P_Intlk", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "NavButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasIntlkObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GOInterlockButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 3 + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasPermObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Inp_PermOK\") || \r\ntag({view.params.tagPath} + \"/Inp_NBPermOK\") || \r\ntag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Nav_PermOK\",\n\t1: \"Nav_PermOKBypassed\",\n\t2: \"Nav_PermNonBypOK\",\n\t3: \"Nav_PermNotOK\"\n\t}\n\t\n\tInp_PermOK \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_PermOK\"])[0].value \t\t\t#102\n\tInp_NBPermOK \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_NBPermOK\"])[0].value\t\t#103\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\t\t\t#104\n\t\n\tif (not (Inp_NBPermOK)) or (not (Inp_PermOK or Sts_BypActive)):\n\t\tindex \u003d 3\n\telif (not (Inp_PermOK)):\n\t\tindex \u003d 2\n\telse:\n\t\tindex \u003d Sts_BypActive\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "paddingLeft": 4, + "paddingTop": 4 + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "P_Perm", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "P_Perm", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}_Perm" + }, + "viewPath": "Plant PAX/Popups/P_Perm/P_Perm", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "NavButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasPermObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GOPermissivesButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 48 + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "InterlocksAndPermissives" + }, + "position": { + "height": 40, + "width": 90, + "x": 194, + "y": 58.5 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "IntlkAndPerm" + }, + "position": { + "height": 105, + "width": 340, + "x": 46.5, + "y": 195 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Maintenance" + }, + "position": { + "height": 300, + "width": 392, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d 1", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 300, + "width": 353, + "x": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "y": 83 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 300, + "width": 392 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d image_path.format(states[SrcQ_IO][0])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 330, + "x": 20 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][1]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.textStyle.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][3]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][2]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "CommStatus" + }, + "position": { + "height": 20, + "width": 350, + "y": 275 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\t\n\tSrcQ_IO \u003d value\n\t\n\tif (SrcQ_IO \u003e\u003d 8):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][3]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 180.99999999999997 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold" + }, + "text": "Device Not Ready Reasons" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFaceDisabled" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_Reset_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "InactiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_Reset.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_Reset\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{view.params.userHasBasic} \u0026\u0026 {view.params.securityOperateEquipment} \u0026\u0026 tag({view.params.tagPath} + \"/ORdy_Reset\") \u0026\u0026 tag({view.params.tagPath} + \"/Sts_NotRdy\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GO_ResetButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 293.019, + "y": 1 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.parameterName})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tif (value):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 317, + "x": 21 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "parameterName": "NRdy_OoS" + }, + "meta": { + "name": "GONotRdy_OoS" + }, + "position": { + "height": 17, + "width": 340, + "x": -0.01953125, + "y": 20.99609375 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.parameterName})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tif (value):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 317, + "x": 21 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "parameterName": "NRdy_CfgErr" + }, + "meta": { + "name": "GONotRdy_CfgErr" + }, + "position": { + "height": 17, + "width": 340, + "x": -0.0195313, + "y": 40.9961 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.parameterName})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tif (value):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 317, + "x": 21 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "parameterName": "NRdy_Intlk" + }, + "meta": { + "name": "GONotRdy_Intlk" + }, + "position": { + "height": 17, + "width": 340, + "x": -0.0195313, + "y": 60.9961 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.parameterName})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tif (value):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 317, + "x": 21 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "parameterName": "NRdy_Perm" + }, + "meta": { + "name": "GONotRdy_Perm" + }, + "position": { + "height": 17, + "width": 340, + "x": -0.0195313, + "y": 80.9961 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.parameterName})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tif (value):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 317, + "x": 21 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "parameterName": "NRdy_IOFault" + }, + "meta": { + "name": "GONotRdy_IOFault" + }, + "position": { + "height": 17, + "width": 340, + "x": -0.0195313, + "y": 100.9961 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.parameterName})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tif (value):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 317, + "x": 21 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "parameterName": "NRdy_Fail" + }, + "meta": { + "name": "GONotRdy_Fail" + }, + "position": { + "height": 17, + "width": 340, + "x": -0.0195313, + "y": 120.996 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.parameterName})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tif (value):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 317, + "x": 21 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "parameterName": "NRdy_PrioOff" + }, + "meta": { + "name": "GONotRdy_PrioOff" + }, + "position": { + "height": 17, + "width": 340, + "x": -0.0195313, + "y": 140.996 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "NotRdyHeader_0" + }, + "position": { + "height": 16, + "width": 334, + "x": 2.02, + "y": 160 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontStyle": "italic", + "fontWeight": "normal" + }, + "text": "* A reset is required to clear this condition" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "NotReadyReasons" + }, + "position": { + "height": 178, + "width": 340, + "x": 6 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "DiagnosticsContent" + }, + "position": { + "height": 295, + "width": 350, + "x": 40.9936, + "y": 0.00000190735 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Diagnostics" + }, + "position": { + "height": 300, + "width": 392, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d 2", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 300, + "width": 353, + "x": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "y": 123 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 300, + "width": 392 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ResetAckAll" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_AlmAckAllReset_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "DisabledAckResetButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 300 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ResetAckAll" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_AlmAckAllReset.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_ResetAckAll\", 1)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveAckResetButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 300 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/ORdy_ResetAckAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tORdy_ResetAckAll \u003d value\n\tVal_UnackAlmC \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_UnackAlmC\"])[0].value\n\t\n\tif (self.view.params.userHasBasic) and (ORdy_ResetAckAll):\n\t\tret_value \u003d True \n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "GO_AlarmDisplay_IOFault" + }, + "position": { + "height": 34, + "width": 291 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "alarmName": "IOFault" + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Alarm Objects/GO_AlarmDisplay" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_AlarmDisplay_IntlkTrip" + }, + "position": { + "height": 34, + "width": 291, + "y": 37 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "alarmName": "IntlkTrip" + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Alarm Objects/GO_AlarmDisplay" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_AlarmDisplay_OffFail" + }, + "position": { + "height": 34, + "width": 291, + "y": 74 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "alarmName": "OffFail" + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Alarm Objects/GO_AlarmDisplay" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_AlarmDisplay_OnFail" + }, + "position": { + "height": 34, + "width": 291, + "y": 111 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "alarmName": "OnFail" + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Alarm Objects/GO_AlarmDisplay" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Alarms" + }, + "position": { + "height": 145, + "width": 291 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "AlarmContent" + }, + "position": { + "height": 145, + "width": 340, + "x": 43, + "y": 5 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Alarm" + }, + "position": { + "height": 300, + "width": 392, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d 3", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 300, + "width": 353, + "x": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "y": 253 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 300, + "width": 392 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 108, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "caption": "P_DOut", + "label": "Popup Name:" + }, + "meta": { + "name": "PopupID" + }, + "position": { + "height": 18, + "width": 255, + "x": 125, + "y": 206 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 108, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "PlantPAX Version:" + }, + "meta": { + "name": "PlantPAX Version" + }, + "position": { + "height": 18, + "width": 255, + "x": 125, + "y": 229 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/version\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 108, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "UDT Version:" + }, + "meta": { + "name": "UDTVersion" + }, + "position": { + "height": 18, + "width": 255, + "x": 125, + "y": 252 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Prime Version\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 108, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "Popup Version:" + }, + "meta": { + "name": "PopupVersion" + }, + "position": { + "height": 18, + "width": 255, + "x": 125, + "y": 275 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "path": "view.custom.popupVersion" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Version" + }, + "position": { + "height": 300, + "width": 392, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d -1", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "AlarmPolygon" + }, + "position": { + "height": 39, + "width": 39, + "y": 117 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\tret_value \u003d ret_value and (self.view.params.selectedTab !\u003d 3)\t# Show it only if active tab different than alarm tab \n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d value\n\t\n\tcolors \u003d [\"\",\n\t\"#FFFFFF\",\n\t\"#916AAD\",\n\t\"#916AAD\",\n\t\"#F5DF1B\",\n\t\"#F5DF1B\",\n\t\"#EC8729\",\n\t\"#EC8729\",\n\t\"#E22028\",\n\t\"#E22028\",\n\t\"\"]\n\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d colors[Val_NotifyAll]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "borderBottomStyle": "solid", + "borderBottomWidth": 2, + "borderLeftStyle": "solid", + "borderLeftWidth": 2, + "borderRightStyle": "none", + "borderTopStyle": "solid", + "borderTopWidth": 2 + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonHome" + }, + "position": { + "height": 35, + "width": 35, + "x": 2 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Home.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 1" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonMaintenance" + }, + "position": { + "height": 35, + "width": 35, + "x": 2, + "y": 40 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Maint.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 2" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonDiagnostics" + }, + "position": { + "height": 35, + "width": 35, + "x": 2, + "y": 80 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Diag.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 3" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonAlarm" + }, + "position": { + "height": 35, + "width": 35, + "x": 2, + "y": 120 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Alm.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d -1" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonHelp" + }, + "position": { + "height": 32, + "rotate": { + "angle": "180deg" + }, + "width": 32, + "x": 2, + "y": 250 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Faults.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "MaintBypass" + }, + "position": { + "height": 16, + "width": 16, + "y": 37 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_HasOffFdbk\") ||\r\ntag({view.params.tagPath} + \"/Cfg_UseOffFdbk\") ||\r\ntag({view.params.tagPath} + \"/Cfg_HasOnFdbk\") ||\r\ntag({view.params.tagPath} + \"/Cfg_UseOnFdbk\") ||\r\ntag({view.params.tagPath} + \"/Sts_Bypass\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tCfg_HasOffFdbk \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_HasOffFdbk\"])[0].value\n\tCfg_UseOffFdbk \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_UseOffFdbk\"])[0].value\n\tCfg_HasOnFdbk \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_HasOnFdbk\"])[0].value\n\tCfg_UseOnFdbk \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_UseOnFdbk\"])[0].value\n\tSts_Bypass \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Bypass\"])[0].value\n\t\n\tif ((Cfg_HasOffFdbk) and not (Cfg_UseOffFdbk)) or ((Cfg_HasOnFdbk) and not (Cfg_UseOnFdbk)) or (Sts_Bypass):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_MaintByp.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "AlarmInh" + }, + "position": { + "height": 16, + "width": 16, + "y": 116.99519348144531 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_AlmInh\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Alm_Inhibit.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 23, + "y": 37 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Err_Timer\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "BadConfigAlarm" + }, + "position": { + "height": 16, + "width": 16, + "x": 23, + "y": 118 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Err_Alarm\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotReady" + }, + "position": { + "height": 16, + "width": 16, + "y": 99 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_NotRdy\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_NotReady.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupTabButtons" + }, + "position": { + "height": 287, + "width": 39, + "x": 3, + "y": 5 + }, + "type": "ia.container.coord" + } + ], + "events": { + "system": { + "onStartup": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "propConfig": { + "custom.cmdSrcTitle": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_Tag\") + \" - \" + tag({view.params.tagPath}+\"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_DOut/P_DOut_Advanced/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_DOut/P_DOut_Advanced/resource.json new file mode 100644 index 0000000..1be2992 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_DOut/P_DOut_Advanced/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "7dc4e95e1147671e1077047314326fdc6f12791fc58a369143d34ef6712ba23d", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_DOut/P_DOut_Advanced/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_DOut/P_DOut_Advanced/thumbnail.png new file mode 100644 index 0000000..b59ed04 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_DOut/P_DOut_Advanced/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_DOut/P_DOut_Advanced/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_DOut/P_DOut_Advanced/view.json new file mode 100644 index 0000000..400158b --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_DOut/P_DOut_Advanced/view.json @@ -0,0 +1,4371 @@ +{ + "custom": { + "popupVersion": " 1.0 " + }, + "params": { + "securityDeviceConfigBehavior": true, + "securityDeviceConfigFailTimers": true, + "securityDeviceConfigHMI": true, + "securityDeviceConfigLimits": true, + "securityDeviceConfigTimers": true, + "securityEnableSimulation": true, + "securityEnterOperSettings": true, + "securityOverrideInputs": true, + "selectedTab": 0, + "tagPath": "[default]Test_Tags/P_DOut", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "custom.popupVersion": { + "persistent": true + }, + "params.securityDeviceConfigBehavior": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigBehavior\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityDeviceConfigFailTimers": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigFailTimers\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityDeviceConfigHMI": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigHMI\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityDeviceConfigLimits": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigLimits\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityDeviceConfigTimers": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigTimers\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityEnableSimulation": { + "binding": { + "config": { + "expression": "\"securityEnableSimulation\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityEnterOperSettings": { + "binding": { + "config": { + "expression": "\"securityEnterOperSettings\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityOverrideInputs": { + "binding": { + "config": { + "expression": "\"securityOverrideInputs\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.selectedTab": { + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 442, + "width": 350 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Tab1" + }, + "position": { + "height": 39, + "width": 37 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab2" + }, + "position": { + "height": 39, + "width": 37, + "x": 40 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab3" + }, + "position": { + "height": 39, + "width": 37, + "x": 80 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "InactiveTabs" + }, + "position": { + "height": 39, + "width": 117, + "x": 4, + "y": 4 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 403, + "width": 350, + "y": 42 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab" + }, + "position": { + "height": 39, + "width": 40, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 442, + "width": 350 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "On" + }, + "position": { + "height": 19, + "width": 79, + "x": 261.5, + "y": 7 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "bold", + "textAlign": "center" + }, + "text": "On" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "OnText" + }, + "position": { + "height": 19, + "width": 79, + "x": 261.5, + "y": 28 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "\"(\" + tag({view.params.tagPath} + \"/Cfg_1StText\") +\")\"" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "bold", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Off" + }, + "position": { + "height": 19, + "width": 79, + "x": 182, + "y": 7 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "bold", + "textAlign": "center" + }, + "text": "Off" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "OffText" + }, + "position": { + "height": 19, + "width": 79, + "x": 181.5, + "y": 28 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "\"(\" + tag({view.params.tagPath} + \"/Cfg_0StText\") +\")\"" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "bold", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "LineHor0" + }, + "position": { + "height": 1, + "width": 70, + "x": 186.01, + "y": 45.5 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor1" + }, + "position": { + "height": 1, + "width": 70, + "x": 265.01, + "y": 45.5074 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "LinesAndImages" + }, + "position": { + "height": 389, + "width": 341, + "x": 1, + "y": 2.5 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label1" + }, + "position": { + "height": 31, + "width": 171, + "x": 6.5, + "y": 49.5 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Time after output change for feedback before fault (sec)" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label2" + }, + "position": { + "height": 31, + "width": 171, + "x": 7, + "y": 89.5 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Delay before changing output (sec)" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label3" + }, + "position": { + "height": 31, + "width": 171, + "x": 7, + "y": 129.5 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Pulse duration (sec)" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "ErrOutline" + }, + "position": { + "height": 105, + "width": 155, + "x": 1, + "y": 10.5 + }, + "props": { + "style": { + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "2px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 140, + "y": -4.5 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "ndeErr_1" + }, + "position": { + "height": 117, + "width": 156, + "x": 182, + "y": 42 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_Timer\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Cfg_OffFailT" + }, + "position": { + "height": 20, + "width": 70, + "x": 186, + "y": 55 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigFailTimers} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "3" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_OffFailT\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": -4294967296 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Cfg_OnFailT" + }, + "position": { + "height": 20, + "width": 70, + "x": 266, + "y": 55 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigFailTimers} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "3" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_OnFailT\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": -4294967296 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Cfg_OffDelayT" + }, + "position": { + "height": 20, + "width": 70, + "x": 186, + "y": 95 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "3" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_OffDelayT\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": -4294967296 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Cfg_OnDelayT" + }, + "position": { + "height": 20, + "width": 70, + "x": 266, + "y": 95.00743865966797 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "3" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_OnDelayT\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": -4294967296 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Cfg_OffPulseT" + }, + "position": { + "height": 20, + "width": 70, + "x": 186, + "y": 135 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigLimits} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "3" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_OffPulseT\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": -4294967296 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Cfg_OffPulseT_0" + }, + "position": { + "height": 20, + "width": 70, + "x": 266, + "y": 135.00743865966797 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigLimits} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "3" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_OnPulseT\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": -4294967296 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "GroupTimer" + }, + "position": { + "height": 394, + "width": 343, + "x": 2, + "y": 45 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Maintenance" + }, + "position": { + "height": 442, + "width": 350, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 0)", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 403, + "width": 350, + "y": 42 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab" + }, + "position": { + "height": 39, + "width": 40, + "x": 39, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 442, + "width": 350 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasOffFdbk\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 7, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 300, + "x": 28 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_0StText\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \u0027Device has \"Off\" ({0}) feedback\u0027.format(value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_HasOffFdbk\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_HasOffFdbk\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 343, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "UseOffFeedback" + }, + "position": { + "height": 32, + "width": 345 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasOnFdbk\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 7, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 300, + "x": 28 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_1StText\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \u0027Device has \"On\" ({0}) feedback\u0027.format(value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_HasOnFdbk\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_HasOnFdbk\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 343, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "UseOnFeedback" + }, + "position": { + "height": 32, + "width": 345, + "y": 28 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label0" + }, + "position": { + "height": 16, + "width": 249, + "x": 6.5, + "y": 62 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Fault when both feedback inputs are" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 10, + "x": 2.5, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_FdbkFail\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 3, + "y": 9.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 126, + "x": 25, + "y": 1.5 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "On" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_FdbkFail\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 155, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Cfg_FdbkFail_On" + }, + "position": { + "height": 35, + "width": 161, + "y": 3 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 0 + }, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_FdbkFail\"), false, true)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 9.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 126, + "x": 25, + "y": 1.5 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Off" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_FdbkFail\", False)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 155, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Cfg_FdbkFail_Off" + }, + "position": { + "height": 35, + "width": 161, + "x": 168.50743865966797, + "y": 3.010406494140625 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Cfg_FdbkFail" + }, + "position": { + "height": 42, + "width": 340, + "x": 2, + "y": 78 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SeparatorLine" + }, + "position": { + "height": 2, + "width": 340, + "x": 2, + "y": 109 + }, + "props": { + "style": { + "borderColor": "#E0E0E0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "GO_Cfg_OCmdResets" + }, + "position": { + "height": 32, + "width": 340, + "x": 2.5, + "y": 118.003 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_OCmdResets" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_XCmdResets" + }, + "position": { + "height": 32, + "width": 340, + "x": 2.5, + "y": 150 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_XCmdResets" + }, + "type": "ia.display.view" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasPulse\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 310, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Enable pulsing functions" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_HasPulse\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_HasPulse\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "cb_Cfg_HasPulse" + }, + "position": { + "height": 32, + "width": 340, + "x": 2.5, + "y": 182 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "GO_Cfg_OvrdPermIntlk" + }, + "position": { + "height": 32, + "width": 340, + "x": 2.5, + "y": 217 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_OvrdPermIntlk" + }, + "type": "ia.display.view" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_OperOffPrio\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 310, + "x": 25 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "\"Operator \u0027Off\u0027 (\" + tag({view.params.tagPath} + \"/Cfg_0StText\") + \") command available in any mode\"" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_OperOffPrio\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_OperOffPrio\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "cb_Cfg_OperOffPrio" + }, + "position": { + "height": 32, + "width": 340, + "x": 2.5, + "y": 251 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_ExtOffPrio\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 310, + "x": 25 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "\"External \u0027Off\u0027 (\" + tag({view.params.tagPath} + \"/Cfg_0StText\") + \") command available in any mode\"" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_ExtOffPrio\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_ExtOffPrio\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "cb_Cfg_ExtOffPrio" + }, + "position": { + "height": 32, + "width": 340, + "x": 2.5, + "y": 285 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "PageEngineering1" + }, + "position": { + "height": 334, + "width": 345, + "x": 2.5, + "y": 46 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{parent.custom.pageTabSelected}" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 0) or (value !\u003d 1)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label1" + }, + "position": { + "height": 16, + "width": 89, + "x": 7.50521, + "y": 202.002 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Audible on:" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 0 + }, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HornOnChange\"), false, true)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 9.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 195, + "x": 25, + "y": 1.5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "\"Commanded Change from Off State (\" + tag({view.params.tagPath} + \"/Cfg_0StText\") + \")\"" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_HornOnChange\", False)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 240, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Cfg_HornOnChange_1" + }, + "position": { + "height": 37, + "width": 300, + "x": 10, + "y": 3 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 0 + }, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HornOnChange\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 9.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 195, + "x": 25, + "y": 1.5 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Any Commanded State Change" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_HornOnChange\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 240, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Cfg_HornOnChange_2" + }, + "position": { + "height": 37, + "width": 300, + "x": 10, + "y": 41 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Cfg_HornOnChange" + }, + "position": { + "height": 82, + "width": 340, + "x": 2, + "y": 217 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "GO_Cfg_StartHornT" + }, + "position": { + "height": 32, + "width": 340, + "x": 2.5, + "y": 299.002 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_StartHornT" + }, + "type": "ia.display.view" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_CompletePulse\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 294, + "x": 25 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "\"Finish Pulse when commanded \u0027Off\u0027 (\" + tag({view.params.tagPath} + \"/Cfg_0StText\") + \") or \u0027On\u0027 (\" + tag({view.params.tagPath} + \"/Cfg_1StText\") + \")\"" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CompletePulse\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_CompletePulse\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "cb_Cfg_CompletePulse" + }, + "position": { + "height": 32, + "width": 340, + "x": 2.5, + "y": 5 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SeparatorLine" + }, + "position": { + "height": 2, + "width": 340, + "x": 2, + "y": 39 + }, + "props": { + "style": { + "borderColor": "#E0E0E0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label2" + }, + "position": { + "height": 16, + "width": 155, + "x": 8.51, + "y": 49 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Deenergize Output:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "GO_Cfg_ShedOnIOFault" + }, + "position": { + "height": 32, + "width": 280, + "x": 12.5, + "y": 66.0017 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnIOFault" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_ShedOnInterlockTrip" + }, + "position": { + "height": 32, + "width": 280, + "x": 12.5, + "y": 130 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnInterlockTrip" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_ShedOnFail" + }, + "position": { + "height": 32, + "width": 280, + "x": 12.5, + "y": 98 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnFail" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_SimFdbkT" + }, + "position": { + "height": 32, + "width": 340, + "x": 2.5, + "y": 164.002 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_SimFdbkT" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "PageEngineering2" + }, + "position": { + "height": 334, + "width": 345, + "x": 2.5, + "y": 46 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{parent.custom.pageTabSelected}" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 1)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageTabSelected \u003d self.parent.custom.pageTabSelected\n\tmaxNumberOfTabs \u003d self.parent.custom.maxNumberOfTabs - 1\n\t\n\tnewTab \u003d pageTabSelected - 1\n\t\n\tif (newTab \u003e\u003d 0):\n\t\tself.parent.custom.pageTabSelected \u003d newTab" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "PrevButton" + }, + "position": { + "height": 36, + "width": 30 + }, + "props": { + "fit": { + "mode": "contain" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Prev.png", + "style": { + "curor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 20, + "x": 3, + "y": 8 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if({parent.custom.currentTabNumber} \u003d {parent.custom.tabNumber}, \"#A3A3A3FF\", \"#A3A3A300\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.tabNumber} + 1" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 1, + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "tabNumber": 0 + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.currentTabNumber \u003d self.custom.tabNumber" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Page1Button" + }, + "position": { + "height": 36, + "width": 26, + "x": 28 + }, + "propConfig": { + "custom.currentTabNumber": { + "binding": { + "config": { + "bidirectional": true, + "path": "parent.custom.pageTabSelected" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 20, + "x": 3, + "y": 8 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if({parent.custom.currentTabNumber} \u003d {parent.custom.tabNumber}, \"#A3A3A3FF\", \"#A3A3A300\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.tabNumber} + 1" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 1, + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "tabNumber": 1 + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.currentTabNumber \u003d self.custom.tabNumber" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Page2Button" + }, + "position": { + "height": 36, + "width": 26, + "x": 58 + }, + "propConfig": { + "custom.currentTabNumber": { + "binding": { + "config": { + "bidirectional": true, + "path": "parent.custom.pageTabSelected" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageTabSelected \u003d self.parent.custom.pageTabSelected\n\tmaxNumberOfTabs \u003d self.parent.custom.maxNumberOfTabs - 1\n\t\n\tnewTab \u003d pageTabSelected + 1\n\t\n\tif (newTab \u003c\u003d maxNumberOfTabs):\n\t\tself.parent.custom.pageTabSelected \u003d newTab" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "NextButton" + }, + "position": { + "height": 36, + "width": 30, + "x": 82 + }, + "props": { + "fit": { + "mode": "contain" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Next.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + } + ], + "custom": { + "maintenanceTabSelected": 0, + "maxNumberOfTabs": 2 + }, + "meta": { + "name": "MaintenancePageButtons" + }, + "position": { + "height": 36, + "width": 112, + "x": 112.5, + "y": 393 + }, + "propConfig": { + "custom.pageTabSelected": { + "binding": { + "config": { + "bidirectional": true, + "path": "parent.custom.pageTabSelected" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 18, + "width": 16, + "x": 180.005, + "y": 389 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_Sim\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "custom": { + "maintenanceTabSelected": null, + "pageTabSelected": 0 + }, + "meta": { + "name": "TabPage_Engineering" + }, + "position": { + "height": 442, + "width": 350, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d 1", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 402, + "width": 350, + "y": 42 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "x": 80, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 442, + "width": 350 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "GO_Desc_Label_Tag" + }, + "position": { + "height": 68.00000000000001, + "width": 340, + "x": 5, + "y": 3.99 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigHMI": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Desc_Label_Tag" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_Area" + }, + "position": { + "height": 20, + "width": 340, + "x": 5, + "y": 70.987 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityConfigSecurity": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_Area" + }, + "type": "ia.display.view" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 214, + "x": 16.1, + "y": 2 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Text to Display in PV \u003d 0 State:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "TextField" + }, + "position": { + "height": 20, + "width": 76, + "x": 257 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigHMI} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_0StText\"" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "borderStyle": "solid", + "borderWidth": "1px", + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.input.text-field" + } + ], + "meta": { + "name": "sde_Cfg_0StText" + }, + "position": { + "height": 20, + "width": 350, + "y": 94 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 214, + "x": 16.1, + "y": 2 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Text to Display in PV \u003d 1 State:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "TextField" + }, + "position": { + "height": 20, + "width": 76, + "x": 257 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigHMI} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_1StText\"" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "borderStyle": "solid", + "borderWidth": "1px", + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.input.text-field" + } + ], + "meta": { + "name": "sde_Cfg_1StText" + }, + "position": { + "height": 20, + "width": 350, + "y": 118 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TextConfig" + }, + "position": { + "height": 166, + "width": 350, + "y": 47 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "GO_Cfg_HasIntlkObj" + }, + "position": { + "height": 32, + "width": 340, + "x": 5, + "y": 32 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigHMI": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_HasIntlkObj" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_HasPermObj" + }, + "position": { + "height": 32, + "width": 340, + "x": 5, + "y": 2 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigHMI": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_HasPermObj" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "HMIConfig" + }, + "position": { + "height": 221, + "width": 350, + "y": 219 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_HMI" + }, + "position": { + "height": 442, + "width": 350, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d 2", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 403, + "width": 350, + "y": 42 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab" + }, + "position": { + "height": 39, + "width": 40, + "x": 306, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 442, + "width": 350 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 145, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "caption": "P_DOut_Advanced", + "label": "Popup Name:" + }, + "meta": { + "name": "PopupID" + }, + "position": { + "height": 18, + "width": 292, + "x": 48, + "y": 346 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 145, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "PlantPAX Version:" + }, + "meta": { + "name": "PlantPAX Version" + }, + "position": { + "height": 18, + "width": 292, + "x": 48, + "y": 369 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/version\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 145, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "UDT Version:" + }, + "meta": { + "name": "UDTVersion" + }, + "position": { + "height": 18, + "width": 292, + "x": 48, + "y": 392 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Prime Version\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 145, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "Popup Version:" + }, + "meta": { + "name": "PopupVersion" + }, + "position": { + "height": 18, + "width": 292, + "x": 48, + "y": 415 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "path": "view.custom.popupVersion" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Version" + }, + "position": { + "height": 442, + "width": 350, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d -1", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonMaintenance" + }, + "position": { + "height": 35, + "width": 35, + "x": 2 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Maint.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 1" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonEngineering" + }, + "position": { + "height": 35, + "width": 35, + "x": 42 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Eng.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 2" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonHMI" + }, + "position": { + "height": 35, + "width": 35, + "x": 81 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_HMI.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d -1" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonHelp" + }, + "position": { + "height": 32, + "rotate": { + "angle": "180deg" + }, + "width": 32, + "x": 311 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Faults.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 23, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Err_Timer\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "BadConfigEng" + }, + "position": { + "height": 16, + "width": 16, + "x": 63, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_Sim\")" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupTabButtons" + }, + "position": { + "height": 35, + "width": 346, + "x": 3, + "y": 5 + }, + "type": "ia.container.coord" + } + ], + "events": { + "system": { + "onStartup": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 0\n\tself.getChild(\"TabPage_Engineering\").custom.pageTabSelected \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Intlk/P_Intlk/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Intlk/P_Intlk/resource.json new file mode 100644 index 0000000..5a587dc --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Intlk/P_Intlk/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "7f855ff7be9d5fdb28c4c69fe0a3417d882f8f822c3270569b85a9f335322d62", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Intlk/P_Intlk/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Intlk/P_Intlk/thumbnail.png new file mode 100644 index 0000000..a0d5776 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Intlk/P_Intlk/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Intlk/P_Intlk/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Intlk/P_Intlk/view.json new file mode 100644 index 0000000..e184ff9 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Intlk/P_Intlk/view.json @@ -0,0 +1,7460 @@ +{ + "custom": { + "popupVersion": " 1.0 " + }, + "params": { + "securityBypassInterlocks": true, + "securityEnableSimulation": true, + "securityOperateEquipment": true, + "securityOverrideInputs": true, + "selectedTab": 0, + "tagPath": "[default]Test_Tags/P_DOut_Intlk", + "userHasBasic": true + }, + "propConfig": { + "custom.popupVersion": { + "persistent": true + }, + "params.securityBypassInterlocks": { + "binding": { + "config": { + "expression": "\"securityBypassInterlocks\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityEnableSimulation": { + "binding": { + "config": { + "expression": "\"securityEnableSimulation\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityOperateEquipment": { + "binding": { + "config": { + "expression": "\"securityOperateEquipment\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityOverrideInputs": { + "binding": { + "config": { + "expression": "\"securityOverrideInputs\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.selectedTab": { + "paramDirection": "output", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 300, + "width": 392 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Tab1" + }, + "position": { + "height": 37, + "width": 39 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab2" + }, + "position": { + "height": 37, + "width": 39, + "y": 40 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "InactiveTabs" + }, + "position": { + "height": 157, + "width": 40, + "x": 4, + "y": 4 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 300, + "width": 353, + "x": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 300, + "width": 392 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 330, + "x": 3 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tSts_BypActive \u003d value\n\t\n\tif (Sts_BypActive):\n\t\tret_value \u003d \"Bypassed\"\n\telse:\n\t\tret_value \u003d \"Enabled\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "GOBypassDisplay" + }, + "position": { + "height": 20, + "width": 350 + }, + "props": { + "style": { + "backgroundColor": "#c0c0c0", + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "AbnormalSeparatorLine" + }, + "position": { + "height": 2, + "width": 352, + "y": 20 + }, + "props": { + "style": { + "borderColor": "#6A6A6A", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ResetAckAll" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_Reset_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "DisabledAckResetButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ResetAckAll" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_Reset.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_Reset\", 1)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveAckResetButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{view.params.securityOperateEquipment} \u0026\u0026 {view.params.userHasBasic} \u0026\u0026 tag({view.params.tagPath} + \"/ORdy_Reset\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tORdy_Reset \u003d system.tag.readBlocking([self.view.params.tagPath + \"/ORdy_Reset\"])[0].value\n\t\n\tif (self.view.params.securityOperateEquipment) and (self.view.params.userHasBasic) and (ORdy_Reset):\n\t\tret_value \u003d True \n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "ResetButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 290, + "y": 5 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GroupAbbieNormals" + }, + "position": { + "height": 45, + "width": 403, + "x": 44 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "FirstOutPolygon" + }, + "position": { + "height": 20, + "width": 165 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_FirstOut[\" + {parent.custom.interlockIndex} + \"]\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#F0F0F0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 17, + "width": 16, + "x": 1.5, + "y": 1.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Intlk\") || tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"\",\n\t1: \"Sts_NotOK\",\n\t2: \"\",\n\t3: \"Sts_NotOK_Bypassed\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\tSts_Intlk \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Intlk + 2 \n\telse:\n\t\tindex \u003d Sts_Intlk\n\t\n\tif (index \u003d\u003d 1) or (index \u003d\u003d 3):\n\t\tret_value \u003d True\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Intlk\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"\",\n\t1: \"Sts_NotOK\",\n\t2: \"\",\n\t3: \"Sts_NotOK_Bypassed\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Intlk + 2 \n\telse:\n\t\tindex \u003d Sts_Intlk + 0\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 137, + "x": 24, + "y": 2 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Intlk\") || tag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#3F3F3F\"\n\tindex \u003d 0\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tret_value \u003d \"#A0A0A4\" \n\telse:\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.interlockIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "interlockIndex": 0 + }, + "meta": { + "name": "GOInterlock0" + }, + "position": { + "height": 20, + "width": 165, + "y": 5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Intlk\") || (tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {this.custom.interlockIndex}) !\u003d null) " + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.custom.interlockIndex\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check) \u003d\u003d bit_check)\n\tCfg_CondTxt \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CondTxt/\" + str(self.custom.interlockIndex)])[0].value\n\t\n\tif (Sts_Intlk) or (Cfg_CondTxt !\u003d None):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "FirstOutPolygon" + }, + "position": { + "height": 20, + "width": 165 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_FirstOut[\" + {parent.custom.interlockIndex} + \"]\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#F0F0F0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 17, + "width": 16, + "x": 1.5, + "y": 1.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Intlk\") || tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"\",\n\t1: \"Sts_NotOK\",\n\t2: \"\",\n\t3: \"Sts_NotOK_Bypassed\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\tSts_Intlk \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Intlk + 2 \n\telse:\n\t\tindex \u003d Sts_Intlk\n\t\n\tif (index \u003d\u003d 1) or (index \u003d\u003d 3):\n\t\tret_value \u003d True\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Intlk\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"\",\n\t1: \"Sts_NotOK\",\n\t2: \"\",\n\t3: \"Sts_NotOK_Bypassed\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Intlk + 2 \n\telse:\n\t\tindex \u003d Sts_Intlk + 0\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 137, + "x": 24, + "y": 2 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Intlk\") || tag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#3F3F3F\"\n\tindex \u003d 0\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tret_value \u003d \"#A0A0A4\" \n\telse:\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.interlockIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "interlockIndex": 1 + }, + "meta": { + "name": "GOInterlock1" + }, + "position": { + "height": 20, + "width": 165, + "y": 28 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Intlk\") || (tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {this.custom.interlockIndex}) !\u003d null) " + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.custom.interlockIndex\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check) \u003d\u003d bit_check)\n\tCfg_CondTxt \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CondTxt/\" + str(self.custom.interlockIndex)])[0].value\n\t\n\tif (Sts_Intlk) or (Cfg_CondTxt !\u003d None):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "FirstOutPolygon" + }, + "position": { + "height": 20, + "width": 165 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_FirstOut[\" + {parent.custom.interlockIndex} + \"]\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#F0F0F0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 17, + "width": 16, + "x": 1.5, + "y": 1.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Intlk\") || tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"\",\n\t1: \"Sts_NotOK\",\n\t2: \"\",\n\t3: \"Sts_NotOK_Bypassed\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\tSts_Intlk \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Intlk + 2 \n\telse:\n\t\tindex \u003d Sts_Intlk\n\t\n\tif (index \u003d\u003d 1) or (index \u003d\u003d 3):\n\t\tret_value \u003d True\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Intlk\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"\",\n\t1: \"Sts_NotOK\",\n\t2: \"\",\n\t3: \"Sts_NotOK_Bypassed\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Intlk + 2 \n\telse:\n\t\tindex \u003d Sts_Intlk + 0\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 137, + "x": 24, + "y": 2 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Intlk\") || tag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#3F3F3F\"\n\tindex \u003d 0\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tret_value \u003d \"#A0A0A4\" \n\telse:\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.interlockIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "interlockIndex": 2 + }, + "meta": { + "name": "GOInterlock2" + }, + "position": { + "height": 20, + "width": 165, + "y": 51 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Intlk\") || (tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {this.custom.interlockIndex}) !\u003d null) " + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.custom.interlockIndex\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check) \u003d\u003d bit_check)\n\tCfg_CondTxt \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CondTxt/\" + str(self.custom.interlockIndex)])[0].value\n\t\n\tif (Sts_Intlk) or (Cfg_CondTxt !\u003d None):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "FirstOutPolygon" + }, + "position": { + "height": 20, + "width": 165 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_FirstOut[\" + {parent.custom.interlockIndex} + \"]\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#F0F0F0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 17, + "width": 16, + "x": 1.5, + "y": 1.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Intlk\") || tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"\",\n\t1: \"Sts_NotOK\",\n\t2: \"\",\n\t3: \"Sts_NotOK_Bypassed\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\tSts_Intlk \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Intlk + 2 \n\telse:\n\t\tindex \u003d Sts_Intlk\n\t\n\tif (index \u003d\u003d 1) or (index \u003d\u003d 3):\n\t\tret_value \u003d True\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Intlk\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"\",\n\t1: \"Sts_NotOK\",\n\t2: \"\",\n\t3: \"Sts_NotOK_Bypassed\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Intlk + 2 \n\telse:\n\t\tindex \u003d Sts_Intlk + 0\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 137, + "x": 24, + "y": 2 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Intlk\") || tag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#3F3F3F\"\n\tindex \u003d 0\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tret_value \u003d \"#A0A0A4\" \n\telse:\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.interlockIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "interlockIndex": 3 + }, + "meta": { + "name": "GOInterlock3" + }, + "position": { + "height": 20, + "width": 165, + "y": 74 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Intlk\") || (tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {this.custom.interlockIndex}) !\u003d null) " + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.custom.interlockIndex\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check) \u003d\u003d bit_check)\n\tCfg_CondTxt \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CondTxt/\" + str(self.custom.interlockIndex)])[0].value\n\t\n\tif (Sts_Intlk) or (Cfg_CondTxt !\u003d None):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "FirstOutPolygon" + }, + "position": { + "height": 20, + "width": 165 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_FirstOut[\" + {parent.custom.interlockIndex} + \"]\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#F0F0F0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 17, + "width": 16, + "x": 1.5, + "y": 1.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Intlk\") || tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"\",\n\t1: \"Sts_NotOK\",\n\t2: \"\",\n\t3: \"Sts_NotOK_Bypassed\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\tSts_Intlk \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Intlk + 2 \n\telse:\n\t\tindex \u003d Sts_Intlk\n\t\n\tif (index \u003d\u003d 1) or (index \u003d\u003d 3):\n\t\tret_value \u003d True\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Intlk\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"\",\n\t1: \"Sts_NotOK\",\n\t2: \"\",\n\t3: \"Sts_NotOK_Bypassed\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Intlk + 2 \n\telse:\n\t\tindex \u003d Sts_Intlk + 0\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 137, + "x": 24, + "y": 2 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Intlk\") || tag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#3F3F3F\"\n\tindex \u003d 0\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tret_value \u003d \"#A0A0A4\" \n\telse:\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.interlockIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "interlockIndex": 4 + }, + "meta": { + "name": "GOInterlock4" + }, + "position": { + "height": 20, + "width": 165, + "y": 97 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Intlk\") || (tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {this.custom.interlockIndex}) !\u003d null) " + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.custom.interlockIndex\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check) \u003d\u003d bit_check)\n\tCfg_CondTxt \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CondTxt/\" + str(self.custom.interlockIndex)])[0].value\n\t\n\tif (Sts_Intlk) or (Cfg_CondTxt !\u003d None):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "FirstOutPolygon" + }, + "position": { + "height": 20, + "width": 165 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_FirstOut[\" + {parent.custom.interlockIndex} + \"]\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#F0F0F0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 17, + "width": 16, + "x": 1.5, + "y": 1.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Intlk\") || tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"\",\n\t1: \"Sts_NotOK\",\n\t2: \"\",\n\t3: \"Sts_NotOK_Bypassed\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\tSts_Intlk \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Intlk + 2 \n\telse:\n\t\tindex \u003d Sts_Intlk\n\t\n\tif (index \u003d\u003d 1) or (index \u003d\u003d 3):\n\t\tret_value \u003d True\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Intlk\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"\",\n\t1: \"Sts_NotOK\",\n\t2: \"\",\n\t3: \"Sts_NotOK_Bypassed\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Intlk + 2 \n\telse:\n\t\tindex \u003d Sts_Intlk + 0\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 137, + "x": 24, + "y": 2 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Intlk\") || tag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#3F3F3F\"\n\tindex \u003d 0\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tret_value \u003d \"#A0A0A4\" \n\telse:\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.interlockIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "interlockIndex": 5 + }, + "meta": { + "name": "GOInterlock5" + }, + "position": { + "height": 20, + "width": 165, + "y": 120 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Intlk\") || (tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {this.custom.interlockIndex}) !\u003d null) " + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.custom.interlockIndex\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check) \u003d\u003d bit_check)\n\tCfg_CondTxt \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CondTxt/\" + str(self.custom.interlockIndex)])[0].value\n\t\n\tif (Sts_Intlk) or (Cfg_CondTxt !\u003d None):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "FirstOutPolygon" + }, + "position": { + "height": 20, + "width": 165 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_FirstOut[\" + {parent.custom.interlockIndex} + \"]\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#F0F0F0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 17, + "width": 16, + "x": 1.5, + "y": 1.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Intlk\") || tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"\",\n\t1: \"Sts_NotOK\",\n\t2: \"\",\n\t3: \"Sts_NotOK_Bypassed\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\tSts_Intlk \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Intlk + 2 \n\telse:\n\t\tindex \u003d Sts_Intlk\n\t\n\tif (index \u003d\u003d 1) or (index \u003d\u003d 3):\n\t\tret_value \u003d True\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Intlk\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"\",\n\t1: \"Sts_NotOK\",\n\t2: \"\",\n\t3: \"Sts_NotOK_Bypassed\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Intlk + 2 \n\telse:\n\t\tindex \u003d Sts_Intlk + 0\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 137, + "x": 24, + "y": 2 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Intlk\") || tag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#3F3F3F\"\n\tindex \u003d 0\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tret_value \u003d \"#A0A0A4\" \n\telse:\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.interlockIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "interlockIndex": 6 + }, + "meta": { + "name": "GOInterlock6" + }, + "position": { + "height": 20, + "width": 165, + "y": 143 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Intlk\") || (tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {this.custom.interlockIndex}) !\u003d null) " + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.custom.interlockIndex\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check) \u003d\u003d bit_check)\n\tCfg_CondTxt \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CondTxt/\" + str(self.custom.interlockIndex)])[0].value\n\t\n\tif (Sts_Intlk) or (Cfg_CondTxt !\u003d None):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "FirstOutPolygon" + }, + "position": { + "height": 20, + "width": 165 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_FirstOut[\" + {parent.custom.interlockIndex} + \"]\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#F0F0F0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 17, + "width": 16, + "x": 1.5, + "y": 1.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Intlk\") || tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"\",\n\t1: \"Sts_NotOK\",\n\t2: \"\",\n\t3: \"Sts_NotOK_Bypassed\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\tSts_Intlk \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Intlk + 2 \n\telse:\n\t\tindex \u003d Sts_Intlk\n\t\n\tif (index \u003d\u003d 1) or (index \u003d\u003d 3):\n\t\tret_value \u003d True\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Intlk\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"\",\n\t1: \"Sts_NotOK\",\n\t2: \"\",\n\t3: \"Sts_NotOK_Bypassed\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Intlk + 2 \n\telse:\n\t\tindex \u003d Sts_Intlk + 0\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 137, + "x": 24, + "y": 2 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Intlk\") || tag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#3F3F3F\"\n\tindex \u003d 0\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tret_value \u003d \"#A0A0A4\" \n\telse:\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.interlockIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "interlockIndex": 7 + }, + "meta": { + "name": "GOInterlock7" + }, + "position": { + "height": 20, + "width": 165, + "y": 166 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Intlk\") || (tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {this.custom.interlockIndex}) !\u003d null) " + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.custom.interlockIndex\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check) \u003d\u003d bit_check)\n\tCfg_CondTxt \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CondTxt/\" + str(self.custom.interlockIndex)])[0].value\n\t\n\tif (Sts_Intlk) or (Cfg_CondTxt !\u003d None):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "DisplayLeft" + }, + "position": { + "height": 205, + "width": 165 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "FirstOutPolygon" + }, + "position": { + "height": 20, + "width": 165 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_FirstOut[\" + {parent.custom.interlockIndex} + \"]\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#F0F0F0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 17, + "width": 16, + "x": 1.5, + "y": 1.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Intlk\") || tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"\",\n\t1: \"Sts_NotOK\",\n\t2: \"\",\n\t3: \"Sts_NotOK_Bypassed\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\tSts_Intlk \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Intlk + 2 \n\telse:\n\t\tindex \u003d Sts_Intlk\n\t\n\tif (index \u003d\u003d 1) or (index \u003d\u003d 3):\n\t\tret_value \u003d True\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Intlk\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"\",\n\t1: \"Sts_NotOK\",\n\t2: \"\",\n\t3: \"Sts_NotOK_Bypassed\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Intlk + 2 \n\telse:\n\t\tindex \u003d Sts_Intlk + 0\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 137, + "x": 24, + "y": 2 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Intlk\") || tag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#3F3F3F\"\n\tindex \u003d 0\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tret_value \u003d \"#A0A0A4\" \n\telse:\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.interlockIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "interlockIndex": 8 + }, + "meta": { + "name": "GOInterlock8" + }, + "position": { + "height": 20, + "width": 165, + "y": 5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Intlk\") || (tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {this.custom.interlockIndex}) !\u003d null) " + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.custom.interlockIndex\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check) \u003d\u003d bit_check)\n\tCfg_CondTxt \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CondTxt/\" + str(self.custom.interlockIndex)])[0].value\n\t\n\tif (Sts_Intlk) or (Cfg_CondTxt !\u003d None):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "FirstOutPolygon" + }, + "position": { + "height": 20, + "width": 165 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_FirstOut[\" + {parent.custom.interlockIndex} + \"]\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#F0F0F0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 17, + "width": 16, + "x": 1.5, + "y": 1.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Intlk\") || tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"\",\n\t1: \"Sts_NotOK\",\n\t2: \"\",\n\t3: \"Sts_NotOK_Bypassed\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\tSts_Intlk \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Intlk + 2 \n\telse:\n\t\tindex \u003d Sts_Intlk\n\t\n\tif (index \u003d\u003d 1) or (index \u003d\u003d 3):\n\t\tret_value \u003d True\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Intlk\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"\",\n\t1: \"Sts_NotOK\",\n\t2: \"\",\n\t3: \"Sts_NotOK_Bypassed\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Intlk + 2 \n\telse:\n\t\tindex \u003d Sts_Intlk + 0\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 137, + "x": 24, + "y": 2 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Intlk\") || tag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#3F3F3F\"\n\tindex \u003d 0\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tret_value \u003d \"#A0A0A4\" \n\telse:\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.interlockIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "interlockIndex": 9 + }, + "meta": { + "name": "GOInterlock9" + }, + "position": { + "height": 20, + "width": 165, + "y": 28 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Intlk\") || (tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {this.custom.interlockIndex}) !\u003d null) " + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.custom.interlockIndex\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check) \u003d\u003d bit_check)\n\tCfg_CondTxt \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CondTxt/\" + str(self.custom.interlockIndex)])[0].value\n\t\n\tif (Sts_Intlk) or (Cfg_CondTxt !\u003d None):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "FirstOutPolygon" + }, + "position": { + "height": 20, + "width": 165 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_FirstOut[\" + {parent.custom.interlockIndex} + \"]\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#F0F0F0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 17, + "width": 16, + "x": 1.5, + "y": 1.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Intlk\") || tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"\",\n\t1: \"Sts_NotOK\",\n\t2: \"\",\n\t3: \"Sts_NotOK_Bypassed\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\tSts_Intlk \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Intlk + 2 \n\telse:\n\t\tindex \u003d Sts_Intlk\n\t\n\tif (index \u003d\u003d 1) or (index \u003d\u003d 3):\n\t\tret_value \u003d True\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Intlk\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"\",\n\t1: \"Sts_NotOK\",\n\t2: \"\",\n\t3: \"Sts_NotOK_Bypassed\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Intlk + 2 \n\telse:\n\t\tindex \u003d Sts_Intlk + 0\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 137, + "x": 24, + "y": 2 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Intlk\") || tag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#3F3F3F\"\n\tindex \u003d 0\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tret_value \u003d \"#A0A0A4\" \n\telse:\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.interlockIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "interlockIndex": 10 + }, + "meta": { + "name": "GOInterlock10" + }, + "position": { + "height": 20, + "width": 165, + "y": 51 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Intlk\") || (tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {this.custom.interlockIndex}) !\u003d null) " + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.custom.interlockIndex\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check) \u003d\u003d bit_check)\n\tCfg_CondTxt \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CondTxt/\" + str(self.custom.interlockIndex)])[0].value\n\t\n\tif (Sts_Intlk) or (Cfg_CondTxt !\u003d None):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "FirstOutPolygon" + }, + "position": { + "height": 20, + "width": 165 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_FirstOut[\" + {parent.custom.interlockIndex} + \"]\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#F0F0F0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 17, + "width": 16, + "x": 1.5, + "y": 1.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Intlk\") || tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"\",\n\t1: \"Sts_NotOK\",\n\t2: \"\",\n\t3: \"Sts_NotOK_Bypassed\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\tSts_Intlk \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Intlk + 2 \n\telse:\n\t\tindex \u003d Sts_Intlk\n\t\n\tif (index \u003d\u003d 1) or (index \u003d\u003d 3):\n\t\tret_value \u003d True\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Intlk\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"\",\n\t1: \"Sts_NotOK\",\n\t2: \"\",\n\t3: \"Sts_NotOK_Bypassed\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Intlk + 2 \n\telse:\n\t\tindex \u003d Sts_Intlk + 0\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 137, + "x": 24, + "y": 2 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Intlk\") || tag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#3F3F3F\"\n\tindex \u003d 0\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tret_value \u003d \"#A0A0A4\" \n\telse:\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.interlockIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "interlockIndex": 11 + }, + "meta": { + "name": "GOInterlock11" + }, + "position": { + "height": 20, + "width": 165, + "y": 74 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Intlk\") || (tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {this.custom.interlockIndex}) !\u003d null) " + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.custom.interlockIndex\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check) \u003d\u003d bit_check)\n\tCfg_CondTxt \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CondTxt/\" + str(self.custom.interlockIndex)])[0].value\n\t\n\tif (Sts_Intlk) or (Cfg_CondTxt !\u003d None):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "FirstOutPolygon" + }, + "position": { + "height": 20, + "width": 165 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_FirstOut[\" + {parent.custom.interlockIndex} + \"]\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#F0F0F0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 17, + "width": 16, + "x": 1.5, + "y": 1.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Intlk\") || tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"\",\n\t1: \"Sts_NotOK\",\n\t2: \"\",\n\t3: \"Sts_NotOK_Bypassed\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\tSts_Intlk \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Intlk + 2 \n\telse:\n\t\tindex \u003d Sts_Intlk\n\t\n\tif (index \u003d\u003d 1) or (index \u003d\u003d 3):\n\t\tret_value \u003d True\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Intlk\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"\",\n\t1: \"Sts_NotOK\",\n\t2: \"\",\n\t3: \"Sts_NotOK_Bypassed\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Intlk + 2 \n\telse:\n\t\tindex \u003d Sts_Intlk + 0\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 137, + "x": 24, + "y": 2 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Intlk\") || tag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#3F3F3F\"\n\tindex \u003d 0\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tret_value \u003d \"#A0A0A4\" \n\telse:\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.interlockIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "interlockIndex": 12 + }, + "meta": { + "name": "GOInterlock12" + }, + "position": { + "height": 20, + "width": 165, + "y": 97 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Intlk\") || (tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {this.custom.interlockIndex}) !\u003d null) " + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.custom.interlockIndex\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check) \u003d\u003d bit_check)\n\tCfg_CondTxt \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CondTxt/\" + str(self.custom.interlockIndex)])[0].value\n\t\n\tif (Sts_Intlk) or (Cfg_CondTxt !\u003d None):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "FirstOutPolygon" + }, + "position": { + "height": 20, + "width": 165 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_FirstOut[\" + {parent.custom.interlockIndex} + \"]\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#F0F0F0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 17, + "width": 16, + "x": 1.5, + "y": 1.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Intlk\") || tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"\",\n\t1: \"Sts_NotOK\",\n\t2: \"\",\n\t3: \"Sts_NotOK_Bypassed\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\tSts_Intlk \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Intlk + 2 \n\telse:\n\t\tindex \u003d Sts_Intlk\n\t\n\tif (index \u003d\u003d 1) or (index \u003d\u003d 3):\n\t\tret_value \u003d True\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Intlk\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"\",\n\t1: \"Sts_NotOK\",\n\t2: \"\",\n\t3: \"Sts_NotOK_Bypassed\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Intlk + 2 \n\telse:\n\t\tindex \u003d Sts_Intlk + 0\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 137, + "x": 24, + "y": 2 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Intlk\") || tag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#3F3F3F\"\n\tindex \u003d 0\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tret_value \u003d \"#A0A0A4\" \n\telse:\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.interlockIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "interlockIndex": 13 + }, + "meta": { + "name": "GOInterlock13" + }, + "position": { + "height": 20, + "width": 165, + "y": 120 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Intlk\") || (tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {this.custom.interlockIndex}) !\u003d null) " + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.custom.interlockIndex\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check) \u003d\u003d bit_check)\n\tCfg_CondTxt \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CondTxt/\" + str(self.custom.interlockIndex)])[0].value\n\t\n\tif (Sts_Intlk) or (Cfg_CondTxt !\u003d None):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "FirstOutPolygon" + }, + "position": { + "height": 20, + "width": 165 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_FirstOut[\" + {parent.custom.interlockIndex} + \"]\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#F0F0F0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 17, + "width": 16, + "x": 1.5, + "y": 1.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Intlk\") || tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"\",\n\t1: \"Sts_NotOK\",\n\t2: \"\",\n\t3: \"Sts_NotOK_Bypassed\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\tSts_Intlk \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Intlk + 2 \n\telse:\n\t\tindex \u003d Sts_Intlk\n\t\n\tif (index \u003d\u003d 1) or (index \u003d\u003d 3):\n\t\tret_value \u003d True\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Intlk\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"\",\n\t1: \"Sts_NotOK\",\n\t2: \"\",\n\t3: \"Sts_NotOK_Bypassed\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Intlk + 2 \n\telse:\n\t\tindex \u003d Sts_Intlk + 0\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 137, + "x": 24, + "y": 2 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Intlk\") || tag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#3F3F3F\"\n\tindex \u003d 0\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tret_value \u003d \"#A0A0A4\" \n\telse:\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.interlockIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "interlockIndex": 14 + }, + "meta": { + "name": "GOInterlock14" + }, + "position": { + "height": 20, + "width": 165, + "y": 143 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Intlk\") || (tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {this.custom.interlockIndex}) !\u003d null) " + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.custom.interlockIndex\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check) \u003d\u003d bit_check)\n\tCfg_CondTxt \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CondTxt/\" + str(self.custom.interlockIndex)])[0].value\n\t\n\tif (Sts_Intlk) or (Cfg_CondTxt !\u003d None):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "FirstOutPolygon" + }, + "position": { + "height": 20, + "width": 165 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_FirstOut[\" + {parent.custom.interlockIndex} + \"]\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#F0F0F0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 17, + "width": 16, + "x": 1.5, + "y": 1.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Intlk\") || tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"\",\n\t1: \"Sts_NotOK\",\n\t2: \"\",\n\t3: \"Sts_NotOK_Bypassed\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\tSts_Intlk \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Intlk + 2 \n\telse:\n\t\tindex \u003d Sts_Intlk\n\t\n\tif (index \u003d\u003d 1) or (index \u003d\u003d 3):\n\t\tret_value \u003d True\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Intlk\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"\",\n\t1: \"Sts_NotOK\",\n\t2: \"\",\n\t3: \"Sts_NotOK_Bypassed\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Intlk + 2 \n\telse:\n\t\tindex \u003d Sts_Intlk + 0\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 137, + "x": 24, + "y": 2 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Intlk\") || tag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#3F3F3F\"\n\tindex \u003d 0\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tret_value \u003d \"#A0A0A4\" \n\telse:\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.interlockIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "interlockIndex": 15 + }, + "meta": { + "name": "GOInterlock15" + }, + "position": { + "height": 20, + "width": 165, + "y": 166 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Intlk\") || (tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {this.custom.interlockIndex}) !\u003d null) " + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.custom.interlockIndex\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check) \u003d\u003d bit_check)\n\tCfg_CondTxt \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CondTxt/\" + str(self.custom.interlockIndex)])[0].value\n\t\n\tif (Sts_Intlk) or (Cfg_CondTxt !\u003d None):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "DisplayRight" + }, + "position": { + "height": 205, + "width": 165, + "x": 173 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GroupInterlockDisplay" + }, + "position": { + "height": 218, + "width": 340, + "x": 43, + "y": 55 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Home" + }, + "position": { + "height": 300, + "width": 392, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 0) or (value !\u003d 1)", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 300, + "width": 353, + "x": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "y": 43 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 300, + "width": 392 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "AdvancedProperties" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Properties.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tblock_label \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_Label\"])[0].value\n\ttitle \u003d \"{0} - {1}\".format(block_label, \"Advanced\")\n\t\n\tparams \u003d {\u0027tagPath\u0027: self.view.params.tagPath}\n\t\n\tsystem.perspective.openPopup({self.view.params.tagPath},\u0027Plant PAX/Popups/P_Intlk/P_Intlk_Advanced\u0027, params, title, showCloseIcon \u003d True, resizable \u003d False)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "AdvancedPropertiesButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BadConfig" + }, + "position": { + "height": 16, + "width": 16, + "x": 22 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_Timer\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupNavToAdvanced" + }, + "position": { + "height": 42, + "width": 42, + "x": 50, + "y": 3 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "HeaderText" + }, + "position": { + "height": 16, + "width": 320 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textDecoration": "underline" + }, + "text": "Enable Bypass" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (MSet_Bypass):\n\t\tret_value \u003d True\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 2 + }, + "propConfig": { + "custom.interlockIndex": { + "binding": { + "config": { + "path": "parent.custom.interlockIndex" + }, + "type": "property" + } + }, + "custom.overrideColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 135, + "x": 25 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.interlockIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value\n\tbit_check \u003d 2**self.parent.custom.interlockIndex \n\twrite_value \u003d False\n\t\n\tif ((value \u0026 bit_check) \u003d\u003d bit_check):\n\t\tvalue \u003d value - bit_check\n\t\twrite_value \u003d True\n\telif ((value \u0026 bit_check) !\u003d bit_check):\n\t\tvalue \u003d value + bit_check\n\t\twrite_value \u003d True\n\t\t\n\tif (write_value):\n\t\tsystem.tag.write(self.view.params.tagPath + \"/MSet_Bypass\", value)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 18, + "width": 160, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.interlockIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "custom": { + "interlockIndex": 0 + }, + "meta": { + "name": "GOMSetBypass0" + }, + "position": { + "height": 20, + "width": 174 + }, + "propConfig": { + "custom.overrideColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#B0B0B0\"\n\t\n\tbit_check \u003d 2**self.custom.interlockIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Intlk\") || (tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {this.custom.interlockIndex}) !\u003d null) " + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.custom.interlockIndex\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check) \u003d\u003d bit_check)\n\tCfg_CondTxt \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CondTxt/\" + str(self.custom.interlockIndex)])[0].value\n\t\n\tif (Sts_Intlk \u003d\u003d 1) or (Cfg_CondTxt !\u003d None):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (MSet_Bypass):\n\t\tret_value \u003d True\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 2 + }, + "propConfig": { + "custom.interlockIndex": { + "binding": { + "config": { + "path": "parent.custom.interlockIndex" + }, + "type": "property" + } + }, + "custom.overrideColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 135, + "x": 25 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.interlockIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value\n\tbit_check \u003d 2**self.parent.custom.interlockIndex \n\twrite_value \u003d False\n\t\n\tif ((value \u0026 bit_check) \u003d\u003d bit_check):\n\t\tvalue \u003d value - bit_check\n\t\twrite_value \u003d True\n\telif ((value \u0026 bit_check) !\u003d bit_check):\n\t\tvalue \u003d value + bit_check\n\t\twrite_value \u003d True\n\t\t\n\tif (write_value):\n\t\tsystem.tag.write(self.view.params.tagPath + \"/MSet_Bypass\", value)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 18, + "width": 160, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.interlockIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "custom": { + "interlockIndex": 1 + }, + "meta": { + "name": "GOMSetBypass1" + }, + "position": { + "height": 20, + "width": 174, + "y": 23 + }, + "propConfig": { + "custom.overrideColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#B0B0B0\"\n\t\n\tbit_check \u003d 2**self.custom.interlockIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Intlk\") || (tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {this.custom.interlockIndex}) !\u003d null) " + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.custom.interlockIndex\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check) \u003d\u003d bit_check)\n\tCfg_CondTxt \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CondTxt/\" + str(self.custom.interlockIndex)])[0].value\n\t\n\tif (Sts_Intlk \u003d\u003d 1) or (Cfg_CondTxt !\u003d None):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (MSet_Bypass):\n\t\tret_value \u003d True\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 2 + }, + "propConfig": { + "custom.interlockIndex": { + "binding": { + "config": { + "path": "parent.custom.interlockIndex" + }, + "type": "property" + } + }, + "custom.overrideColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 135, + "x": 25 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.interlockIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value\n\tbit_check \u003d 2**self.parent.custom.interlockIndex \n\twrite_value \u003d False\n\t\n\tif ((value \u0026 bit_check) \u003d\u003d bit_check):\n\t\tvalue \u003d value - bit_check\n\t\twrite_value \u003d True\n\telif ((value \u0026 bit_check) !\u003d bit_check):\n\t\tvalue \u003d value + bit_check\n\t\twrite_value \u003d True\n\t\t\n\tif (write_value):\n\t\tsystem.tag.write(self.view.params.tagPath + \"/MSet_Bypass\", value)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 18, + "width": 160, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.interlockIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "custom": { + "interlockIndex": 2 + }, + "meta": { + "name": "GOMSetBypass2" + }, + "position": { + "height": 20, + "width": 174, + "y": 46 + }, + "propConfig": { + "custom.overrideColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#B0B0B0\"\n\t\n\tbit_check \u003d 2**self.custom.interlockIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Intlk\") || (tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {this.custom.interlockIndex}) !\u003d null) " + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.custom.interlockIndex\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check) \u003d\u003d bit_check)\n\tCfg_CondTxt \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CondTxt/\" + str(self.custom.interlockIndex)])[0].value\n\t\n\tif (Sts_Intlk \u003d\u003d 1) or (Cfg_CondTxt !\u003d None):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (MSet_Bypass):\n\t\tret_value \u003d True\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 2 + }, + "propConfig": { + "custom.interlockIndex": { + "binding": { + "config": { + "path": "parent.custom.interlockIndex" + }, + "type": "property" + } + }, + "custom.overrideColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 135, + "x": 25 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.interlockIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value\n\tbit_check \u003d 2**self.parent.custom.interlockIndex \n\twrite_value \u003d False\n\t\n\tif ((value \u0026 bit_check) \u003d\u003d bit_check):\n\t\tvalue \u003d value - bit_check\n\t\twrite_value \u003d True\n\telif ((value \u0026 bit_check) !\u003d bit_check):\n\t\tvalue \u003d value + bit_check\n\t\twrite_value \u003d True\n\t\t\n\tif (write_value):\n\t\tsystem.tag.write(self.view.params.tagPath + \"/MSet_Bypass\", value)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 18, + "width": 160, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.interlockIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "custom": { + "interlockIndex": 3 + }, + "meta": { + "name": "GOMSetBypass3" + }, + "position": { + "height": 20, + "width": 174, + "y": 69 + }, + "propConfig": { + "custom.overrideColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#B0B0B0\"\n\t\n\tbit_check \u003d 2**self.custom.interlockIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Intlk\") || (tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {this.custom.interlockIndex}) !\u003d null) " + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.custom.interlockIndex\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check) \u003d\u003d bit_check)\n\tCfg_CondTxt \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CondTxt/\" + str(self.custom.interlockIndex)])[0].value\n\t\n\tif (Sts_Intlk \u003d\u003d 1) or (Cfg_CondTxt !\u003d None):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (MSet_Bypass):\n\t\tret_value \u003d True\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 2 + }, + "propConfig": { + "custom.interlockIndex": { + "binding": { + "config": { + "path": "parent.custom.interlockIndex" + }, + "type": "property" + } + }, + "custom.overrideColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 135, + "x": 25 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.interlockIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value\n\tbit_check \u003d 2**self.parent.custom.interlockIndex \n\twrite_value \u003d False\n\t\n\tif ((value \u0026 bit_check) \u003d\u003d bit_check):\n\t\tvalue \u003d value - bit_check\n\t\twrite_value \u003d True\n\telif ((value \u0026 bit_check) !\u003d bit_check):\n\t\tvalue \u003d value + bit_check\n\t\twrite_value \u003d True\n\t\t\n\tif (write_value):\n\t\tsystem.tag.write(self.view.params.tagPath + \"/MSet_Bypass\", value)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 18, + "width": 160, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.interlockIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "custom": { + "interlockIndex": 4 + }, + "meta": { + "name": "GOMSetBypass4" + }, + "position": { + "height": 20, + "width": 174, + "y": 92 + }, + "propConfig": { + "custom.overrideColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#B0B0B0\"\n\t\n\tbit_check \u003d 2**self.custom.interlockIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Intlk\") || (tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {this.custom.interlockIndex}) !\u003d null) " + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.custom.interlockIndex\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check) \u003d\u003d bit_check)\n\tCfg_CondTxt \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CondTxt/\" + str(self.custom.interlockIndex)])[0].value\n\t\n\tif (Sts_Intlk \u003d\u003d 1) or (Cfg_CondTxt !\u003d None):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (MSet_Bypass):\n\t\tret_value \u003d True\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 2 + }, + "propConfig": { + "custom.interlockIndex": { + "binding": { + "config": { + "path": "parent.custom.interlockIndex" + }, + "type": "property" + } + }, + "custom.overrideColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 135, + "x": 25 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.interlockIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value\n\tbit_check \u003d 2**self.parent.custom.interlockIndex \n\twrite_value \u003d False\n\t\n\tif ((value \u0026 bit_check) \u003d\u003d bit_check):\n\t\tvalue \u003d value - bit_check\n\t\twrite_value \u003d True\n\telif ((value \u0026 bit_check) !\u003d bit_check):\n\t\tvalue \u003d value + bit_check\n\t\twrite_value \u003d True\n\t\t\n\tif (write_value):\n\t\tsystem.tag.write(self.view.params.tagPath + \"/MSet_Bypass\", value)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 18, + "width": 160, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.interlockIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "custom": { + "interlockIndex": 5 + }, + "meta": { + "name": "GOMSetBypass5" + }, + "position": { + "height": 20, + "width": 174, + "y": 115 + }, + "propConfig": { + "custom.overrideColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#B0B0B0\"\n\t\n\tbit_check \u003d 2**self.custom.interlockIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Intlk\") || (tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {this.custom.interlockIndex}) !\u003d null) " + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.custom.interlockIndex\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check) \u003d\u003d bit_check)\n\tCfg_CondTxt \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CondTxt/\" + str(self.custom.interlockIndex)])[0].value\n\t\n\tif (Sts_Intlk \u003d\u003d 1) or (Cfg_CondTxt !\u003d None):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (MSet_Bypass):\n\t\tret_value \u003d True\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 2 + }, + "propConfig": { + "custom.interlockIndex": { + "binding": { + "config": { + "path": "parent.custom.interlockIndex" + }, + "type": "property" + } + }, + "custom.overrideColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 135, + "x": 25 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.interlockIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value\n\tbit_check \u003d 2**self.parent.custom.interlockIndex \n\twrite_value \u003d False\n\t\n\tif ((value \u0026 bit_check) \u003d\u003d bit_check):\n\t\tvalue \u003d value - bit_check\n\t\twrite_value \u003d True\n\telif ((value \u0026 bit_check) !\u003d bit_check):\n\t\tvalue \u003d value + bit_check\n\t\twrite_value \u003d True\n\t\t\n\tif (write_value):\n\t\tsystem.tag.write(self.view.params.tagPath + \"/MSet_Bypass\", value)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 18, + "width": 160, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.interlockIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "custom": { + "interlockIndex": 6 + }, + "meta": { + "name": "GOMSetBypass6" + }, + "position": { + "height": 20, + "width": 174, + "y": 138 + }, + "propConfig": { + "custom.overrideColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#B0B0B0\"\n\t\n\tbit_check \u003d 2**self.custom.interlockIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Intlk\") || (tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {this.custom.interlockIndex}) !\u003d null) " + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.custom.interlockIndex\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check) \u003d\u003d bit_check)\n\tCfg_CondTxt \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CondTxt/\" + str(self.custom.interlockIndex)])[0].value\n\t\n\tif (Sts_Intlk \u003d\u003d 1) or (Cfg_CondTxt !\u003d None):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (MSet_Bypass):\n\t\tret_value \u003d True\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 2 + }, + "propConfig": { + "custom.interlockIndex": { + "binding": { + "config": { + "path": "parent.custom.interlockIndex" + }, + "type": "property" + } + }, + "custom.overrideColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 135, + "x": 25 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.interlockIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value\n\tbit_check \u003d 2**self.parent.custom.interlockIndex \n\twrite_value \u003d False\n\t\n\tif ((value \u0026 bit_check) \u003d\u003d bit_check):\n\t\tvalue \u003d value - bit_check\n\t\twrite_value \u003d True\n\telif ((value \u0026 bit_check) !\u003d bit_check):\n\t\tvalue \u003d value + bit_check\n\t\twrite_value \u003d True\n\t\t\n\tif (write_value):\n\t\tsystem.tag.write(self.view.params.tagPath + \"/MSet_Bypass\", value)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 18, + "width": 160, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.interlockIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "custom": { + "interlockIndex": 7 + }, + "meta": { + "name": "GOMSetBypass7" + }, + "position": { + "height": 20, + "width": 174, + "y": 161 + }, + "propConfig": { + "custom.overrideColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#B0B0B0\"\n\t\n\tbit_check \u003d 2**self.custom.interlockIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Intlk\") || (tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {this.custom.interlockIndex}) !\u003d null) " + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.custom.interlockIndex\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check) \u003d\u003d bit_check)\n\tCfg_CondTxt \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CondTxt/\" + str(self.custom.interlockIndex)])[0].value\n\t\n\tif (Sts_Intlk \u003d\u003d 1) or (Cfg_CondTxt !\u003d None):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "EnableLeft" + }, + "position": { + "height": 181, + "width": 174 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (MSet_Bypass):\n\t\tret_value \u003d True\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 2 + }, + "propConfig": { + "custom.interlockIndex": { + "binding": { + "config": { + "path": "parent.custom.interlockIndex" + }, + "type": "property" + } + }, + "custom.overrideColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 135, + "x": 25 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.interlockIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value\n\tbit_check \u003d 2**self.parent.custom.interlockIndex \n\twrite_value \u003d False\n\t\n\tif ((value \u0026 bit_check) \u003d\u003d bit_check):\n\t\tvalue \u003d value - bit_check\n\t\twrite_value \u003d True\n\telif ((value \u0026 bit_check) !\u003d bit_check):\n\t\tvalue \u003d value + bit_check\n\t\twrite_value \u003d True\n\t\t\n\tif (write_value):\n\t\tsystem.tag.write(self.view.params.tagPath + \"/MSet_Bypass\", value)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 18, + "width": 160, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.interlockIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "custom": { + "interlockIndex": 8 + }, + "meta": { + "name": "GOMSetBypass8" + }, + "position": { + "height": 20, + "width": 174 + }, + "propConfig": { + "custom.overrideColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#B0B0B0\"\n\t\n\tbit_check \u003d 2**self.custom.interlockIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Intlk\") || (tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {this.custom.interlockIndex}) !\u003d null) " + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.custom.interlockIndex\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check) \u003d\u003d bit_check)\n\tCfg_CondTxt \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CondTxt/\" + str(self.custom.interlockIndex)])[0].value\n\t\n\tif (Sts_Intlk \u003d\u003d 1) or (Cfg_CondTxt !\u003d None):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (MSet_Bypass):\n\t\tret_value \u003d True\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 2 + }, + "propConfig": { + "custom.interlockIndex": { + "binding": { + "config": { + "path": "parent.custom.interlockIndex" + }, + "type": "property" + } + }, + "custom.overrideColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 135, + "x": 25 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.interlockIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value\n\tbit_check \u003d 2**self.parent.custom.interlockIndex \n\twrite_value \u003d False\n\t\n\tif ((value \u0026 bit_check) \u003d\u003d bit_check):\n\t\tvalue \u003d value - bit_check\n\t\twrite_value \u003d True\n\telif ((value \u0026 bit_check) !\u003d bit_check):\n\t\tvalue \u003d value + bit_check\n\t\twrite_value \u003d True\n\t\t\n\tif (write_value):\n\t\tsystem.tag.write(self.view.params.tagPath + \"/MSet_Bypass\", value)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 18, + "width": 160, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.interlockIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "custom": { + "interlockIndex": 9 + }, + "meta": { + "name": "GOMSetBypass9" + }, + "position": { + "height": 20, + "width": 174, + "y": 23 + }, + "propConfig": { + "custom.overrideColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#B0B0B0\"\n\t\n\tbit_check \u003d 2**self.custom.interlockIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Intlk\") || (tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {this.custom.interlockIndex}) !\u003d null) " + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.custom.interlockIndex\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check) \u003d\u003d bit_check)\n\tCfg_CondTxt \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CondTxt/\" + str(self.custom.interlockIndex)])[0].value\n\t\n\tif (Sts_Intlk \u003d\u003d 1) or (Cfg_CondTxt !\u003d None):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (MSet_Bypass):\n\t\tret_value \u003d True\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 2 + }, + "propConfig": { + "custom.interlockIndex": { + "binding": { + "config": { + "path": "parent.custom.interlockIndex" + }, + "type": "property" + } + }, + "custom.overrideColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 135, + "x": 25 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.interlockIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value\n\tbit_check \u003d 2**self.parent.custom.interlockIndex \n\twrite_value \u003d False\n\t\n\tif ((value \u0026 bit_check) \u003d\u003d bit_check):\n\t\tvalue \u003d value - bit_check\n\t\twrite_value \u003d True\n\telif ((value \u0026 bit_check) !\u003d bit_check):\n\t\tvalue \u003d value + bit_check\n\t\twrite_value \u003d True\n\t\t\n\tif (write_value):\n\t\tsystem.tag.write(self.view.params.tagPath + \"/MSet_Bypass\", value)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 18, + "width": 160, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.interlockIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "custom": { + "interlockIndex": 10 + }, + "meta": { + "name": "GOMSetBypass10" + }, + "position": { + "height": 20, + "width": 174, + "y": 46 + }, + "propConfig": { + "custom.overrideColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#B0B0B0\"\n\t\n\tbit_check \u003d 2**self.custom.interlockIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Intlk\") || (tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {this.custom.interlockIndex}) !\u003d null) " + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.custom.interlockIndex\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check) \u003d\u003d bit_check)\n\tCfg_CondTxt \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CondTxt/\" + str(self.custom.interlockIndex)])[0].value\n\t\n\tif (Sts_Intlk \u003d\u003d 1) or (Cfg_CondTxt !\u003d None):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (MSet_Bypass):\n\t\tret_value \u003d True\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 2 + }, + "propConfig": { + "custom.interlockIndex": { + "binding": { + "config": { + "path": "parent.custom.interlockIndex" + }, + "type": "property" + } + }, + "custom.overrideColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 135, + "x": 25 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.interlockIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value\n\tbit_check \u003d 2**self.parent.custom.interlockIndex \n\twrite_value \u003d False\n\t\n\tif ((value \u0026 bit_check) \u003d\u003d bit_check):\n\t\tvalue \u003d value - bit_check\n\t\twrite_value \u003d True\n\telif ((value \u0026 bit_check) !\u003d bit_check):\n\t\tvalue \u003d value + bit_check\n\t\twrite_value \u003d True\n\t\t\n\tif (write_value):\n\t\tsystem.tag.write(self.view.params.tagPath + \"/MSet_Bypass\", value)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 18, + "width": 160, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.interlockIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "custom": { + "interlockIndex": 11 + }, + "meta": { + "name": "GOMSetBypass11" + }, + "position": { + "height": 20, + "width": 174, + "y": 69 + }, + "propConfig": { + "custom.overrideColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#B0B0B0\"\n\t\n\tbit_check \u003d 2**self.custom.interlockIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Intlk\") || (tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {this.custom.interlockIndex}) !\u003d null) " + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.custom.interlockIndex\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check) \u003d\u003d bit_check)\n\tCfg_CondTxt \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CondTxt/\" + str(self.custom.interlockIndex)])[0].value\n\t\n\tif (Sts_Intlk \u003d\u003d 1) or (Cfg_CondTxt !\u003d None):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (MSet_Bypass):\n\t\tret_value \u003d True\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 2 + }, + "propConfig": { + "custom.interlockIndex": { + "binding": { + "config": { + "path": "parent.custom.interlockIndex" + }, + "type": "property" + } + }, + "custom.overrideColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 135, + "x": 25 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.interlockIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value\n\tbit_check \u003d 2**self.parent.custom.interlockIndex \n\twrite_value \u003d False\n\t\n\tif ((value \u0026 bit_check) \u003d\u003d bit_check):\n\t\tvalue \u003d value - bit_check\n\t\twrite_value \u003d True\n\telif ((value \u0026 bit_check) !\u003d bit_check):\n\t\tvalue \u003d value + bit_check\n\t\twrite_value \u003d True\n\t\t\n\tif (write_value):\n\t\tsystem.tag.write(self.view.params.tagPath + \"/MSet_Bypass\", value)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 18, + "width": 160, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.interlockIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "custom": { + "interlockIndex": 12 + }, + "meta": { + "name": "GOMSetBypass12" + }, + "position": { + "height": 20, + "width": 174, + "y": 92 + }, + "propConfig": { + "custom.overrideColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#B0B0B0\"\n\t\n\tbit_check \u003d 2**self.custom.interlockIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Intlk\") || (tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {this.custom.interlockIndex}) !\u003d null) " + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.custom.interlockIndex\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check) \u003d\u003d bit_check)\n\tCfg_CondTxt \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CondTxt/\" + str(self.custom.interlockIndex)])[0].value\n\t\n\tif (Sts_Intlk \u003d\u003d 1) or (Cfg_CondTxt !\u003d None):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (MSet_Bypass):\n\t\tret_value \u003d True\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 2 + }, + "propConfig": { + "custom.interlockIndex": { + "binding": { + "config": { + "path": "parent.custom.interlockIndex" + }, + "type": "property" + } + }, + "custom.overrideColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 135, + "x": 25 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.interlockIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value\n\tbit_check \u003d 2**self.parent.custom.interlockIndex \n\twrite_value \u003d False\n\t\n\tif ((value \u0026 bit_check) \u003d\u003d bit_check):\n\t\tvalue \u003d value - bit_check\n\t\twrite_value \u003d True\n\telif ((value \u0026 bit_check) !\u003d bit_check):\n\t\tvalue \u003d value + bit_check\n\t\twrite_value \u003d True\n\t\t\n\tif (write_value):\n\t\tsystem.tag.write(self.view.params.tagPath + \"/MSet_Bypass\", value)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 18, + "width": 160, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.interlockIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "custom": { + "interlockIndex": 13 + }, + "meta": { + "name": "GOMSetBypass13" + }, + "position": { + "height": 20, + "width": 174, + "y": 115 + }, + "propConfig": { + "custom.overrideColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#B0B0B0\"\n\t\n\tbit_check \u003d 2**self.custom.interlockIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Intlk\") || (tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {this.custom.interlockIndex}) !\u003d null) " + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.custom.interlockIndex\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check) \u003d\u003d bit_check)\n\tCfg_CondTxt \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CondTxt/\" + str(self.custom.interlockIndex)])[0].value\n\t\n\tif (Sts_Intlk \u003d\u003d 1) or (Cfg_CondTxt !\u003d None):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (MSet_Bypass):\n\t\tret_value \u003d True\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 2 + }, + "propConfig": { + "custom.interlockIndex": { + "binding": { + "config": { + "path": "parent.custom.interlockIndex" + }, + "type": "property" + } + }, + "custom.overrideColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 135, + "x": 25 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.interlockIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value\n\tbit_check \u003d 2**self.parent.custom.interlockIndex \n\twrite_value \u003d False\n\t\n\tif ((value \u0026 bit_check) \u003d\u003d bit_check):\n\t\tvalue \u003d value - bit_check\n\t\twrite_value \u003d True\n\telif ((value \u0026 bit_check) !\u003d bit_check):\n\t\tvalue \u003d value + bit_check\n\t\twrite_value \u003d True\n\t\t\n\tif (write_value):\n\t\tsystem.tag.write(self.view.params.tagPath + \"/MSet_Bypass\", value)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 18, + "width": 160, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.interlockIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "custom": { + "interlockIndex": 14 + }, + "meta": { + "name": "GOMSetBypass14" + }, + "position": { + "height": 20, + "width": 174, + "y": 138 + }, + "propConfig": { + "custom.overrideColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#B0B0B0\"\n\t\n\tbit_check \u003d 2**self.custom.interlockIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Intlk\") || (tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {this.custom.interlockIndex}) !\u003d null) " + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.custom.interlockIndex\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check) \u003d\u003d bit_check)\n\tCfg_CondTxt \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CondTxt/\" + str(self.custom.interlockIndex)])[0].value\n\t\n\tif (Sts_Intlk \u003d\u003d 1) or (Cfg_CondTxt !\u003d None):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.interlockIndex\n\tMSet_Bypass \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (MSet_Bypass):\n\t\tret_value \u003d True\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 2 + }, + "propConfig": { + "custom.interlockIndex": { + "binding": { + "config": { + "path": "parent.custom.interlockIndex" + }, + "type": "property" + } + }, + "custom.overrideColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 135, + "x": 25 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.interlockIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value\n\tbit_check \u003d 2**self.parent.custom.interlockIndex \n\twrite_value \u003d False\n\t\n\tif ((value \u0026 bit_check) \u003d\u003d bit_check):\n\t\tvalue \u003d value - bit_check\n\t\twrite_value \u003d True\n\telif ((value \u0026 bit_check) !\u003d bit_check):\n\t\tvalue \u003d value + bit_check\n\t\twrite_value \u003d True\n\t\t\n\tif (write_value):\n\t\tsystem.tag.write(self.view.params.tagPath + \"/MSet_Bypass\", value)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 18, + "width": 160, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.interlockIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "custom": { + "interlockIndex": 15 + }, + "meta": { + "name": "GOMSetBypass15" + }, + "position": { + "height": 20, + "width": 174, + "y": 161 + }, + "propConfig": { + "custom.overrideColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#B0B0B0\"\n\t\n\tbit_check \u003d 2**self.custom.interlockIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Intlk\") || (tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {this.custom.interlockIndex}) !\u003d null) " + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.custom.interlockIndex\n\tSts_Intlk \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Intlk\"])[0].value \u0026 bit_check) \u003d\u003d bit_check)\n\tCfg_CondTxt \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CondTxt/\" + str(self.custom.interlockIndex)])[0].value\n\t\n\tif (Sts_Intlk \u003d\u003d 1) or (Cfg_CondTxt !\u003d None):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "EnableRight" + }, + "position": { + "height": 181, + "width": 174, + "x": 170.5 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Group" + }, + "position": { + "height": 200, + "width": 345, + "y": 19 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Group" + }, + "position": { + "height": 223, + "width": 345, + "x": 41.5, + "y": 55 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Maintenance" + }, + "position": { + "height": 300, + "width": 392, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d 1", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 300, + "width": 353, + "x": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "y": 253 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 300, + "width": 392 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 108, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "caption": "P_Intlk", + "label": "Popup Name:" + }, + "meta": { + "name": "PopupID" + }, + "position": { + "height": 18, + "width": 255, + "x": 125, + "y": 206 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 108, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "PlantPAX Version:" + }, + "meta": { + "name": "PlantPAX Version" + }, + "position": { + "height": 18, + "width": 255, + "x": 125, + "y": 229 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/version\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 108, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "UDT Version:" + }, + "meta": { + "name": "UDTVersion" + }, + "position": { + "height": 18, + "width": 255, + "x": 125, + "y": 252 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Prime Version\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 108, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "Popup Version:" + }, + "meta": { + "name": "PopupVersion" + }, + "position": { + "height": 18, + "width": 255, + "x": 125, + "y": 275 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "path": "view.custom.popupVersion" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Version" + }, + "position": { + "height": 300, + "width": 392, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d -1", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "AlarmPolygon" + }, + "position": { + "height": 39, + "width": 39, + "y": 117 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\tret_value \u003d ret_value and (self.view.params.selectedTab !\u003d 3)\t# Show it only if active tab different than alarm tab \n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d value\n\t\n\tcolors \u003d [\"\",\n\t\"#FFFFFF\",\n\t\"#916AAD\",\n\t\"#916AAD\",\n\t\"#F5DF1B\",\n\t\"#F5DF1B\",\n\t\"#EC8729\",\n\t\"#EC8729\",\n\t\"#E22028\",\n\t\"#E22028\",\n\t\"\"]\n\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d colors[Val_NotifyAll]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "borderBottomStyle": "solid", + "borderBottomWidth": 2, + "borderLeftStyle": "solid", + "borderLeftWidth": 2, + "borderRightStyle": "none", + "borderTopStyle": "solid", + "borderTopWidth": 2 + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonHome" + }, + "position": { + "height": 35, + "width": 35, + "x": 2 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Home.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 1" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonMaintenance" + }, + "position": { + "height": 35, + "width": 35, + "x": 2, + "y": 40 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Maint.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d -1" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonHelp" + }, + "position": { + "height": 32, + "rotate": { + "angle": "180deg" + }, + "width": 32, + "x": 2, + "y": 250 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Faults.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupTabButtons" + }, + "position": { + "height": 287, + "width": 39, + "x": 3, + "y": 5 + }, + "type": "ia.container.coord" + } + ], + "events": { + "system": { + "onStartup": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Intlk/P_Intlk_Advanced/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Intlk/P_Intlk_Advanced/resource.json new file mode 100644 index 0000000..2fa4177 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Intlk/P_Intlk_Advanced/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "75e68e8cb028a7f29eecd9b186bb9c538cd13bf61c4041eb39e093989fc8a5f4", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Intlk/P_Intlk_Advanced/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Intlk/P_Intlk_Advanced/thumbnail.png new file mode 100644 index 0000000..fa095a8 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Intlk/P_Intlk_Advanced/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Intlk/P_Intlk_Advanced/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Intlk/P_Intlk_Advanced/view.json new file mode 100644 index 0000000..7c7f26d --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Intlk/P_Intlk_Advanced/view.json @@ -0,0 +1,1578 @@ +{ + "custom": { + "popupVersion": " 1.0 " + }, + "params": { + "securityDeviceConfigBehavior": true, + "securityDeviceConfigHMI": true, + "securityDeviceConfigTimers": true, + "securityEnableSimulation": true, + "securityOverrideInputs": true, + "selectedTab": 0, + "tagPath": "[default]Test_Tags/P_DOut_Intlk", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "custom.popupVersion": { + "persistent": true + }, + "params.securityDeviceConfigBehavior": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigBehavior\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityDeviceConfigHMI": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigHMI\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityDeviceConfigTimers": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigTimers\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityEnableSimulation": { + "binding": { + "config": { + "expression": "\"securityEnableSimulation\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityOverrideInputs": { + "binding": { + "config": { + "expression": "\"securityOverrideInputs\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.selectedTab": { + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 503, + "width": 350 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Tab1" + }, + "position": { + "height": 39, + "width": 37 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab2" + }, + "position": { + "height": 39, + "width": 37, + "x": 40 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "InactiveTabs" + }, + "position": { + "height": 39, + "width": 117, + "x": 4, + "y": 4 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 461, + "width": 350, + "y": 42 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab" + }, + "position": { + "height": 39, + "width": 40, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 502, + "width": 350 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 16, + "width": 39, + "x": 198, + "y": 24 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "center" + }, + "text": "OK\nState" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "height": 16, + "width": 39, + "x": 245, + "y": 24 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "center" + }, + "text": "Can\nBypass" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "height": 16, + "width": 39, + "x": 295, + "y": 24 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "center" + }, + "text": "Must\nReset" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "GO_InterlockCfg0" + }, + "position": { + "height": 20, + "width": 322, + "x": 6, + "y": 53 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "interlockNumber": 0, + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Interlock Objects/GO_InterlockCfg" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_InterlockCfg1" + }, + "position": { + "height": 20, + "width": 322, + "x": 6, + "y": 76 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "interlockNumber": 1, + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Interlock Objects/GO_InterlockCfg" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_InterlockCfg2" + }, + "position": { + "height": 20, + "width": 322, + "x": 6, + "y": 99 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "interlockNumber": 2, + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Interlock Objects/GO_InterlockCfg" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_InterlockCfg3" + }, + "position": { + "height": 20, + "width": 322, + "x": 6, + "y": 122 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "interlockNumber": 3, + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Interlock Objects/GO_InterlockCfg" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_InterlockCfg4" + }, + "position": { + "height": 20, + "width": 322, + "x": 6, + "y": 145 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "interlockNumber": 4, + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Interlock Objects/GO_InterlockCfg" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_InterlockCfg5" + }, + "position": { + "height": 20, + "width": 322, + "x": 6, + "y": 168 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "interlockNumber": 5, + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Interlock Objects/GO_InterlockCfg" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_InterlockCfg6" + }, + "position": { + "height": 20, + "width": 322, + "x": 6, + "y": 191 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "interlockNumber": 6, + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Interlock Objects/GO_InterlockCfg" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_InterlockCfg7" + }, + "position": { + "height": 20, + "width": 322, + "x": 6, + "y": 214 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "interlockNumber": 7, + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Interlock Objects/GO_InterlockCfg" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_InterlockCfg8" + }, + "position": { + "height": 20, + "width": 322, + "x": 6, + "y": 237 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "interlockNumber": 8, + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Interlock Objects/GO_InterlockCfg" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_InterlockCfg9" + }, + "position": { + "height": 20, + "width": 322, + "x": 6, + "y": 260 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "interlockNumber": 9, + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Interlock Objects/GO_InterlockCfg" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_InterlockCfg10" + }, + "position": { + "height": 20, + "width": 322, + "x": 6, + "y": 283 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "interlockNumber": 10, + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Interlock Objects/GO_InterlockCfg" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_InterlockCfg11" + }, + "position": { + "height": 20, + "width": 322, + "x": 6, + "y": 306 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "interlockNumber": 11, + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Interlock Objects/GO_InterlockCfg" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_InterlockCfg12" + }, + "position": { + "height": 20, + "width": 322, + "x": 6, + "y": 329 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "interlockNumber": 12, + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Interlock Objects/GO_InterlockCfg" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_InterlockCfg13" + }, + "position": { + "height": 20, + "width": 322, + "x": 6, + "y": 352 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "interlockNumber": 13, + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Interlock Objects/GO_InterlockCfg" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_InterlockCfg14" + }, + "position": { + "height": 20, + "width": 322, + "x": 6, + "y": 375 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "interlockNumber": 14, + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Interlock Objects/GO_InterlockCfg" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_InterlockCfg15" + }, + "position": { + "height": 20, + "width": 322, + "x": 6, + "y": 398 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "interlockNumber": 15, + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Interlock Objects/GO_InterlockCfg" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Engineering1" + }, + "position": { + "height": 453, + "width": 344, + "x": 5, + "y": 49 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Engineering" + }, + "position": { + "height": 502, + "width": 350, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 0)", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 459, + "width": 350, + "y": 42 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab" + }, + "position": { + "height": 39, + "width": 40, + "x": 39, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 501, + "width": 350 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "GO_Desc_Label_Tag" + }, + "position": { + "height": 68.00000000000001, + "width": 340, + "x": 5, + "y": 3.99 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigHMI": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Desc_Label_Tag" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_Area" + }, + "position": { + "height": 20, + "width": 340, + "x": 5, + "y": 70.987 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityConfigSecurity": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_Area" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TextConfig" + }, + "position": { + "height": 200, + "width": 350, + "y": 47 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_HMI" + }, + "position": { + "height": 503, + "width": 350, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d 1", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 459, + "width": 350, + "y": 42 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab" + }, + "position": { + "height": 39, + "width": 40, + "x": 306, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 500, + "width": 350 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 145, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "caption": "P_Intlk_Advanced", + "label": "Popup Name:" + }, + "meta": { + "name": "PopupID" + }, + "position": { + "height": 18, + "width": 292, + "x": 48, + "y": 406 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 145, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "PlantPAX Version:" + }, + "meta": { + "name": "PlantPAX Version" + }, + "position": { + "height": 18, + "width": 292, + "x": 48, + "y": 429 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/version\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 145, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "UDT Version:" + }, + "meta": { + "name": "UDTVersion" + }, + "position": { + "height": 18, + "width": 292, + "x": 48, + "y": 452 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Prime Version\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 145, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "Popup Version:" + }, + "meta": { + "name": "PopupVersion" + }, + "position": { + "height": 18, + "width": 292, + "x": 48, + "y": 475 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "path": "view.custom.popupVersion" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Version" + }, + "position": { + "height": 501, + "width": 350, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d -1", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonEngineering" + }, + "position": { + "height": 35, + "width": 35, + "x": 2 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Eng.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 1" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonHMI" + }, + "position": { + "height": 35, + "width": 35, + "x": 42 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_HMI.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d -1" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonHelp" + }, + "position": { + "height": 32, + "rotate": { + "angle": "180deg" + }, + "width": 32, + "x": 311 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Faults.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 23, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_EU\") || tag({view.params.tagPath} + \"/Err_Raw\") || tag({view.params.tagPath} + \"/Err_Filt\")" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupTabButtons" + }, + "position": { + "height": 35, + "width": 346, + "x": 3, + "y": 5 + }, + "type": "ia.container.coord" + } + ], + "events": { + "system": { + "onStartup": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Motor/P_Motor/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Motor/P_Motor/resource.json new file mode 100644 index 0000000..65a75df --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Motor/P_Motor/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "050b43591f8fc4e7e3b4d1e15aad08cec9ea94c70861271c73c148056c7314d1", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Motor/P_Motor/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Motor/P_Motor/thumbnail.png new file mode 100644 index 0000000..3c247d7 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Motor/P_Motor/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Motor/P_Motor/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Motor/P_Motor/view.json new file mode 100644 index 0000000..8f5acf5 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Motor/P_Motor/view.json @@ -0,0 +1,7142 @@ +{ + "custom": { + "cmdSrcTitle": " - ", + "popupVersion": " 1.0 " + }, + "params": { + "securityBypassFeedback": true, + "securityBypassInterlocks": true, + "securityEnableSimulation": true, + "securityOperateEquipment": true, + "securityOverrideInputs": true, + "selectedTab": 0, + "tagPath": "[default]Test_Tags/P_Motor", + "userHasBasic": true + }, + "propConfig": { + "custom.cmdSrcTitle": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_Tag\") + \" - \" + tag({view.params.tagPath}+\"/Cfg_Label\")" + }, + "type": "expr" + }, + "persistent": true + }, + "custom.popupVersion": { + "persistent": true + }, + "params.securityBypassFeedback": { + "binding": { + "config": { + "expression": "\"securityBypassFeedback\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityBypassInterlocks": { + "binding": { + "config": { + "expression": "\"securityBypassInterlocks\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityEnableSimulation": { + "binding": { + "config": { + "expression": "\"securityEnableSimulation\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityOperateEquipment": { + "binding": { + "config": { + "expression": "\"securityOperateEquipment\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityOverrideInputs": { + "binding": { + "config": { + "expression": "\"securityOverrideInputs\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.selectedTab": { + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 300, + "width": 392 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Tab1" + }, + "position": { + "height": 37, + "width": 39 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab2" + }, + "position": { + "height": 37, + "width": 39, + "y": 40 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab3" + }, + "position": { + "height": 37, + "width": 39, + "y": 80 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab4" + }, + "position": { + "height": 37, + "width": 39, + "y": 120 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "InactiveTabs" + }, + "position": { + "height": 157, + "width": 40, + "x": 4, + "y": 4 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 300, + "width": 353, + "x": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 300, + "width": 392 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "StatusText_Ready" + }, + "position": { + "height": 16, + "width": 42, + "x": 6, + "y": 2 + }, + "props": { + "text": "Ready", + "textStyle": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d image_path.format(states[SrcQ_IO][0])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 330, + "x": 20 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][1]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.textStyle.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][3]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][2]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "CommStatus" + }, + "position": { + "height": 20, + "width": 350 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\t\n\tSrcQ_IO \u003d value\n\t\n\tif (SrcQ_IO \u003e\u003d 8):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][3]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "custom": { + "parameterName": "NRdy_PrioStop" + }, + "meta": { + "name": "GONoticeNRdy_PrioStop" + }, + "position": { + "height": 21, + "width": 398 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {this.custom.parameterName}), true, false)" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{this.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#3F3F3F", + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameterName": "NRdy_Fail" + }, + "meta": { + "name": "GONoticeNRdy_Fail" + }, + "position": { + "height": 21, + "width": 398 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {this.custom.parameterName}), true, false)" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{this.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#3F3F3F", + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameterName": "NRdy_Perm" + }, + "meta": { + "name": "GONoticeNRdy_Perm" + }, + "position": { + "height": 21, + "width": 398 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {this.custom.parameterName}), true, false)" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{this.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#3F3F3F", + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameterName": "NRdy_Intlk" + }, + "meta": { + "name": "GONoticeNRdy_Intlk" + }, + "position": { + "height": 21, + "width": 398 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {this.custom.parameterName}), true, false)" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{this.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#3F3F3F", + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameterName": "NRdy_IOFault" + }, + "meta": { + "name": "GONoticeNRdy_IOFault" + }, + "position": { + "height": 21, + "width": 398 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {this.custom.parameterName}), true, false)" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{this.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#3F3F3F", + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameterName": "NRdy_OoS" + }, + "meta": { + "name": "GONoticeNRdy_OoS" + }, + "position": { + "height": 21, + "width": 398 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {this.custom.parameterName}), true, false)" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{this.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#3F3F3F", + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameterName": "NRdy_CfgErr" + }, + "meta": { + "name": "GONoticeNRdy_CfgErr" + }, + "position": { + "height": 21, + "width": 398 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {this.custom.parameterName}), true, false)" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{this.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#3F3F3F", + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "NRdyNotices" + }, + "position": { + "height": 21, + "width": 402 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "AlarmSeverityIndicator" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "AlarmText" + }, + "position": { + "height": 16, + "width": 367, + "x": 22, + "y": 2 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Cfg_Cond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "alarmParameterName": "FailToStop" + }, + "meta": { + "name": "AlarmNotify_FailToStop" + }, + "position": { + "height": 20, + "width": 402 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {this.custom.alarmParameterName} + \"/Val_Notify\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tVal_Notify \u003d value\n\tVal_UnackAlmC \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_UnackAlmC\"])[0].value\n\t\n\tif (Val_Notify \u003e 0) and ((Val_UnackAlmC \u003d\u003d 0) or ((Val_Notify \u0026 1) \u003d\u003d 1)):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "AlarmSeverityIndicator" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "AlarmText" + }, + "position": { + "height": 16, + "width": 367, + "x": 22, + "y": 2 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Cfg_Cond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "alarmParameterName": "FailToStart" + }, + "meta": { + "name": "AlarmNotify_FailToStart" + }, + "position": { + "height": 20, + "width": 402 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {this.custom.alarmParameterName} + \"/Val_Notify\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tVal_Notify \u003d value\n\tVal_UnackAlmC \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_UnackAlmC\"])[0].value\n\t\n\tif (Val_Notify \u003e 0) and ((Val_UnackAlmC \u003d\u003d 0) or ((Val_Notify \u0026 1) \u003d\u003d 1)):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "AlarmSeverityIndicator" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "AlarmText" + }, + "position": { + "height": 16, + "width": 367, + "x": 22, + "y": 2 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Cfg_Cond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "alarmParameterName": "IntlkTrip" + }, + "meta": { + "name": "AlarmNotify_IntlkTrip" + }, + "position": { + "height": 20, + "width": 402 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {this.custom.alarmParameterName} + \"/Val_Notify\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tVal_Notify \u003d value\n\tVal_UnackAlmC \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_UnackAlmC\"])[0].value\n\t\n\tif (Val_Notify \u003e 0) and ((Val_UnackAlmC \u003d\u003d 0) or ((Val_Notify \u0026 1) \u003d\u003d 1)):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "AlarmSeverityIndicator" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "AlarmText" + }, + "position": { + "height": 16, + "width": 367, + "x": 22, + "y": 2 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Cfg_Cond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "alarmParameterName": "IOFault" + }, + "meta": { + "name": "AlarmNotify_IOFault" + }, + "position": { + "height": 20, + "width": 402 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {this.custom.alarmParameterName} + \"/Val_Notify\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tVal_Notify \u003d value\n\tVal_UnackAlmC \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_UnackAlmC\"])[0].value\n\t\n\tif (Val_Notify \u003e 0) and ((Val_UnackAlmC \u003d\u003d 0) or ((Val_Notify \u0026 1) \u003d\u003d 1)):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "AlarmNotices" + }, + "position": { + "height": 20, + "width": 402 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "AbnormalSeparatorLine" + }, + "position": { + "height": 2, + "width": 352, + "y": 20 + }, + "props": { + "style": { + "borderColor": "#6A6A6A", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ResetAckAll" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_AlmAckAllReset_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "DisabledAckResetButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 302, + "y": 5 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ResetAckAll" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_AlmAckAllReset.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_ResetAckAll\", 1)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveAckResetButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 302, + "y": 5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/ORdy_ResetAckAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tORdy_ResetAckAll \u003d value\n\tVal_UnackAlmC \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_UnackAlmC\"])[0].value\n\t\n\tif (self.view.params.userHasBasic) and (ORdy_ResetAckAll):\n\t\tret_value \u003d True \n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Content1" + }, + "position": { + "height": 45, + "width": 403, + "x": 44 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Val_Sts_Motor", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 20, + "width": 190 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Val_Sts\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\tstates \u003d {\n\t0: \"Powerup\",\n\t1: \"Stopped\",\n\t2: \"Running Forward\",\n\t3: \"Running Reverse\",\n\t4: \"Running Slow\",\n\t5: \"Starting Forward\",\n\t6: \"Starting Reverse\",\n\t7: \"Starting Slow\",\n\t8: \"Jogging Forward\",\n\t9: \"Jogging Reverse\",\n\t10: \"Stopping\",\n\t11: \"Tripping\",\n\t12: \"Adding Motors\",\n\t13: \"Shedding Motors\",\n\t14: \"Horn\",\n\t15: \"\"\n\t}\n\t\n\tVal_Sts \u003d value\n\tindex \u003d Val_Sts\n\t\n\tret_value \u003d states[index]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#D4D4D4", + "color": "#2A4191", + "fontSize": "11pt", + "fontWeight": "bold", + "outlineStyle": "none", + "textAlign": "Left" + }, + "textStyle": { + "classes": "States/DigitalInput/on" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "AlarmIndicator" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Inp_OvldNotify\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Ovld.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GOOverloadButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 6, + "y": 5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasOvldObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": "1px", + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "AlarmPolygon" + }, + "position": { + "height": 48, + "width": 48, + "x": 2, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_OvldNotify\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Inp_OvldNotify\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d value\n\t\n\tcolors \u003d [\"\",\n\t\"#FFFFFF\",\n\t\"#916AAD\",\n\t\"#916AAD\",\n\t\"#F5DF1B\",\n\t\"#F5DF1B\",\n\t\"#EC8729\",\n\t\"#EC8729\",\n\t\"#E22028\",\n\t\"#E22028\",\n\t\"\"]\n\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d colors[Val_NotifyAll]\n\t\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "borderRadius": "5px", + "borderStyle": "solid", + "borderWidth": "3px", + "key_4": "value" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "OverloadNotify" + }, + "position": { + "height": 50, + "width": 52, + "x": 291, + "y": 117 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Inp_OvldNotify\") \u003e 0, true, false)" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "InformationSection" + }, + "position": { + "height": 169, + "width": 346 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFaceDisabled" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_Stop_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "InactiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_Stop.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_Stop\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{view.params.userHasBasic} \u0026\u0026 {view.params.securityOperateEquipment} \u0026\u0026 tag({view.params.tagPath} + \"/ORdy_Stop\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GO_StopButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 13 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFaceDisabled" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_Start_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "InactiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_Start.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_Start\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{view.params.userHasBasic} \u0026\u0026 {view.params.securityOperateEquipment} \u0026\u0026 tag({view.params.tagPath} + \"/ORdy_Start\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GO_StartButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 57 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFaceDisabled" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_Bump_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "InactiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_Bump.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onMouseDown": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_Jog\", True)" + }, + "scope": "G", + "type": "script" + }, + "onMouseUp": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_Jog\", False)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{view.params.userHasBasic} \u0026\u0026 {view.params.securityOperateEquipment} \u0026\u0026 tag({view.params.tagPath} + \"/ORdy_Jog\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GO_PulseOnButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 100 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasJog\"), true, false)" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "CommandButtons" + }, + "position": { + "height": 40, + "width": 140, + "x": 199.988, + "y": 1 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 40, + "width": 140, + "x": 2.5, + "y": 2.5 + }, + "props": { + "style": { + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 112, + "x": 30.5, + "y": 6.5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Sts_eSrc\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d value\n\t\n\t# id: [image name, caption]\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t0: [\"\", \"Logic Not In Use\"],\n\t4: [\"Sts_CmdSrcHand\", \"Hand\"],\n\t8: [\"Sts_CmdSrcMaint\", \"Maintenance\"],\n\t16: [\"Sts_CmdSrcOvrd\", \"Override\"],\n\t32: [\"Sts_CmdSrcProgram\", \"Program\"],\n\t33: [\"Sts_CmdSrcProgLocked\", \"Program (locked)\"],\n\t34: [\"Sts_CmdSrcProgram\", \"Program\"],\n\t64: [\"Sts_CmdSrcOper\", \"Operator\"],\n\t65: [\"Sts_CmdSrcOperLocked\", \"Operator (locked)\"],\n\t66: [\"Sts_CmdSrcOper\", \"Operator\"],\n\t128: [\"Sts_CmdSrcOoS\", \"Maint. Out Of Service\"],\n\t129: [\"Sts_CmdSrcOoS\", \"Logic Out of Service\"],\n\t256: [\"Sts_CmdSrcExt\", \"External\"]\t\n\t}\n\t\n\ttry:\n\t\tret_value \u003d states[index][1]\n\texcept:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "CmdSrcImage" + }, + "position": { + "height": 38, + "width": 18, + "x": 8, + "y": 4 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Sts_eSrc\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d value\n\t\n\t# id: [image name, caption]\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t0: [\"\", \"Logic Not In Use\"],\n\t4: [\"Sts_CmdSrcHand\", \"Hand\"],\n\t8: [\"Sts_CmdSrcMaint\", \"Maintenance\"],\n\t16: [\"Sts_CmdSrcOvrd\", \"Override\"],\n\t32: [\"Sts_CmdSrcProgram\", \"Program\"],\n\t33: [\"Sts_CmdSrcProgLocked\", \"Program (locked)\"],\n\t34: [\"Sts_CmdSrcProgram\", \"Program\"],\n\t64: [\"Sts_CmdSrcOper\", \"Operator\"],\n\t65: [\"Sts_CmdSrcOperLocked\", \"Operator (locked)\"],\n\t66: [\"Sts_CmdSrcOper\", \"Operator\"],\n\t128: [\"Sts_CmdSrcOoS\", \"Maint. Out Of Service\"],\n\t129: [\"Sts_CmdSrcOoS\", \"Logic Out of Service\"],\n\t256: [\"Sts_CmdSrcExt\", \"External\"]\t\n\t}\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(states[index][0])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "contain" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "draggable": true, + "id": "{view.params.tagPath}_CmdSrc", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "{/root.custom.cmdSrcTitle}", + "type": "open", + "viewParams": { + "selectedTab": "0", + "tagPath": "{view.params.tagPath}/CmdSrc" + }, + "viewPath": "Plant PAX/Popups/P_CmdSrc/P_CmdSrc", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "CmdSrcNavButton" + }, + "position": { + "height": 40, + "width": 140, + "x": 2.5, + "y": 2.5 + }, + "props": { + "image": { + "style": { + "backgroundColor": "#FFFFFF00" + } + }, + "style": { + "backgroundColor": "#FFFFFF00", + "outlineStyle": "none" + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "CmdSrcNotNormal" + }, + "position": { + "height": 16, + "width": 16, + "x": 127 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/CmdSrc/Sts_Normal\"), false, true)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_CmdSrcNotNorm.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GOCmdSrcDisplayWithNav" + }, + "position": { + "height": 45, + "width": 145, + "y": 44 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasIntlkObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Inp_IntlkOK\") || \r\ntag({view.params.tagPath} + \"/Inp_NBIntlkOK\") || \r\ntag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Nav_IntlkOK\",\n\t1: \"Nav_IntlkOKBypassed\",\n\t2: \"Nav_IntlkNonBypOK\",\n\t3: \"Nav_IntlkNotOK\"\n\t}\n\t\n\tInp_IntlkOK \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_IntlkOK\"])[0].value \t\t\t#102\n\tInp_NBIntlkOK \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_NBIntlkOK\"])[0].value\t\t#103\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\t\t\t#104\n\t\n\tif (not (Inp_NBIntlkOK)) or (not (Inp_IntlkOK or Sts_BypActive)):\n\t\tindex \u003d 3\n\telif (not (Inp_IntlkOK)):\n\t\tindex \u003d 2\n\telse:\n\t\tindex \u003d Sts_BypActive\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "paddingLeft": 4, + "paddingTop": 4 + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "P_Intlk", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "P_Intlk", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}_Intlk" + }, + "viewPath": "Plant PAX/Popups/P_Intlk/P_Intlk", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "NavButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasIntlkObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GOInterlockButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 3 + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasPermObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Inp_PermOK\") || \r\ntag({view.params.tagPath} + \"/Inp_NBPermOK\") || \r\ntag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Nav_PermOK\",\n\t1: \"Nav_PermOKBypassed\",\n\t2: \"Nav_PermNonBypOK\",\n\t3: \"Nav_PermNotOK\"\n\t}\n\t\n\tInp_PermOK \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_PermOK\"])[0].value \t\t\t#102\n\tInp_NBPermOK \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_NBPermOK\"])[0].value\t\t#103\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\t\t\t#104\n\t\n\tif (not (Inp_NBPermOK)) or (not (Inp_PermOK or Sts_BypActive)):\n\t\tindex \u003d 3\n\telif (not (Inp_PermOK)):\n\t\tindex \u003d 2\n\telse:\n\t\tindex \u003d Sts_BypActive\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "paddingLeft": 4, + "paddingTop": 4 + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "P_Perm", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "P_Perm", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}_Perm" + }, + "viewPath": "Plant PAX/Popups/P_Perm/P_Perm", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "NavButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasPermObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GOPermissivesButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 48 + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "InterlocksAndPermissives" + }, + "position": { + "height": 40, + "width": 90, + "x": 209, + "y": 46.5 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Commands" + }, + "position": { + "height": 90, + "width": 340, + "y": 172 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Content2" + }, + "position": { + "height": 265, + "width": 346, + "x": 43, + "y": 35 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Home" + }, + "position": { + "height": 300, + "width": 392, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 0)", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 300, + "width": 353, + "x": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "y": 43 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 300, + "width": 392 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "AdvancedProperties" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Properties.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tblock_label \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_Label\"])[0].value\n\ttitle \u003d \"{0} - {1}\".format(block_label, \"Advanced\")\n\t\n\tparams \u003d {\u0027tagPath\u0027: self.view.params.tagPath}\n\t\n\tsystem.perspective.openPopup({self.view.params.tagPath},\u0027Plant PAX/Popups/P_Motor/P_Motor_Advanced\u0027, params, title, showCloseIcon \u003d True, resizable \u003d False)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "AdvancedPropertiesButton" + }, + "position": { + "height": 40, + "width": 40, + "y": 1 + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BadConfig" + }, + "position": { + "height": 16, + "width": 16, + "x": 22 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_Timer\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupNavToAdvanced" + }, + "position": { + "height": 42, + "width": 42 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Accum.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GORuntimeButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 47, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasRunTimeObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": "1px", + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_ResInh.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GORestartInhibitButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 92, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasResInhObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": "1px", + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Ovld.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GOOverloadButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 137, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasOvldObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": "1px", + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "MtceNavButtons" + }, + "position": { + "height": 42, + "width": 190, + "x": 45.9974, + "y": 2 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "SeparatorLine" + }, + "position": { + "height": 2, + "width": 340 + }, + "props": { + "style": { + "borderColor": "#E0E0E0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_UseRunFdbk\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityOverrideInputs} \u0026\u0026 {view.params.userHasBasic}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 319, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Use Run Feedback" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "MaintBypass" + }, + "position": { + "height": 16, + "width": 16, + "y": -1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_UseRunFdbk\") xor tag({view.params.tagPath} + \"/Cfg_HasRunFdbk\")" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_MaintByp.png" + }, + "type": "ia.display.image" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_UseRunFdbk\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_UseRunFdbk\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 343, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityBypassFeedback} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "GOCfgUseRunFdbk" + }, + "position": { + "height": 32, + "width": 345, + "y": 5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasRunFdbk\"), true, false)" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Configuration" + }, + "position": { + "height": 76, + "width": 345, + "x": 41.5, + "y": 55 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasIntlkObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Inp_IntlkOK\") || \r\ntag({view.params.tagPath} + \"/Inp_NBIntlkOK\") || \r\ntag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Nav_IntlkOK\",\n\t1: \"Nav_IntlkOKBypassed\",\n\t2: \"Nav_IntlkNonBypOK\",\n\t3: \"Nav_IntlkNotOK\"\n\t}\n\t\n\tInp_IntlkOK \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_IntlkOK\"])[0].value \t\t\t#102\n\tInp_NBIntlkOK \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_NBIntlkOK\"])[0].value\t\t#103\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\t\t\t#104\n\t\n\tif (not (Inp_NBIntlkOK)) or (not (Inp_IntlkOK or Sts_BypActive)):\n\t\tindex \u003d 3\n\telif (not (Inp_IntlkOK)):\n\t\tindex \u003d 2\n\telse:\n\t\tindex \u003d Sts_BypActive\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "paddingLeft": 4, + "paddingTop": 4 + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "P_Intlk", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "P_Intlk", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}_Intlk" + }, + "viewPath": "Plant PAX/Popups/P_Intlk/P_Intlk", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "NavButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasIntlkObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GOInterlockButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 3 + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasPermObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Inp_PermOK\") || \r\ntag({view.params.tagPath} + \"/Inp_NBPermOK\") || \r\ntag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Nav_PermOK\",\n\t1: \"Nav_PermOKBypassed\",\n\t2: \"Nav_PermNonBypOK\",\n\t3: \"Nav_PermNotOK\"\n\t}\n\t\n\tInp_PermOK \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_PermOK\"])[0].value \t\t\t#102\n\tInp_NBPermOK \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_NBPermOK\"])[0].value\t\t#103\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\t\t\t#104\n\t\n\tif (not (Inp_NBPermOK)) or (not (Inp_PermOK or Sts_BypActive)):\n\t\tindex \u003d 3\n\telif (not (Inp_PermOK)):\n\t\tindex \u003d 2\n\telse:\n\t\tindex \u003d Sts_BypActive\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "paddingLeft": 4, + "paddingTop": 4 + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "P_Perm", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "P_Perm", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}_Perm" + }, + "viewPath": "Plant PAX/Popups/P_Perm/P_Perm", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "NavButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasPermObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GOPermissivesButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 48 + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "InterlocksAndPermissivesButtons" + }, + "position": { + "height": 40, + "width": 90, + "x": 205, + "y": 58.5 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SeparatorLine" + }, + "position": { + "height": 2, + "width": 340, + "y": 7 + }, + "props": { + "style": { + "borderColor": "#E0E0E0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "MaintBypass" + }, + "position": { + "height": 16, + "width": 16, + "x": 193, + "y": 17 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_SubstPV\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_MaintByp.png" + }, + "type": "ia.display.image" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Track" + }, + "position": { + "height": 8, + "width": 32, + "x": 2, + "y": 4 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderBottomLeftRadius": "15%", + "borderBottomRightRadius": "15%", + "borderColor": "#6B6B6B", + "borderStyle": "solid", + "borderTopLeftRadius": "15%", + "borderTopRightRadius": "15%", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Fill" + }, + "position": { + "height": 8, + "width": 32, + "x": 2, + "y": 4 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_Bypass\"), false, true)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#008080", + "borderBottomLeftRadius": "15%", + "borderBottomRightRadius": "15%", + "borderColor": "#6A6A6A", + "borderStyle": "solid", + "borderTopLeftRadius": "15%", + "borderTopRightRadius": "15%", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Indicator" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Bypass\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d 0\n\t\n\tSts_SubstPV \u003d value\n\t\n\tif (Sts_SubstPV):\n\t\tret_value \u003d 20\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#F0F0F0", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#6A6A6A", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "ToggleIndicator" + }, + "position": { + "height": 16, + "width": 37, + "x": 34, + "y": 7 + }, + "type": "ia.container.coord" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/MCmd_Check\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "OffButton", + "tooltip": { + "tail": false + } + }, + "position": { + "height": 25, + "width": 50, + "x": 2, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityBypassInterlocks} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + } + }, + "props": { + "align": "start", + "justify": "start", + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "No" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/MCmd_Bypass\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "OnButton", + "tooltip": { + "tail": false + } + }, + "position": { + "height": 25, + "width": 50, + "x": 56, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityBypassInterlocks} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + } + }, + "props": { + "align": "end", + "justify": "end", + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Yes" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "ToggleControl" + }, + "position": { + "height": 28, + "width": 110, + "x": 133, + "y": 3 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 101, + "y": 7 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt" + }, + "text": "Bypass Enabled" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "BypassEnabled" + }, + "position": { + "height": 33, + "width": 243, + "y": 26 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 182 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold" + }, + "text": "Interlocks and Permissives" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "IntlkAndPerm" + }, + "position": { + "height": 105, + "width": 340, + "x": 46.5, + "y": 195 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Maintenance" + }, + "position": { + "height": 300, + "width": 392, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d 1", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 300, + "width": 353, + "x": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "y": 83 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 300, + "width": 392 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d image_path.format(states[SrcQ_IO][0])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 330, + "x": 20 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][1]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.textStyle.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][3]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][2]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "CommStatus" + }, + "position": { + "height": 20, + "width": 350, + "y": 275 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\t\n\tSrcQ_IO \u003d value\n\t\n\tif (SrcQ_IO \u003e\u003d 8):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][3]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 180.99999999999997 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold" + }, + "text": "Device Not Ready Reasons" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFaceDisabled" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_Reset_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "InactiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_Reset.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_Reset\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{view.params.userHasBasic} \u0026\u0026 {view.params.securityOperateEquipment} \u0026\u0026 tag({view.params.tagPath} + \"/ORdy_Reset\") \u0026\u0026 tag({view.params.tagPath} + \"/Sts_NotRdy\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GO_ResetButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 293.019, + "y": 1 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.parameterName})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tif (value):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 317, + "x": 21 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "parameterName": "NRdy_OoS" + }, + "meta": { + "name": "GONotRdy_OoS" + }, + "position": { + "height": 17, + "width": 340, + "x": -0.01953125, + "y": 20.99609375 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.parameterName})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tif (value):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 317, + "x": 21 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "parameterName": "NRdy_CfgErr" + }, + "meta": { + "name": "GONotRdy_CfgErr" + }, + "position": { + "height": 17, + "width": 340, + "x": -0.0195313, + "y": 40.9961 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.parameterName})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tif (value):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 317, + "x": 21 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "parameterName": "NRdy_Intlk" + }, + "meta": { + "name": "GONotRdy_Intlk" + }, + "position": { + "height": 17, + "width": 340, + "x": -0.0195313, + "y": 60.9961 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.parameterName})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tif (value):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 317, + "x": 21 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "parameterName": "NRdy_Perm" + }, + "meta": { + "name": "GONotRdy_Perm" + }, + "position": { + "height": 17, + "width": 340, + "x": -0.0195313, + "y": 80.9961 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.parameterName})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tif (value):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 317, + "x": 21 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "parameterName": "NRdy_IOFault" + }, + "meta": { + "name": "GONotRdy_IOFault" + }, + "position": { + "height": 17, + "width": 340, + "x": -0.0195313, + "y": 100.9961 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.parameterName})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tif (value):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 317, + "x": 21 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "parameterName": "NRdy_Fail" + }, + "meta": { + "name": "GONotRdy_Fail" + }, + "position": { + "height": 17, + "width": 340, + "x": -0.0195313, + "y": 120.996 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.parameterName})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tif (value):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 317, + "x": 21 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "parameterName": "NRdy_PrioStop" + }, + "meta": { + "name": "GONotRdy_PrioStop" + }, + "position": { + "height": 17, + "width": 340, + "x": -0.0195313, + "y": 140.996 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "NotRdyHeader_0" + }, + "position": { + "height": 16, + "width": 334, + "x": 2.02, + "y": 160 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontStyle": "italic", + "fontWeight": "normal" + }, + "text": "* A reset is required to clear this condition" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "NotReadyReasons" + }, + "position": { + "height": 178, + "width": 340, + "x": 6 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "DiagnosticsContent" + }, + "position": { + "height": 295, + "width": 350, + "x": 40.9936, + "y": 0.00000190735 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Diagnostics" + }, + "position": { + "height": 300, + "width": 392, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d 2", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 300, + "width": 353, + "x": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "y": 123 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 300, + "width": 392 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ResetAckAll" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_AlmAckAllReset_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "DisabledAckResetButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 300 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ResetAckAll" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_AlmAckAllReset.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_ResetAckAll\", 1)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveAckResetButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 300 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/ORdy_ResetAckAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tORdy_ResetAckAll \u003d value\n\tVal_UnackAlmC \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_UnackAlmC\"])[0].value\n\t\n\tif (self.view.params.userHasBasic) and (ORdy_ResetAckAll):\n\t\tret_value \u003d True \n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 34, + "width": 290 + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 17, + "x": 273.9970643310547, + "y": 0.0000019073486328125 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_Err\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 200 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Cfg_Cond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#A0A0A4", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "GroupDoesNotHaveAlarm" + }, + "position": { + "height": 18, + "width": 200, + "x": 26, + "y": 10 + }, + "propConfig": { + "custom.alarmParameterName": { + "binding": { + "config": { + "path": "parent.custom.alarmParameterName" + }, + "type": "property" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Cfg_Exists\"), false, true)" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "AlarmPolygon" + }, + "position": { + "height": 30, + "width": 286 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Alm\")" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/\" + self.parent.custom.alarmParameterName + \"/Val_Notify\"])[0].value\n\tcurrent_color \u003d self.props.style.borderColor\n#\t\n\t# id: [color1, color2]\n\tcolors \u003d {\n\t0: [\"#FFFFFF\", \"#FFFFFF\"],\n\t1: [\"#FFFFFF\", \"#000000\"],\n\t2: [\"#000000\", \"#000000\"],\n\t3: [\"#916AAD\", \"#000000\"],\n\t4: [\"#000000\", \"#000000\"],\n\t5: [\"#F5DF1B\", \"#000000\"],\n\t6: [\"#000000\", \"#000000\"],\n\t7: [\"#EC8629\", \"#000000\"],\n\t8: [\"#000000\", \"#000000\"],\n\t9: [\"#FF0000\", \"#000000\"]\n\t}\n#\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tif (current_color \u003d\u003d colors[Val_NotifyAll][0]):\n\t\t\tret_value \u003d colors[Val_NotifyAll][1]\n\t\telif (current_color \u003d\u003d colors[Val_NotifyAll][1]):\n\t\t\tret_value \u003d colors[Val_NotifyAll][0]\n\t\telse:\n\t\t\tret_value \u003d colors[Val_NotifyAll][0]\n\t\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "borderStyle": "solid", + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 200, + "x": 24, + "y": 8 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Cfg_Cond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#000000", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Disabled" + }, + "position": { + "height": 17, + "width": 16 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Disabled\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Alm_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Shelved" + }, + "position": { + "height": 17, + "width": 16, + "x": 20 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Shelved\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Alm_Shelved.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Suppressed" + }, + "position": { + "height": 17, + "width": 16, + "x": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Suppressed\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Alm_Supp.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupInhibits" + }, + "position": { + "height": 17, + "width": 56, + "x": 225.985, + "y": 6.99554 + }, + "propConfig": { + "custom.alarmParameterName": { + "binding": { + "config": { + "path": "parent.custom.alarmParameterName" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "AlarmSeverityIndicator" + }, + "position": { + "height": 20, + "width": 20, + "x": 3, + "y": 6 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Val_Notify\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Val_Notify\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupHasAlarm" + }, + "position": { + "height": 30, + "width": 286, + "x": 2, + "y": 2 + }, + "propConfig": { + "custom.alarmParameterName": { + "binding": { + "config": { + "path": "parent.custom.alarmParameterName" + }, + "type": "property" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Cfg_Exists\"), true, false)" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + } + ], + "custom": { + "alarmParameterName": "IOFault" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tblock_label \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_Label\"])[0].value\n\talarm_label \u003d system.tag.readBlocking([self.view.params.tagPath + \"/\" + self.custom.alarmParameterName + \"/Cfg_Cond\"])[0].value\n\ttitle \u003d \"{0} - {1}\".format(block_label, alarm_label)\n\t\n\tparams \u003d {\u0027tagPath\u0027: self.view.params.tagPath + \"/\" + self.custom.alarmParameterName}\n\t\n\tsystem.perspective.openPopup({self.view.params.tagPath},\u0027Plant PAX/Popups/P_Alarm/P_Alarm\u0027, params, title, showCloseIcon \u003d True, resizable \u003d False)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "AlarmDisplay_IOFault" + }, + "position": { + "height": 34, + "width": 291, + "x": -0.0014555664062640972, + "y": 0.0000019073486328125 + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 34, + "width": 290 + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 17, + "x": 273.9970643310547, + "y": 0.0000019073486328125 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_Err\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 200 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Cfg_Cond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#A0A0A4", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "GroupDoesNotHaveAlarm" + }, + "position": { + "height": 18, + "width": 200, + "x": 26, + "y": 10 + }, + "propConfig": { + "custom.alarmParameterName": { + "binding": { + "config": { + "path": "parent.custom.alarmParameterName" + }, + "type": "property" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Cfg_Exists\"), false, true)" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "AlarmPolygon" + }, + "position": { + "height": 30, + "width": 286 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Alm\")" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/\" + self.parent.custom.alarmParameterName + \"/Val_Notify\"])[0].value\n\tcurrent_color \u003d self.props.style.borderColor\n#\t\n\t# id: [color1, color2]\n\tcolors \u003d {\n\t0: [\"#FFFFFF\", \"#FFFFFF\"],\n\t1: [\"#FFFFFF\", \"#000000\"],\n\t2: [\"#000000\", \"#000000\"],\n\t3: [\"#916AAD\", \"#000000\"],\n\t4: [\"#000000\", \"#000000\"],\n\t5: [\"#F5DF1B\", \"#000000\"],\n\t6: [\"#000000\", \"#000000\"],\n\t7: [\"#EC8629\", \"#000000\"],\n\t8: [\"#000000\", \"#000000\"],\n\t9: [\"#FF0000\", \"#000000\"]\n\t}\n#\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tif (current_color \u003d\u003d colors[Val_NotifyAll][0]):\n\t\t\tret_value \u003d colors[Val_NotifyAll][1]\n\t\telif (current_color \u003d\u003d colors[Val_NotifyAll][1]):\n\t\t\tret_value \u003d colors[Val_NotifyAll][0]\n\t\telse:\n\t\t\tret_value \u003d colors[Val_NotifyAll][0]\n\t\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "borderStyle": "solid", + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 200, + "x": 24, + "y": 8 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Cfg_Cond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#000000", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Disabled" + }, + "position": { + "height": 17, + "width": 16 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Disabled\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Alm_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Shelved" + }, + "position": { + "height": 17, + "width": 16, + "x": 20 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Shelved\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Alm_Shelved.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Suppressed" + }, + "position": { + "height": 17, + "width": 16, + "x": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Suppressed\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Alm_Supp.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupInhibits" + }, + "position": { + "height": 17, + "width": 56, + "x": 225.985, + "y": 6.99554 + }, + "propConfig": { + "custom.alarmParameterName": { + "binding": { + "config": { + "path": "parent.custom.alarmParameterName" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "AlarmSeverityIndicator" + }, + "position": { + "height": 20, + "width": 20, + "x": 3, + "y": 6 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Val_Notify\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Val_Notify\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupHasAlarm" + }, + "position": { + "height": 30, + "width": 286, + "x": 2, + "y": 2 + }, + "propConfig": { + "custom.alarmParameterName": { + "binding": { + "config": { + "path": "parent.custom.alarmParameterName" + }, + "type": "property" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Cfg_Exists\"), true, false)" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + } + ], + "custom": { + "alarmParameterName": "IntlkTrip" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tblock_label \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_Label\"])[0].value\n\talarm_label \u003d system.tag.readBlocking([self.view.params.tagPath + \"/\" + self.custom.alarmParameterName + \"/Cfg_Cond\"])[0].value\n\ttitle \u003d \"{0} - {1}\".format(block_label, alarm_label)\n\t\n\tparams \u003d {\u0027tagPath\u0027: self.view.params.tagPath + \"/\" + self.custom.alarmParameterName}\n\t\n\tsystem.perspective.openPopup({self.view.params.tagPath},\u0027Plant PAX/Popups/P_Alarm/P_Alarm\u0027, params, title, showCloseIcon \u003d True, resizable \u003d False)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "AlarmDisplay_IntlkTrip" + }, + "position": { + "height": 34, + "width": 291, + "x": -0.00145557, + "y": 37 + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 34, + "width": 290 + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 17, + "x": 273.9970643310547, + "y": 0.0000019073486328125 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_Err\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 200 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Cfg_Cond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#A0A0A4", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "GroupDoesNotHaveAlarm" + }, + "position": { + "height": 18, + "width": 200, + "x": 26, + "y": 10 + }, + "propConfig": { + "custom.alarmParameterName": { + "binding": { + "config": { + "path": "parent.custom.alarmParameterName" + }, + "type": "property" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Cfg_Exists\"), false, true)" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "AlarmPolygon" + }, + "position": { + "height": 30, + "width": 286 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Alm\")" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/\" + self.parent.custom.alarmParameterName + \"/Val_Notify\"])[0].value\n\tcurrent_color \u003d self.props.style.borderColor\n#\t\n\t# id: [color1, color2]\n\tcolors \u003d {\n\t0: [\"#FFFFFF\", \"#FFFFFF\"],\n\t1: [\"#FFFFFF\", \"#000000\"],\n\t2: [\"#000000\", \"#000000\"],\n\t3: [\"#916AAD\", \"#000000\"],\n\t4: [\"#000000\", \"#000000\"],\n\t5: [\"#F5DF1B\", \"#000000\"],\n\t6: [\"#000000\", \"#000000\"],\n\t7: [\"#EC8629\", \"#000000\"],\n\t8: [\"#000000\", \"#000000\"],\n\t9: [\"#FF0000\", \"#000000\"]\n\t}\n#\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tif (current_color \u003d\u003d colors[Val_NotifyAll][0]):\n\t\t\tret_value \u003d colors[Val_NotifyAll][1]\n\t\telif (current_color \u003d\u003d colors[Val_NotifyAll][1]):\n\t\t\tret_value \u003d colors[Val_NotifyAll][0]\n\t\telse:\n\t\t\tret_value \u003d colors[Val_NotifyAll][0]\n\t\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "borderStyle": "solid", + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 200, + "x": 24, + "y": 8 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Cfg_Cond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#000000", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Disabled" + }, + "position": { + "height": 17, + "width": 16 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Disabled\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Alm_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Shelved" + }, + "position": { + "height": 17, + "width": 16, + "x": 20 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Shelved\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Alm_Shelved.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Suppressed" + }, + "position": { + "height": 17, + "width": 16, + "x": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Suppressed\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Alm_Supp.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupInhibits" + }, + "position": { + "height": 17, + "width": 56, + "x": 225.985, + "y": 6.99554 + }, + "propConfig": { + "custom.alarmParameterName": { + "binding": { + "config": { + "path": "parent.custom.alarmParameterName" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "AlarmSeverityIndicator" + }, + "position": { + "height": 20, + "width": 20, + "x": 3, + "y": 6 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Val_Notify\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Val_Notify\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupHasAlarm" + }, + "position": { + "height": 30, + "width": 286, + "x": 2, + "y": 2 + }, + "propConfig": { + "custom.alarmParameterName": { + "binding": { + "config": { + "path": "parent.custom.alarmParameterName" + }, + "type": "property" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Cfg_Exists\"), true, false)" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + } + ], + "custom": { + "alarmParameterName": "FailToStart" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tblock_label \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_Label\"])[0].value\n\talarm_label \u003d system.tag.readBlocking([self.view.params.tagPath + \"/\" + self.custom.alarmParameterName + \"/Cfg_Cond\"])[0].value\n\ttitle \u003d \"{0} - {1}\".format(block_label, alarm_label)\n\t\n\tparams \u003d {\u0027tagPath\u0027: self.view.params.tagPath + \"/\" + self.custom.alarmParameterName}\n\t\n\tsystem.perspective.openPopup({self.view.params.tagPath},\u0027Plant PAX/Popups/P_Alarm/P_Alarm\u0027, params, title, showCloseIcon \u003d True, resizable \u003d False)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "AlarmDisplay_FailToStart" + }, + "position": { + "height": 34, + "width": 291, + "x": -0.00145557, + "y": 74 + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 34, + "width": 290 + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 17, + "x": 273.9970643310547, + "y": 0.0000019073486328125 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_Err\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 200 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Cfg_Cond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#A0A0A4", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "GroupDoesNotHaveAlarm" + }, + "position": { + "height": 18, + "width": 200, + "x": 26, + "y": 10 + }, + "propConfig": { + "custom.alarmParameterName": { + "binding": { + "config": { + "path": "parent.custom.alarmParameterName" + }, + "type": "property" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Cfg_Exists\"), false, true)" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "AlarmPolygon" + }, + "position": { + "height": 30, + "width": 286 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Alm\")" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/\" + self.parent.custom.alarmParameterName + \"/Val_Notify\"])[0].value\n\tcurrent_color \u003d self.props.style.borderColor\n#\t\n\t# id: [color1, color2]\n\tcolors \u003d {\n\t0: [\"#FFFFFF\", \"#FFFFFF\"],\n\t1: [\"#FFFFFF\", \"#000000\"],\n\t2: [\"#000000\", \"#000000\"],\n\t3: [\"#916AAD\", \"#000000\"],\n\t4: [\"#000000\", \"#000000\"],\n\t5: [\"#F5DF1B\", \"#000000\"],\n\t6: [\"#000000\", \"#000000\"],\n\t7: [\"#EC8629\", \"#000000\"],\n\t8: [\"#000000\", \"#000000\"],\n\t9: [\"#FF0000\", \"#000000\"]\n\t}\n#\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tif (current_color \u003d\u003d colors[Val_NotifyAll][0]):\n\t\t\tret_value \u003d colors[Val_NotifyAll][1]\n\t\telif (current_color \u003d\u003d colors[Val_NotifyAll][1]):\n\t\t\tret_value \u003d colors[Val_NotifyAll][0]\n\t\telse:\n\t\t\tret_value \u003d colors[Val_NotifyAll][0]\n\t\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "borderStyle": "solid", + "borderWidth": 2 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 200, + "x": 24, + "y": 8 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Cfg_Cond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#000000", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Disabled" + }, + "position": { + "height": 17, + "width": 16 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Disabled\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Alm_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Shelved" + }, + "position": { + "height": 17, + "width": 16, + "x": 20 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Shelved\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Alm_Shelved.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Suppressed" + }, + "position": { + "height": 17, + "width": 16, + "x": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Suppressed\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Alm_Supp.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupInhibits" + }, + "position": { + "height": 17, + "width": 56, + "x": 225.985, + "y": 6.99554 + }, + "propConfig": { + "custom.alarmParameterName": { + "binding": { + "config": { + "path": "parent.custom.alarmParameterName" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "AlarmSeverityIndicator" + }, + "position": { + "height": 20, + "width": 20, + "x": 3, + "y": 6 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Val_Notify\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Val_Notify\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupHasAlarm" + }, + "position": { + "height": 30, + "width": 286, + "x": 2, + "y": 2 + }, + "propConfig": { + "custom.alarmParameterName": { + "binding": { + "config": { + "path": "parent.custom.alarmParameterName" + }, + "type": "property" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Cfg_Exists\"), true, false)" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + } + ], + "custom": { + "alarmParameterName": "FailToStop" + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tblock_label \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_Label\"])[0].value\n\talarm_label \u003d system.tag.readBlocking([self.view.params.tagPath + \"/\" + self.custom.alarmParameterName + \"/Cfg_Cond\"])[0].value\n\ttitle \u003d \"{0} - {1}\".format(block_label, alarm_label)\n\t\n\tparams \u003d {\u0027tagPath\u0027: self.view.params.tagPath + \"/\" + self.custom.alarmParameterName}\n\t\n\tsystem.perspective.openPopup({self.view.params.tagPath},\u0027Plant PAX/Popups/P_Alarm/P_Alarm\u0027, params, title, showCloseIcon \u003d True, resizable \u003d False)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "AlarmDisplay_FailToStop" + }, + "position": { + "height": 34, + "width": 291, + "x": -0.00145557, + "y": 111 + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Alarms" + }, + "position": { + "height": 145, + "width": 291 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "AlarmContent" + }, + "position": { + "height": 145, + "width": 340, + "x": 43, + "y": 5 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Alarm" + }, + "position": { + "height": 300, + "width": 392, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d 3", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 300, + "width": 353, + "x": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "y": 253 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 300, + "width": 392 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 108, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "caption": "P_Motor", + "label": "Popup Name:" + }, + "meta": { + "name": "PopupID" + }, + "position": { + "height": 18, + "width": 255, + "x": 125, + "y": 206 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 108, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "PlantPAX Version:" + }, + "meta": { + "name": "PlantPAX Version" + }, + "position": { + "height": 18, + "width": 255, + "x": 125, + "y": 229 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/version\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 108, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "UDT Version:" + }, + "meta": { + "name": "UDTVersion" + }, + "position": { + "height": 18, + "width": 255, + "x": 125, + "y": 252 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Prime Version\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 108, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "Popup Version:" + }, + "meta": { + "name": "PopupVersion" + }, + "position": { + "height": 18, + "width": 255, + "x": 125, + "y": 275 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "path": "view.custom.popupVersion" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Version" + }, + "position": { + "height": 300, + "width": 392, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d -1", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "AlarmPolygon" + }, + "position": { + "height": 39, + "width": 39, + "y": 117 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\tret_value \u003d ret_value and (self.view.params.selectedTab !\u003d 3)\t# Show it only if active tab different than alarm tab \n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d value\n\t\n\tcolors \u003d [\"\",\n\t\"#FFFFFF\",\n\t\"#916AAD\",\n\t\"#916AAD\",\n\t\"#F5DF1B\",\n\t\"#F5DF1B\",\n\t\"#EC8729\",\n\t\"#EC8729\",\n\t\"#E22028\",\n\t\"#E22028\",\n\t\"\"]\n\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d colors[Val_NotifyAll]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "borderBottomStyle": "solid", + "borderBottomWidth": 2, + "borderLeftStyle": "solid", + "borderLeftWidth": 2, + "borderRightStyle": "none", + "borderTopStyle": "solid", + "borderTopWidth": 2 + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonHome" + }, + "position": { + "height": 35, + "width": 35, + "x": 2 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Home.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 1" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonMaintenance" + }, + "position": { + "height": 35, + "width": 35, + "x": 2, + "y": 40 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Maint.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 2" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonDiagnostics" + }, + "position": { + "height": 35, + "width": 35, + "x": 2, + "y": 80 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Diag.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 3" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonAlarm" + }, + "position": { + "height": 35, + "width": 35, + "x": 2, + "y": 120 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Alm.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d -1" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonHelp" + }, + "position": { + "height": 32, + "rotate": { + "angle": "180deg" + }, + "width": 32, + "x": 2, + "y": 250 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Faults.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "MaintBypass" + }, + "position": { + "height": 16, + "width": 16, + "y": 37 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_HasRunFdbk\") ||\r\ntag({view.params.tagPath} + \"/Cfg_UseRunFdbk\") ||\r\ntag({view.params.tagPath} + \"/Sts_Bypass\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tCfg_HasRunFdbk \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_HasRunFdbk\"])[0].value\n\tCfg_UseRunFdbk \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_UseRunFdbk\"])[0].value\n\tSts_Bypass \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Bypass\"])[0].value\n\t\n\tif ((Cfg_HasRunFdbk) and not (Cfg_UseRunFdbk)) or (Sts_Bypass):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_MaintByp.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "AlarmInh" + }, + "position": { + "height": 16, + "width": 16, + "y": 116.99519348144531 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_AlmInh\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Alm_Inhibit.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 23, + "y": 37 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Err_Timer\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "BadConfigAlarm" + }, + "position": { + "height": 16, + "width": 16, + "x": 23, + "y": 118 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Err_Alarm\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "AlarmInh_0" + }, + "position": { + "height": 16, + "width": 16, + "y": 99 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_NotRdy\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_NotReady.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupTabButtons" + }, + "position": { + "height": 287, + "width": 39, + "x": 3, + "y": 5 + }, + "type": "ia.container.coord" + } + ], + "events": { + "system": { + "onStartup": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "propConfig": { + "custom.cmdSrcTitle": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_Tag\") + \" - \" + tag({view.params.tagPath}+\"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Motor/P_Motor_Advanced/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Motor/P_Motor_Advanced/resource.json new file mode 100644 index 0000000..7314856 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Motor/P_Motor_Advanced/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "7b588550ec234f0da262cf5336e4b7ab1500aebefed9f973cfa7b81d6bc7bb06", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Motor/P_Motor_Advanced/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Motor/P_Motor_Advanced/thumbnail.png new file mode 100644 index 0000000..d6bbabf Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Motor/P_Motor_Advanced/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Motor/P_Motor_Advanced/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Motor/P_Motor_Advanced/view.json new file mode 100644 index 0000000..c71224a --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Motor/P_Motor_Advanced/view.json @@ -0,0 +1,2323 @@ +{ + "custom": { + "popupVersion": " 1.0 " + }, + "params": { + "securityDeviceConfigBehavior": true, + "securityDeviceConfigFailTimers": true, + "securityDeviceConfigHMI": true, + "securityDeviceConfigLimits": true, + "securityDeviceConfigTimers": true, + "securityEnableSimulation": true, + "securityEnterOperSettings": true, + "securityOverrideInputs": true, + "selectedTab": 0, + "tagPath": "[default]Test_Tags/P_Motor", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "custom.popupVersion": { + "persistent": true + }, + "params.securityDeviceConfigBehavior": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigBehavior\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityDeviceConfigFailTimers": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigFailTimers\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityDeviceConfigHMI": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigHMI\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityDeviceConfigLimits": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigLimits\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityDeviceConfigTimers": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigTimers\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityEnableSimulation": { + "binding": { + "config": { + "expression": "\"securityEnableSimulation\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityEnterOperSettings": { + "binding": { + "config": { + "expression": "\"securityEnterOperSettings\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityOverrideInputs": { + "binding": { + "config": { + "expression": "\"securityOverrideInputs\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.selectedTab": { + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 442, + "width": 350 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Tab1" + }, + "position": { + "height": 39, + "width": 37 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab2" + }, + "position": { + "height": 39, + "width": 37, + "x": 40 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab3" + }, + "position": { + "height": 39, + "width": 37, + "x": 80 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "InactiveTabs" + }, + "position": { + "height": 39, + "width": 117, + "x": 4, + "y": 4 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 403, + "width": 350, + "y": 42 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab" + }, + "position": { + "height": 39, + "width": 40, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 442, + "width": 350 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ErrOutline" + }, + "position": { + "height": 104, + "width": 83, + "y": 10.5 + }, + "props": { + "style": { + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "2px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 68, + "y": -4.5 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "ndeErr_1" + }, + "position": { + "height": 119, + "width": 83, + "x": 255, + "y": 8 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_Timer\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "GO_StartStopFailTimers" + }, + "position": { + "height": 74, + "width": 340, + "x": 1.5, + "y": 16 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigFailTimers": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_StartStopFailTimers" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_MaxJogT" + }, + "position": { + "height": 32, + "width": 340, + "x": 1.5, + "y": 90 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_MaxJogT" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SeparatorLine" + }, + "position": { + "height": 2, + "width": 340, + "x": 2, + "y": 143 + }, + "props": { + "style": { + "borderColor": "#E0E0E0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GroupTimer" + }, + "position": { + "height": 394, + "width": 343, + "x": 2, + "y": 45 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Maintenance" + }, + "position": { + "height": 442, + "width": 350, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 0)", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 403, + "width": 350, + "y": 42 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab" + }, + "position": { + "height": 39, + "width": 40, + "x": 39, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 442, + "width": 350 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasRunFdbk\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 306, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Motor has Run Feedback" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_HasRunFdbk\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_HasRunFdbk\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "cb_Cfg_HasRunFdbk" + }, + "position": { + "height": 33, + "width": 340, + "x": 2.5, + "y": -1 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "GO_Cfg_OCmdResets" + }, + "position": { + "height": 32, + "width": 340, + "x": 2.5, + "y": 37 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_OCmdResets" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_XCmdResets" + }, + "position": { + "height": 32, + "width": 340, + "x": 2.5, + "y": 74 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_XCmdResets" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_HasJog" + }, + "position": { + "height": 32, + "width": 340, + "x": 2.5, + "y": 111 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_HasJog" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_OvrdPermIntlk" + }, + "position": { + "height": 32, + "width": 340, + "x": 2.5, + "y": 148 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_OvrdPermIntlk" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_OperStopPrio" + }, + "position": { + "height": 32, + "width": 340, + "x": 2.5, + "y": 185 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_OperStopPrio" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_ExtStopPrio" + }, + "position": { + "height": 32, + "width": 340, + "x": 2.5, + "y": 222 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_ExtStopPrio" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_AllowLocal" + }, + "position": { + "height": 32, + "width": 340, + "x": 2.5, + "y": 259.002 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_AllowLocal", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "PageEngineering1" + }, + "position": { + "height": 334, + "width": 345, + "x": 2.5, + "y": 46 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{parent.custom.pageTabSelected}" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 0)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label2" + }, + "position": { + "height": 16, + "width": 155, + "x": 8.51, + "y": 9 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Stop Motor:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "GO_Cfg_ShedOnIOFault" + }, + "position": { + "height": 32, + "width": 280, + "x": 12.5, + "y": 26.002000000000002 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnIOFault" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_ShedOnFailToStart" + }, + "position": { + "height": 32, + "width": 280, + "x": 12.5, + "y": 57.001999999999995 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnFailToStart" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_ShedOnInterlockTrip" + }, + "position": { + "height": 32, + "width": 280, + "x": 12.5, + "y": 90 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnInterlockTrip" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_StartHornT_0" + }, + "position": { + "height": 32, + "width": 340, + "x": 2.5, + "y": 127.00200000000001 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_StartHornT" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_SimFdbkT" + }, + "position": { + "height": 32, + "width": 340, + "x": 2.5, + "y": 169 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_SimFdbkT" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "PageEngineering2" + }, + "position": { + "height": 334, + "width": 345, + "x": 2.5, + "y": 46 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{parent.custom.pageTabSelected}" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 1)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageTabSelected \u003d self.parent.custom.pageTabSelected\n\tmaxNumberOfTabs \u003d self.parent.custom.maxNumberOfTabs - 1\n\t\n\tnewTab \u003d pageTabSelected - 1\n\t\n\tif (newTab \u003e\u003d 0):\n\t\tself.parent.custom.pageTabSelected \u003d newTab" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "PrevButton" + }, + "position": { + "height": 36, + "width": 30, + "x": 103.5 + }, + "props": { + "fit": { + "mode": "contain" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Prev.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 20, + "x": 3, + "y": 8 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if({parent.custom.currentTabNumber} \u003d {parent.custom.tabNumber}, \"#A3A3A3FF\", \"#A3A3A300\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.tabNumber} + 1" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 1, + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "tabNumber": 0 + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.currentTabNumber \u003d self.custom.tabNumber" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Page1Button" + }, + "position": { + "height": 36, + "width": 26, + "x": 131.5 + }, + "propConfig": { + "custom.currentTabNumber": { + "binding": { + "config": { + "bidirectional": true, + "path": "parent.custom.pageTabSelected" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 20, + "x": 3, + "y": 8 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if({parent.custom.currentTabNumber} \u003d {parent.custom.tabNumber}, \"#A3A3A3FF\", \"#A3A3A300\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.tabNumber} + 1" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 1, + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "tabNumber": 1 + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.currentTabNumber \u003d self.custom.tabNumber" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Page2Button" + }, + "position": { + "height": 36, + "width": 26, + "x": 157.5 + }, + "propConfig": { + "custom.currentTabNumber": { + "binding": { + "config": { + "bidirectional": true, + "path": "parent.custom.pageTabSelected" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageTabSelected \u003d self.parent.custom.pageTabSelected\n\tmaxNumberOfTabs \u003d self.parent.custom.maxNumberOfTabs - 1\n\t\n\tnewTab \u003d pageTabSelected + 1\n\t\n\tif (newTab \u003c\u003d maxNumberOfTabs):\n\t\tself.parent.custom.pageTabSelected \u003d newTab" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "NextButton" + }, + "position": { + "height": 36, + "width": 30, + "x": 187.5 + }, + "props": { + "fit": { + "mode": "contain" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Next.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + } + ], + "custom": { + "maintenanceTabSelected": 0, + "maxNumberOfTabs": 2 + }, + "meta": { + "name": "PageButtons" + }, + "position": { + "height": 36, + "width": 321, + "x": 14, + "y": 393 + }, + "propConfig": { + "custom.pageTabSelected": { + "binding": { + "config": { + "bidirectional": true, + "path": "parent.custom.pageTabSelected" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 18, + "width": 16, + "x": 180.005, + "y": 389 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_Sim\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "custom": { + "pageTabSelected": 0 + }, + "meta": { + "name": "TabPage_Engineering" + }, + "position": { + "height": 442, + "width": 350, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d 1", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 402, + "width": 350, + "y": 42 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "x": 80, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 442, + "width": 350 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "GO_Desc_Label_Tag" + }, + "position": { + "height": 68.00000000000001, + "width": 340, + "x": 5, + "y": 3.99 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigHMI": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Desc_Label_Tag" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_Area" + }, + "position": { + "height": 20, + "width": 340, + "x": 5, + "y": 70.987 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityConfigSecurity": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_Area" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TextConfig" + }, + "position": { + "height": 125, + "width": 350, + "y": 47 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "GO_Cfg_HasPermObj" + }, + "position": { + "height": 32, + "width": 340, + "x": 5, + "y": 4 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigHMI": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_HasPermObj" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_HasIntlkObj" + }, + "position": { + "height": 32, + "width": 340, + "x": 5, + "y": 34 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigHMI": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_HasIntlkObj" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "HMIConfig" + }, + "position": { + "height": 206, + "width": 350, + "y": 168 + }, + "type": "ia.container.coord" + } + ], + "custom": { + "pageTabSelected": 0 + }, + "meta": { + "name": "TabPage_HMI" + }, + "position": { + "height": 442, + "width": 350, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d 2", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 403, + "width": 350, + "y": 42 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab" + }, + "position": { + "height": 39, + "width": 40, + "x": 306, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 442, + "width": 350 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 145, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "caption": "P_Motor_Advanced", + "label": "Popup Name:" + }, + "meta": { + "name": "PopupID" + }, + "position": { + "height": 18, + "width": 292, + "x": 48, + "y": 346 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 145, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "PlantPAX Version:" + }, + "meta": { + "name": "PlantPAX Version" + }, + "position": { + "height": 18, + "width": 292, + "x": 48, + "y": 369 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/version\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 145, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "UDT Version:" + }, + "meta": { + "name": "UDTVersion" + }, + "position": { + "height": 18, + "width": 292, + "x": 48, + "y": 392 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Prime Version\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 145, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "Popup Version:" + }, + "meta": { + "name": "PopupVersion" + }, + "position": { + "height": 18, + "width": 292, + "x": 48, + "y": 415 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "path": "view.custom.popupVersion" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Version" + }, + "position": { + "height": 442, + "width": 350, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d -1", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonMaintenance" + }, + "position": { + "height": 35, + "width": 35, + "x": 2 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Maint.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 1" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonEngineering" + }, + "position": { + "height": 35, + "width": 35, + "x": 42 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Eng.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 2" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonHMI" + }, + "position": { + "height": 35, + "width": 35, + "x": 81 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_HMI.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d -1" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonHelp" + }, + "position": { + "height": 32, + "width": 32, + "x": 311 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Faults.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 23, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_Timer\")" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "BadConfigEng" + }, + "position": { + "height": 16, + "width": 16, + "x": 63, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_Sim\")" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupTabButtons" + }, + "position": { + "height": 35, + "width": 346, + "x": 3, + "y": 5 + }, + "type": "ia.container.coord" + } + ], + "events": { + "system": { + "onStartup": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 0\n\tself.getChild(\"TabPage_Engineering\").custom.pageTabSelected \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_PIDE/P_PIDE/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_PIDE/P_PIDE/resource.json new file mode 100644 index 0000000..e5300b5 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_PIDE/P_PIDE/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "4d0aeaed3f1631b3bbd829488f504c5f087c30dcaf2c9e6f15039b147fb9fe48", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_PIDE/P_PIDE/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_PIDE/P_PIDE/thumbnail.png new file mode 100644 index 0000000..7b751a8 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_PIDE/P_PIDE/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_PIDE/P_PIDE/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_PIDE/P_PIDE/view.json new file mode 100644 index 0000000..1bc3d8c --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_PIDE/P_PIDE/view.json @@ -0,0 +1,8532 @@ +{ + "custom": { + "cmdSrcTitle": " - ", + "popupVersion": " 1.0 " + }, + "params": { + "securityBypassFeedback": true, + "securityBypassInterlocks": true, + "securityDeviceConfigLimits": true, + "securityDeviceConfigThresholds": true, + "securityEnableSimulation": true, + "securityEnterOperSettings": true, + "securityOperateEquipment": true, + "securityOverrideInputs": true, + "selectedTab": 3, + "tagPath": "[default]Test_Tags/Flow_PID", + "userHasBasic": true + }, + "propConfig": { + "custom.cmdSrcTitle": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_Tag\") + \" - \" + tag({view.params.tagPath}+\"/Cfg_Label\")" + }, + "type": "expr" + }, + "persistent": true + }, + "custom.popupVersion": { + "persistent": true + }, + "params.securityBypassFeedback": { + "binding": { + "config": { + "expression": "\"securityBypassFeedback\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityBypassInterlocks": { + "binding": { + "config": { + "expression": "\"securityBypassInterlocks\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityDeviceConfigLimits": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigLimits\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityDeviceConfigThresholds": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigThresholds\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityEnableSimulation": { + "binding": { + "config": { + "expression": "\"securityEnableSimulation\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityEnterOperSettings": { + "binding": { + "config": { + "expression": "\"securityEnterOperSettings\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityOperateEquipment": { + "binding": { + "config": { + "expression": "\"securityOperateEquipment\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityOverrideInputs": { + "binding": { + "config": { + "expression": "\"securityOverrideInputs\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.selectedTab": { + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 300, + "width": 392 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Tab1" + }, + "position": { + "height": 37, + "width": 39 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab2" + }, + "position": { + "height": 37, + "width": 39, + "y": 40 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab3" + }, + "position": { + "height": 37, + "width": 39, + "y": 80 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab4" + }, + "position": { + "height": 37, + "width": 39, + "y": 120 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "InactiveTabs" + }, + "position": { + "height": 157, + "width": 40, + "x": 4, + "y": 4 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 300, + "width": 353, + "x": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 300, + "width": 392 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "StatusText_Ready", + "visible": false + }, + "position": { + "height": 16, + "width": 42, + "x": 6, + "y": 2 + }, + "props": { + "text": "Normal", + "textStyle": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d image_path.format(states[SrcQ_IO][0])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 330, + "x": 20 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][1]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.textStyle.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][3]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][2]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "CommStatus" + }, + "position": { + "height": 20, + "width": 350 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\t\n\tSrcQ_IO \u003d value\n\t\n\tif (SrcQ_IO \u003e\u003d 8):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][3]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "AlarmSeverityIndicator" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "AlarmText" + }, + "position": { + "height": 16, + "width": 367, + "x": 22, + "y": 2 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Cfg_Cond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "alarmParameterName": "LoDev" + }, + "meta": { + "name": "AlarmNotify_LoDev" + }, + "position": { + "height": 20, + "width": 402 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {this.custom.alarmParameterName} + \"/Val_Notify\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tVal_Notify \u003d value\n\tVal_UnackAlmC \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_UnackAlmC\"])[0].value\n\t\n\tif (Val_Notify \u003e 0) and ((Val_UnackAlmC \u003d\u003d 0) or ((Val_Notify \u0026 1) \u003d\u003d 1)):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "AlarmSeverityIndicator" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "AlarmText" + }, + "position": { + "height": 16, + "width": 367, + "x": 22, + "y": 2 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Cfg_Cond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "alarmParameterName": "HiDev" + }, + "meta": { + "name": "AlarmNotify_HiDev" + }, + "position": { + "height": 20, + "width": 402 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {this.custom.alarmParameterName} + \"/Val_Notify\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tVal_Notify \u003d value\n\tVal_UnackAlmC \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_UnackAlmC\"])[0].value\n\t\n\tif (Val_Notify \u003e 0) and ((Val_UnackAlmC \u003d\u003d 0) or ((Val_Notify \u0026 1) \u003d\u003d 1)):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "AlarmSeverityIndicator" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "AlarmText" + }, + "position": { + "height": 16, + "width": 367, + "x": 22, + "y": 2 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Cfg_Cond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "alarmParameterName": "LoLoDev" + }, + "meta": { + "name": "AlarmNotify_LoLoDev" + }, + "position": { + "height": 20, + "width": 402 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {this.custom.alarmParameterName} + \"/Val_Notify\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tVal_Notify \u003d value\n\tVal_UnackAlmC \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_UnackAlmC\"])[0].value\n\t\n\tif (Val_Notify \u003e 0) and ((Val_UnackAlmC \u003d\u003d 0) or ((Val_Notify \u0026 1) \u003d\u003d 1)):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "AlarmSeverityIndicator" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "AlarmText" + }, + "position": { + "height": 16, + "width": 367, + "x": 22, + "y": 2 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Cfg_Cond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "alarmParameterName": "HiHiDev" + }, + "meta": { + "name": "AlarmNotify_HiHiDev" + }, + "position": { + "height": 20, + "width": 402 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {this.custom.alarmParameterName} + \"/Val_Notify\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tVal_Notify \u003d value\n\tVal_UnackAlmC \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_UnackAlmC\"])[0].value\n\t\n\tif (Val_Notify \u003e 0) and ((Val_UnackAlmC \u003d\u003d 0) or ((Val_Notify \u0026 1) \u003d\u003d 1)):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "AlarmSeverityIndicator" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "AlarmText" + }, + "position": { + "height": 16, + "width": 367, + "x": 22, + "y": 2 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Cfg_Cond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "alarmParameterName": "IntlkTrip" + }, + "meta": { + "name": "AlarmNotify_IntlkTrip" + }, + "position": { + "height": 20, + "width": 402 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {this.custom.alarmParameterName} + \"/Val_Notify\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tVal_Notify \u003d value\n\tVal_UnackAlmC \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_UnackAlmC\"])[0].value\n\t\n\tif (Val_Notify \u003e 0) and ((Val_UnackAlmC \u003d\u003d 0) or ((Val_Notify \u0026 1) \u003d\u003d 1)):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "AlarmSeverityIndicator" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "AlarmText" + }, + "position": { + "height": 16, + "width": 367, + "x": 22, + "y": 2 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Cfg_Cond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "alarmParameterName": "Fail" + }, + "meta": { + "name": "AlarmNotify_Fail" + }, + "position": { + "height": 20, + "width": 402 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {this.custom.alarmParameterName} + \"/Val_Notify\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tVal_Notify \u003d value\n\tVal_UnackAlmC \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_UnackAlmC\"])[0].value\n\t\n\tif (Val_Notify \u003e 0) and ((Val_UnackAlmC \u003d\u003d 0) or ((Val_Notify \u0026 1) \u003d\u003d 1)):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "AlarmNotices" + }, + "position": { + "height": 20, + "width": 402 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "custom": { + "parameterName": "NRdy_Init" + }, + "meta": { + "name": "GONoticeNRdy_Init" + }, + "position": { + "height": 21, + "width": 398 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {this.custom.parameterName}), true, false)" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{this.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#3F3F3F", + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameterName": "NRdy_Intlk" + }, + "meta": { + "name": "GONoticeNRdy_Intlk" + }, + "position": { + "height": 21, + "width": 398 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {this.custom.parameterName}), true, false)" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{this.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#3F3F3F", + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameterName": "NRdy_IOFault" + }, + "meta": { + "name": "GONoticeNRdy_IOFault" + }, + "position": { + "height": 21, + "width": 398 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {this.custom.parameterName}), true, false)" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{this.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#3F3F3F", + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameterName": "NRdy_OoS" + }, + "meta": { + "name": "GONoticeNRdy_OoS" + }, + "position": { + "height": 21, + "width": 398 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {this.custom.parameterName}), true, false)" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{this.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#3F3F3F", + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameterName": "NRdy_CfgErr" + }, + "meta": { + "name": "GONoticeNRdy_CfgErr" + }, + "position": { + "height": 21, + "width": 398 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {this.custom.parameterName}), true, false)" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{this.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#3F3F3F", + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "NRdyNotices" + }, + "position": { + "height": 21, + "width": 402 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "AbnormalSeparatorLine" + }, + "position": { + "height": 2, + "width": 352, + "y": 20 + }, + "props": { + "style": { + "borderColor": "#6A6A6A", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ResetAckAll" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_AlmAckAllReset_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "DisabledAckResetButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 302, + "y": 5 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ResetAckAll" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_AlmAckAllReset.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_ResetAckAll\", 1)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveAckResetButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 302, + "y": 5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/ORdy_ResetAckAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tORdy_ResetAckAll \u003d value\n\tVal_UnackAlmC \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_UnackAlmC\"])[0].value\n\t\n\tif (self.view.params.userHasBasic) and (ORdy_ResetAckAll):\n\t\tret_value \u003d True \n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Content1" + }, + "position": { + "height": 45, + "width": 403, + "x": 44 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "GO_msi_ControlState", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 20, + "width": 303 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Sts_Initializing\") || tag({view.params.tagPath}+ \"/Sts_Hand\") || tag({view.params.tagPath}+ \"/Sts_IntlkCV\") ||\r\ntag({view.params.tagPath}+ \"/Sts_Man\") || tag({view.params.tagPath}+ \"/Sts_Prog\") || tag({view.params.tagPath}+ \"/Sts_Auto\") ||\r\ntag({view.params.tagPath}+ \"/Sts_Casc\") || tag({view.params.tagPath}+ \"/Cfg_HasRatio\") || tag({view.params.tagPath}+ \"/Val_Ratio\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\tstates \u003d {\n\t0: \"Output (CV) held by downstream init\",\n\t1: \"Output (CV) held by local control\",\n\t2: \"Output (CV) held by Interlock\",\n\t3: \"Output (CV) set by Program\",\n\t4: \"Output (CV) set by Operator\",\n\t5: \"Controlling to Program setpoint (SP)\",\n\t6: \"Controlling to Operator setpoint (SP)\",\n\t7: \"Controlling to Ratio of Cascade setpoint (SP)\",\n\t8: \"Controlling to Cascade setpoint (SP)\"\n\t}\n\t\n\tSts_Initializing \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Initializing\"])[0].value\n\tSts_Hand \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Hand\"])[0].value\n\tSts_IntlkCV \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_IntlkCV\"])[0].value\n\tSts_Man \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Man\"])[0].value\n\tSts_Auto \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Auto\"])[0].value\n\tSts_Prog \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Prog\"])[0].value\n\tSts_Casc \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Casc\"])[0].value\n\tCfg_HasRatio \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_HasRatio\"])[0].value\n\tVal_Ratio \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_Ratio\"])[0].value\n\t\n\t\n\tif (Sts_Initializing):\n\t\tindex \u003d 0\n\telif (Sts_Hand):\n\t \tindex \u003d 1\n\telif (Sts_IntlkCV):\n\t\tindex \u003d 2\n\telif (Sts_Man and Sts_Prog):\n\t\tindex \u003d 3\n\telif (Sts_Man):\n\t\tindex \u003d 4\n\telif (Sts_Auto and Sts_Prog):\n\t\tindex \u003d 5\n\telif (Sts_Auto):\n\t\tindex \u003d 6\n\telif (Sts_Casc and Cfg_HasRatio and (Val_Ratio \u003c\u003e 1.0)):\n\t\tindex \u003d 7\n\telif (Sts_Casc and Cfg_HasRatio):\n\t\tindex \u003d 8\n\telif (Sts_Casc):\n\t\tindex \u003d 8\n\telse:\n\t\tindex \u003d 9\n\t\n\tret_value \u003d states[index]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#D4D4D4", + "color": "#2A4191", + "fontSize": "11pt", + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "Left" + }, + "textStyle": { + "classes": "States/DigitalInput/on" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Disabled" + }, + "position": { + "height": 17, + "width": 16, + "x": 12, + "y": 88 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/SrcQ\") \u003d 19, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "contain" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 17, + "width": 50, + "x": 19, + "y": 4 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "bold", + "textAlign": "center" + }, + "text": "PV" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "GO_PID_PV" + }, + "position": { + "height": 48, + "width": 88, + "y": 24 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_PID_PV" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 18, + "width": 16, + "x": 36, + "y": 73 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_ZCDBOn\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_Good.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupPV" + }, + "position": { + "height": 98, + "width": 88, + "x": 1, + "y": 16 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ThresholdHi" + }, + "position": { + "height": 17, + "width": 16 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_HiDev\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_TholdHiDev.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ThresholdHiHi" + }, + "position": { + "height": 17, + "width": 16 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_HiHiDev\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_TholdHiHiDev.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ThresholdLo" + }, + "position": { + "height": 17, + "width": 16, + "y": 161 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_LoDev\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_TholdLoDev.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ThresholdLoLo" + }, + "position": { + "height": 17, + "width": 16, + "y": 161 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_LoLoDev\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_TholdLoLoDev.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupDeviations" + }, + "position": { + "height": 180, + "width": 16, + "x": 72.0139, + "y": 6.5 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "GO_SPPVBarGraph" + }, + "position": { + "height": 192, + "width": 117, + "x": 80, + "y": 0.5 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_SPPVBarGraph" + }, + "type": "ia.display.view" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 17, + "width": 50, + "x": 19, + "y": 4 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "bold", + "textAlign": "center" + }, + "text": "SP" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "GO_PID_SP" + }, + "position": { + "height": 48, + "width": 88, + "y": 24 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_PID_SP" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NumericInput" + }, + "position": { + "height": 20, + "width": 66, + "x": 11, + "y": 73 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityEnterOperSettings} \u0026\u0026 {view.params.userHasBasic} \u0026\u0026 tag({view.params.tagPath} + \"/ORdy_SP\")" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PVDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_MaxSP\")" + }, + "type": "expr" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_MinSP\")" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/OSet_SP\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "GroupSP" + }, + "position": { + "height": 98, + "width": 88, + "x": 126, + "y": 16 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 17, + "width": 50, + "x": 19, + "y": 4 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "bold", + "textAlign": "center" + }, + "text": "Ratio" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "godsData_Value", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 18, + "width": 66, + "x": 11, + "y": 28 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Val_Ratio\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tCfg_PVDecPlcs \u003d 2#system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_PVDecPlcs\"] )[0].value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/Val_Ratio\"), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#2A4191", + "fontWeight": "normal", + "textAlign": "center" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "11pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 18, + "width": 16, + "x": 69, + "y": 28 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_RatioClamped\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_Clamped.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NumericInput" + }, + "position": { + "height": 20, + "width": 41, + "x": 23.5, + "y": 73 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityEnterOperSettings} \u0026\u0026 {view.params.userHasBasic} \u0026\u0026 tag({view.params.tagPath} + \"/ORdy_Ratio\")" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "2" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_MaxRatio\")" + }, + "type": "expr" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_MinRatio\")" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/OSet_Ratio\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "GroupRatio" + }, + "position": { + "height": 98, + "width": 88, + "x": 186, + "y": 16 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_HasCasc\") || tag({view.params.tagPath} + \"/Cfg_HasRatio\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 17, + "width": 50, + "x": 19, + "y": 4 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "bold", + "textAlign": "center" + }, + "text": "CV" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "GO_PID_SP" + }, + "position": { + "height": 48, + "width": 88, + "y": 24 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_PID_CV" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NumericInput" + }, + "position": { + "height": 20, + "width": 66, + "x": 11, + "y": 73 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityEnterOperSettings} \u0026\u0026 {view.params.userHasBasic} \u0026\u0026 tag({view.params.tagPath} + \"/ORdy_CV\")" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CVDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_LimitManCV\"), tag({view.params.tagPath} + \"/Cfg_MaxCV\"), tag({view.params.tagPath} + \"/Cfg_CVEUMax\"))" + }, + "type": "expr" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_LimitManCV\"), tag({view.params.tagPath} + \"/Cfg_MinCV\"), tag({view.params.tagPath} + \"/Cfg_CVEUMin\"))" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/OSet_CV\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "GroupCV" + }, + "position": { + "height": 98, + "width": 88, + "x": 246, + "y": 16 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "BarGraphBorder" + }, + "position": { + "height": 12, + "width": 180, + "x": 5.5, + "y": 14.3 + }, + "props": { + "style": { + "borderColor": "#A0A0A4", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Tick0" + }, + "position": { + "height": 5, + "width": 1, + "x": 1.0024, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tick1" + }, + "position": { + "height": 5, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.25" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tick2" + }, + "position": { + "height": 5, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.5" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tick3" + }, + "position": { + "height": 5, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.75" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tick4" + }, + "position": { + "height": 5, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 1" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick0" + }, + "position": { + "height": 2, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.05" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick1" + }, + "position": { + "height": 2, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.1" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick2" + }, + "position": { + "height": 2, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.15" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick3" + }, + "position": { + "height": 2, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.20" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick4" + }, + "position": { + "height": 2, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.30" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick5" + }, + "position": { + "height": 2, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.35" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick6" + }, + "position": { + "height": 2, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.40" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick7" + }, + "position": { + "height": 2, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.45" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick8" + }, + "position": { + "height": 2, + "width": 1, + "y": 0.00481 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.55" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick9" + }, + "position": { + "height": 2, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.60" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick10" + }, + "position": { + "height": 2, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.65" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick11" + }, + "position": { + "height": 2, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.70" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick12" + }, + "position": { + "height": 2, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.80" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick13" + }, + "position": { + "height": 2, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.85" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick14" + }, + "position": { + "height": 2, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.90" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick15" + }, + "position": { + "height": 2, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.95" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "custom": { + "length": 180 + }, + "meta": { + "name": "Scale" + }, + "position": { + "height": 8, + "width": 184, + "x": 4.5, + "y": 26.3 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "CVIndicator" + }, + "position": { + "height": 20, + "rotate": { + "angle": "90deg" + }, + "width": 20, + "y": -1.1 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_CVOut\") ||\r\ntag({view.params.tagPath} + \"/Val_CVEUMin\") ||\r\ntag({view.params.tagPath} + \"/Val_CVEUMax\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d 0\n\t\n\tVal_CVOut \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_CVOut\"])[0].value\n\tVal_CVEUMin \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_CVEUMin\"])[0].value\n\tVal_CVEUMax \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_CVEUMax\"])[0].value\n\t\n\tDisplayMin \u003d -4\n\tDisplayMax \u003d 175\n\t\n\tret_value \u003d ((DisplayMax - DisplayMin) / (Val_CVEUMax - Val_CVEUMin)) * (Val_CVOut - Val_CVEUMin) + DisplayMin\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "color": "#2A4191", + "path": "material/play_arrow" + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "CVSet" + }, + "position": { + "height": 20, + "width": 3, + "y": 14.3 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_CVSet\") ||\r\ntag({view.params.tagPath} + \"/Val_CVEUMin\") ||\r\ntag({view.params.tagPath} + \"/Val_CVEUMax\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d 0\n\t\n\tVal_CVOut \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_CVSet\"])[0].value\n\tVal_CVEUMin \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_CVEUMin\"])[0].value\n\tVal_CVEUMax \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_CVEUMax\"])[0].value\n\t\n\tDisplayMin \u003d 5\n\tDisplayMax \u003d 183\n\t\n\tret_value \u003d ((DisplayMax - DisplayMin) / (Val_CVEUMax - Val_CVEUMin)) * (Val_CVOut - Val_CVEUMin) + DisplayMin\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#3F3F3F", + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "BarGraphGroup" + }, + "position": { + "height": 36, + "width": 190, + "x": 20, + "y": 2 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "ScaleMin" + }, + "position": { + "height": 14, + "width": 53, + "x": 23.5, + "y": 37 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Val_CVEUMin\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tCfg_PVDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CVDecPlcs\"] )[0].value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/Val_CVEUMin\"), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "A0A0A4", + "fontSize": "8pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "ScaleMax" + }, + "position": { + "height": 14, + "width": 43, + "x": 167.5, + "y": 37 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Val_CVEUMax\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tCfg_PVDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CVDecPlcs\"] )[0].value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/Val_CVEUMax\"), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "A0A0A4", + "fontSize": "8pt", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "CVBarGroup" + }, + "position": { + "height": 54, + "width": 220, + "x": 117, + "y": 110 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "GO_LoopMode", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 20, + "width": 111, + "x": 16 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Sts_Man\") || tag({view.params.tagPath}+ \"/Sts_Casc\") || tag({view.params.tagPath}+ \"/Cfg_HasCasc\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\tstates \u003d {\n\t0: [\"Sts_ModeMan\", \"Manual\"],\n\t1: [\"Sts_ModeAuto\", \"Auto\"],\n\t2: [\"Sts_ModeAutoCas\", \"Auto\"],\n\t3: [\"Sts_ModeCas\", \"Cascade\"]\n\t}\n\t\n\tSts_Man \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Man\"])[0].value\n\tSts_Casc \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Casc\"])[0].value\n\tCfg_HasCasc \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_HasCasc\"])[0].value\n\t\n\tif (Sts_Casc):\n\t\tindex \u003d 3\n\telif (Sts_Man):\n\t \tindex \u003d 0\n\telif (Cfg_HasCasc):\n\t\tindex \u003d 2\n\telse:\n\t\tindex \u003d 1\n\t\n\tret_value \u003d states[index][1]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#D4D4D4", + "color": "#2A4191", + "fontSize": "11pt", + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "Left" + }, + "textStyle": { + "classes": "States/DigitalInput/on" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "msi_Exceptions" + }, + "position": { + "height": 20, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Sts_Man\") || tag({view.params.tagPath}+ \"/Sts_Casc\") || tag({view.params.tagPath}+ \"/Cfg_HasCasc\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t0: [\"Sts_ModeMan\", \"Manual\"],\n\t1: [\"Sts_ModeAuto\", \"Auto\"],\n\t2: [\"Sts_ModeAutoCas\", \"Auto\"],\n\t3: [\"Sts_ModeCas\", \"Cascade\"]\n\t}\n\t\n\tSts_Man \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Man\"])[0].value\n\tSts_Casc \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Casc\"])[0].value\n\tCfg_HasCasc \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_HasCasc\"])[0].value\n\t\n\tif (Sts_Casc):\n\t\tindex \u003d 3\n\telif (Sts_Man):\n\t \tindex \u003d 0\n\telif (Cfg_HasCasc):\n\t\tindex \u003d 2\n\telse:\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(states[index][0])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GO_LoopMode" + }, + "position": { + "height": 20, + "width": 128, + "x": 207, + "y": 173 + }, + "props": { + "style": { + "backgroundColor": "#CCCCCC" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "PrimaryDisplayValues" + }, + "position": { + "height": 205, + "width": 339, + "x": 2, + "y": 20 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "InformationSection" + }, + "position": { + "height": 226, + "width": 343 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFaceDisabled" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_RunFwd_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "InactiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_RunFwd.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_StartFwd\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{view.params.userHasBasic} \u0026\u0026 {view.params.securityOperateEquipment} \u0026\u0026 tag({view.params.tagPath} + \"/ORdy_StartFwd\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GO_StartFwdButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 155 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFaceDisabled" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_JogFwd_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "InactiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_JogFwd.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onMouseDown": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_Jog\", True)" + }, + "scope": "G", + "type": "script" + }, + "onMouseUp": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_JogFwd\", False)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{view.params.userHasBasic} \u0026\u0026 {view.params.securityOperateEquipment} \u0026\u0026 tag({view.params.tagPath} + \"/ORdy_JogFwd\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GO_JogFwdButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 198 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasJog\"), true, false)" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "CommandButtons", + "visible": false + }, + "position": { + "height": 40, + "width": 240, + "x": 100.988, + "y": 51 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 40, + "width": 140, + "x": 2.5, + "y": 2.5 + }, + "props": { + "style": { + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 112, + "x": 30.5, + "y": 6.5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Sts_eSrc\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d value\n\t\n\t# id: [image name, caption]\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t0: [\"\", \"Logic Not In Use\"],\n\t4: [\"Sts_CmdSrcHand\", \"Hand\"],\n\t8: [\"Sts_CmdSrcMaint\", \"Maintenance\"],\n\t16: [\"Sts_CmdSrcOvrd\", \"Override\"],\n\t32: [\"Sts_CmdSrcProgram\", \"Program\"],\n\t33: [\"Sts_CmdSrcProgLocked\", \"Program (locked)\"],\n\t34: [\"Sts_CmdSrcProgram\", \"Program\"],\n\t64: [\"Sts_CmdSrcOper\", \"Operator\"],\n\t65: [\"Sts_CmdSrcOperLocked\", \"Operator (locked)\"],\n\t66: [\"Sts_CmdSrcOper\", \"Operator\"],\n\t128: [\"Sts_CmdSrcOoS\", \"Maint. Out Of Service\"],\n\t129: [\"Sts_CmdSrcOoS\", \"Logic Out of Service\"],\n\t256: [\"Sts_CmdSrcExt\", \"External\"]\t\n\t}\n\t\n\ttry:\n\t\tret_value \u003d states[index][1]\n\texcept:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "CmdSrcImage" + }, + "position": { + "height": 38, + "width": 18, + "x": 8, + "y": 4 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Sts_eSrc\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d value\n\t\n\t# id: [image name, caption]\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t0: [\"\", \"Logic Not In Use\"],\n\t4: [\"Sts_CmdSrcHand\", \"Hand\"],\n\t8: [\"Sts_CmdSrcMaint\", \"Maintenance\"],\n\t16: [\"Sts_CmdSrcOvrd\", \"Override\"],\n\t32: [\"Sts_CmdSrcProgram\", \"Program\"],\n\t33: [\"Sts_CmdSrcProgLocked\", \"Program (locked)\"],\n\t34: [\"Sts_CmdSrcProgram\", \"Program\"],\n\t64: [\"Sts_CmdSrcOper\", \"Operator\"],\n\t65: [\"Sts_CmdSrcOperLocked\", \"Operator (locked)\"],\n\t66: [\"Sts_CmdSrcOper\", \"Operator\"],\n\t128: [\"Sts_CmdSrcOoS\", \"Maint. Out Of Service\"],\n\t129: [\"Sts_CmdSrcOoS\", \"Logic Out of Service\"],\n\t256: [\"Sts_CmdSrcExt\", \"External\"]\t\n\t}\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(states[index][0])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "contain" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "draggable": true, + "id": "{view.params.tagPath}_CmdSrc", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "{/root.custom.cmdSrcTitle}", + "type": "open", + "viewParams": { + "selectedTab": "0", + "tagPath": "{view.params.tagPath}/CmdSrc" + }, + "viewPath": "Plant PAX/Popups/P_CmdSrc/P_CmdSrc", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "CmdSrcNavButton" + }, + "position": { + "height": 40, + "width": 140, + "x": 2.5, + "y": 2.5 + }, + "props": { + "image": { + "style": { + "backgroundColor": "#FFFFFF00" + } + }, + "style": { + "backgroundColor": "#FFFFFF00", + "outlineStyle": "none" + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "CmdSrcNotNormal" + }, + "position": { + "height": 16, + "width": 16, + "x": 127 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/CmdSrc/Sts_Normal\"), false, true)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_CmdSrcNotNorm.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GOCmdSrcDisplayWithNav" + }, + "position": { + "height": 45, + "width": 145, + "y": 94 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasIntlkObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Inp_IntlkOK\") || \r\ntag({view.params.tagPath} + \"/Inp_NBIntlkOK\") || \r\ntag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Nav_IntlkOK\",\n\t1: \"Nav_IntlkOKBypassed\",\n\t2: \"Nav_IntlkNonBypOK\",\n\t3: \"Nav_IntlkNotOK\"\n\t}\n\t\n\tInp_IntlkOK \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_IntlkOK\"])[0].value \t\t\t#102\n\tInp_NBIntlkOK \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_NBIntlkOK\"])[0].value\t\t#103\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\t\t\t#104\n\t\n\tif (not (Inp_NBIntlkOK)) or (not (Inp_IntlkOK or Sts_BypActive)):\n\t\tindex \u003d 3\n\telif (not (Inp_IntlkOK)):\n\t\tindex \u003d 2\n\telse:\n\t\tindex \u003d Sts_BypActive\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "paddingLeft": 4, + "paddingTop": 4 + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "P_Intlk", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "P_Intlk", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}_Intlk" + }, + "viewPath": "Plant PAX/Popups/P_Intlk/P_Intlk", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "NavButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasIntlkObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GOInterlockButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "InterlocksAndPermissives" + }, + "position": { + "height": 40, + "width": 41, + "x": 299, + "y": 96.5 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFaceDisabled" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_ModeMan_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "InactiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_ModeMan.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_Man\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{view.params.userHasBasic} \u0026\u0026 {view.params.securityOperateEquipment} \u0026\u0026 tag({view.params.tagPath} + \"/ORdy_Man\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GO_LoopModeManualButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 253, + "y": 97 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFaceDisabled" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_ModeAuto_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "InactiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_ModeAuto.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_Auto\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{view.params.userHasBasic} \u0026\u0026 {view.params.securityOperateEquipment} \u0026\u0026 tag({view.params.tagPath} + \"/ORdy_Auto\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GO_LoopModeAutoButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 207.00390625, + "y": 97 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFaceDisabled" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_ModeNorm_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "InactiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_ModeNorm.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_NormLM\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{view.params.userHasBasic} \u0026\u0026 {view.params.securityOperateEquipment} \u0026\u0026 tag({view.params.tagPath} + \"/ORdy_NormLM\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GO_NormLoopModeButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_NormLM\") \u003e 0" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GroupNormalLoopMode_NoCasc" + }, + "position": { + "height": 40, + "width": 40, + "x": 161.004, + "y": 97 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "!tag({view.params.tagPath} + \"/Cfg_HasCasc\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFaceDisabled" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_ModeNorm_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "InactiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_ModeNorm.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_NormLM\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{view.params.userHasBasic} \u0026\u0026 {view.params.securityOperateEquipment} \u0026\u0026 tag({view.params.tagPath} + \"/ORdy_NormLM\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GO_NormLoopModeButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_NormLM\") \u003e 0" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFaceDisabled" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_ModeCas_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "InactiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_ModeCas.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_Casc\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{view.params.userHasBasic} \u0026\u0026 {view.params.securityOperateEquipment} \u0026\u0026 tag({view.params.tagPath} + \"/ORdy_Casc\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GO_LoopModeCascadeButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 0.0078125, + "y": 50 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_HasCasc\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GroupNormalLoopMode_WithCasc" + }, + "position": { + "height": 91, + "width": 40, + "x": 161, + "y": 48.01 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_HasCasc\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Commands" + }, + "position": { + "height": 141, + "width": 343, + "y": 133 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Content2" + }, + "position": { + "height": 276, + "width": 346, + "x": 43, + "y": 24 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Home" + }, + "position": { + "height": 300, + "width": 392, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 0)", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 300, + "width": 353, + "x": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "y": 43 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 300, + "width": 392 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "AdvancedProperties" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Properties.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tblock_label \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_Label\"])[0].value\n\ttitle \u003d \"{0} - {1}\".format(block_label, \"Advanced\")\n\t\n\tparams \u003d {\u0027tagPath\u0027: self.view.params.tagPath}\n\t\n\tsystem.perspective.openPopup({self.view.params.tagPath},\u0027Plant PAX/Popups/P_PIDE/P_PIDE_Advanced\u0027, params, title, showCloseIcon \u003d True, resizable \u003d False)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "AdvancedPropertiesButton" + }, + "position": { + "height": 40, + "width": 40, + "y": 1 + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BadConfig" + }, + "position": { + "height": 16, + "width": 16, + "x": 22 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_Timer\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupNavToAdvanced" + }, + "position": { + "height": 42, + "width": 42 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "MtceNavButtons" + }, + "position": { + "height": 42, + "width": 43, + "x": 46, + "y": 2 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Threshold" + }, + "position": { + "height": 16, + "width": 80, + "x": 5, + "y": 1 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "center" + }, + "text": "Threshold" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Deadband" + }, + "position": { + "height": 16, + "width": 80, + "x": 83, + "y": 1 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "center" + }, + "text": "Deadband" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Units" + }, + "position": { + "height": 14, + "width": 80, + "x": 5, + "y": 15 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "\"(\" + tag({view.params.tagPath} + \"/Cfg_PVEU\") + \")\"" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#919191", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Headers" + }, + "position": { + "height": 30, + "width": 165, + "x": 178 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 20, + "width": 170 + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 167 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.gateName} + \"Gate/Cfg_InpCond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Disabled" + }, + "position": { + "height": 17, + "width": 16, + "x": 151, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {parent.custom.gateName} + \"Gate/Sts_Gate\"), false, true)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "BadCfg" + }, + "position": { + "height": 17, + "width": 16, + "x": 151, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {parent.custom.gateName} + \"Gate/Sts_Err\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupGate" + }, + "position": { + "height": 20, + "width": 170, + "y": 5 + }, + "propConfig": { + "custom.gateName": { + "binding": { + "config": { + "path": "parent.custom.gateName" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "nde_CfgLim" + }, + "position": { + "height": 20, + "width": 70, + "x": 4, + "y": 5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigThresholds} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PVDecPlcs\") || tag({view.params.tagPath} + \"/Cfg_\" + {parent.custom.gateName} + \"Lim\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_PVDecPlcs\"])[0].value\n\tfield_value \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_\" + self.parent.custom.gateName + \"Lim\"])[0].value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\tif (str(field_value).find(\"e\") !\u003d -1):\n\t\tret_value \u003d \"none\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "pow(2, 32)" + }, + "type": "expr" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "expression": "-pow(2, 32)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_\" + {parent.custom.gateName} + \"Lim\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "nde_CfgDB" + }, + "position": { + "height": 20, + "width": 70, + "x": 83, + "y": 5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigThresholds} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PVDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "pow(2, 32)" + }, + "type": "expr" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "expression": "-pow(2, 32)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_\" + {parent.custom.gateName} + \"DB\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "GroupLimitAndDB" + }, + "position": { + "height": 30, + "width": 156, + "x": 176 + }, + "propConfig": { + "custom.gateName": { + "binding": { + "config": { + "path": "parent.custom.gateName" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + } + ], + "custom": { + "gateName": "HiHiDev" + }, + "meta": { + "name": "GoLimitConfigHiHiDev" + }, + "position": { + "height": 30, + "width": 335, + "x": 8, + "y": 26 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 20, + "width": 170 + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 167 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.gateName} + \"Gate/Cfg_InpCond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Disabled" + }, + "position": { + "height": 17, + "width": 16, + "x": 151, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {parent.custom.gateName} + \"Gate/Sts_Gate\"), false, true)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "BadCfg" + }, + "position": { + "height": 17, + "width": 16, + "x": 151, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {parent.custom.gateName} + \"Gate/Sts_Err\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupGate" + }, + "position": { + "height": 20, + "width": 170, + "y": 5 + }, + "propConfig": { + "custom.gateName": { + "binding": { + "config": { + "path": "parent.custom.gateName" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "nde_CfgLim" + }, + "position": { + "height": 20, + "width": 70, + "x": 4, + "y": 5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigThresholds} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PVDecPlcs\") || tag({view.params.tagPath} + \"/Cfg_\" + {parent.custom.gateName} + \"Lim\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_PVDecPlcs\"])[0].value\n\tfield_value \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_\" + self.parent.custom.gateName + \"Lim\"])[0].value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\tif (str(field_value).find(\"e\") !\u003d -1):\n\t\tret_value \u003d \"none\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "pow(2, 32)" + }, + "type": "expr" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "expression": "-pow(2, 32)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_\" + {parent.custom.gateName} + \"Lim\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "nde_CfgDB" + }, + "position": { + "height": 20, + "width": 70, + "x": 83, + "y": 5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigThresholds} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PVDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "pow(2, 32)" + }, + "type": "expr" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "expression": "-pow(2, 32)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_\" + {parent.custom.gateName} + \"DB\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "GroupLimitAndDB" + }, + "position": { + "height": 30, + "width": 156, + "x": 176 + }, + "propConfig": { + "custom.gateName": { + "binding": { + "config": { + "path": "parent.custom.gateName" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + } + ], + "custom": { + "gateName": "HiDev" + }, + "meta": { + "name": "GoLimitConfigHiDev" + }, + "position": { + "height": 30, + "width": 335, + "x": 8, + "y": 55 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 20, + "width": 170 + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 167 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.gateName} + \"Gate/Cfg_InpCond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Disabled" + }, + "position": { + "height": 17, + "width": 16, + "x": 151, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {parent.custom.gateName} + \"Gate/Sts_Gate\"), false, true)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "BadCfg" + }, + "position": { + "height": 17, + "width": 16, + "x": 151, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {parent.custom.gateName} + \"Gate/Sts_Err\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupGate" + }, + "position": { + "height": 20, + "width": 170, + "y": 5 + }, + "propConfig": { + "custom.gateName": { + "binding": { + "config": { + "path": "parent.custom.gateName" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "nde_CfgLim" + }, + "position": { + "height": 20, + "width": 70, + "x": 4, + "y": 5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigThresholds} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PVDecPlcs\") || tag({view.params.tagPath} + \"/Cfg_\" + {parent.custom.gateName} + \"Lim\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_PVDecPlcs\"])[0].value\n\tfield_value \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_\" + self.parent.custom.gateName + \"Lim\"])[0].value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\tif (str(field_value).find(\"e\") !\u003d -1):\n\t\tret_value \u003d \"none\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "pow(2, 32)" + }, + "type": "expr" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "expression": "-pow(2, 32)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_\" + {parent.custom.gateName} + \"Lim\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "nde_CfgDB" + }, + "position": { + "height": 20, + "width": 70, + "x": 83, + "y": 5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigThresholds} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PVDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "pow(2, 32)" + }, + "type": "expr" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "expression": "-pow(2, 32)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_\" + {parent.custom.gateName} + \"DB\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "GroupLimitAndDB" + }, + "position": { + "height": 30, + "width": 156, + "x": 176 + }, + "propConfig": { + "custom.gateName": { + "binding": { + "config": { + "path": "parent.custom.gateName" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + } + ], + "custom": { + "gateName": "LoDev" + }, + "meta": { + "name": "GoLimitConfigLoDev" + }, + "position": { + "height": 30, + "width": 335, + "x": 8, + "y": 84 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 20, + "width": 170 + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 167 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.gateName} + \"Gate/Cfg_InpCond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Disabled" + }, + "position": { + "height": 17, + "width": 16, + "x": 151, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {parent.custom.gateName} + \"Gate/Sts_Gate\"), false, true)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "BadCfg" + }, + "position": { + "height": 17, + "width": 16, + "x": 151, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {parent.custom.gateName} + \"Gate/Sts_Err\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupGate" + }, + "position": { + "height": 20, + "width": 170, + "y": 5 + }, + "propConfig": { + "custom.gateName": { + "binding": { + "config": { + "path": "parent.custom.gateName" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "nde_CfgLim" + }, + "position": { + "height": 20, + "width": 70, + "x": 4, + "y": 5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigThresholds} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PVDecPlcs\") || tag({view.params.tagPath} + \"/Cfg_\" + {parent.custom.gateName} + \"Lim\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_PVDecPlcs\"])[0].value\n\tfield_value \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_\" + self.parent.custom.gateName + \"Lim\"])[0].value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\tif (str(field_value).find(\"e\") !\u003d -1):\n\t\tret_value \u003d \"none\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "pow(2, 32)" + }, + "type": "expr" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "expression": "-pow(2, 32)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_\" + {parent.custom.gateName} + \"Lim\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "nde_CfgDB" + }, + "position": { + "height": 20, + "width": 70, + "x": 83, + "y": 5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigThresholds} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PVDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "pow(2, 32)" + }, + "type": "expr" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "expression": "-pow(2, 32)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_\" + {parent.custom.gateName} + \"DB\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "GroupLimitAndDB" + }, + "position": { + "height": 30, + "width": 156, + "x": 176 + }, + "propConfig": { + "custom.gateName": { + "binding": { + "config": { + "path": "parent.custom.gateName" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + } + ], + "custom": { + "gateName": "LoLoDev" + }, + "meta": { + "name": "GoLimitConfigLoLoDev" + }, + "position": { + "height": 30, + "width": 335, + "x": 8, + "y": 113 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GroupLimits" + }, + "position": { + "height": 146, + "width": 345, + "x": 42, + "y": 26 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "SeparatorLine" + }, + "position": { + "height": 2, + "width": 340, + "y": 47 + }, + "props": { + "style": { + "borderColor": "#E0E0E0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "MaintBypass" + }, + "position": { + "height": 16, + "width": 16, + "x": 193, + "y": 57 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_SubstPV\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_MaintByp.png" + }, + "type": "ia.display.image" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Track" + }, + "position": { + "height": 8, + "width": 32, + "x": 2, + "y": 4 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderBottomLeftRadius": "15%", + "borderBottomRightRadius": "15%", + "borderColor": "#6B6B6B", + "borderStyle": "solid", + "borderTopLeftRadius": "15%", + "borderTopRightRadius": "15%", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Fill" + }, + "position": { + "height": 8, + "width": 32, + "x": 2, + "y": 4 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_Bypass\"), false, true)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#008080", + "borderBottomLeftRadius": "15%", + "borderBottomRightRadius": "15%", + "borderColor": "#6A6A6A", + "borderStyle": "solid", + "borderTopLeftRadius": "15%", + "borderTopRightRadius": "15%", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Indicator" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Bypass\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d 0\n\t\n\tSts_SubstPV \u003d value\n\t\n\tif (Sts_SubstPV):\n\t\tret_value \u003d 20\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#F0F0F0", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#6A6A6A", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "ToggleIndicator" + }, + "position": { + "height": 16, + "width": 37, + "x": 34, + "y": 7 + }, + "type": "ia.container.coord" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/MCmd_Check\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "OffButton", + "tooltip": { + "tail": false + } + }, + "position": { + "height": 25, + "width": 50, + "x": 2, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityBypassInterlocks} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + } + }, + "props": { + "align": "start", + "justify": "start", + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "No" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/MCmd_Bypass\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "OnButton", + "tooltip": { + "tail": false + } + }, + "position": { + "height": 25, + "width": 50, + "x": 56, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityBypassInterlocks} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + } + }, + "props": { + "align": "end", + "justify": "end", + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Yes" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "ToggleControl" + }, + "position": { + "height": 28, + "width": 110, + "x": 133, + "y": 3 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 101, + "y": 7 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt" + }, + "text": "Bypass Enabled" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "BypassEnabled" + }, + "position": { + "height": 33, + "width": 243, + "y": 66 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 182, + "y": 40 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold" + }, + "text": "Interlocks and Permissives" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasIntlkObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Inp_IntlkOK\") || \r\ntag({view.params.tagPath} + \"/Inp_NBIntlkOK\") || \r\ntag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Nav_IntlkOK\",\n\t1: \"Nav_IntlkOKBypassed\",\n\t2: \"Nav_IntlkNonBypOK\",\n\t3: \"Nav_IntlkNotOK\"\n\t}\n\t\n\tInp_IntlkOK \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_IntlkOK\"])[0].value \t\t\t#102\n\tInp_NBIntlkOK \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_NBIntlkOK\"])[0].value\t\t#103\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\t\t\t#104\n\t\n\tif (not (Inp_NBIntlkOK)) or (not (Inp_IntlkOK or Sts_BypActive)):\n\t\tindex \u003d 3\n\telif (not (Inp_IntlkOK)):\n\t\tindex \u003d 2\n\telse:\n\t\tindex \u003d Sts_BypActive\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "paddingLeft": 4, + "paddingTop": 4 + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "P_Intlk", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "P_Intlk", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}_Intlk" + }, + "viewPath": "Plant PAX/Popups/P_Intlk/P_Intlk", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "NavButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasIntlkObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GOInterlockButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "InterlocksAndPermissivesButtons" + }, + "position": { + "height": 40, + "width": 40, + "x": 295, + "y": 58.5 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "IntlkAndPerm" + }, + "position": { + "height": 105, + "width": 340, + "x": 46.5, + "y": 195 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Maintenance" + }, + "position": { + "height": 300, + "width": 392, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d 1", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 300, + "width": 353, + "x": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "y": 83 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 300, + "width": 392 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d image_path.format(states[SrcQ_IO][0])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 330, + "x": 20 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][1]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.textStyle.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][3]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][2]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "CommStatus" + }, + "position": { + "height": 20, + "width": 350, + "y": 274 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\t\n\tSrcQ_IO \u003d value\n\t\n\tif (SrcQ_IO \u003e\u003d 8):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][3]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 180.99999999999997 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold" + }, + "text": "Device Not Ready Reasons" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFaceDisabled" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_Reset_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "InactiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_Reset.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_Reset\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{view.params.userHasBasic} \u0026\u0026 {view.params.securityOperateEquipment} \u0026\u0026 tag({view.params.tagPath} + \"/ORdy_Reset\") \u0026\u0026 tag({view.params.tagPath} + \"/Sts_NotRdy\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GO_ResetButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 293.019, + "y": 1 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.parameterName})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tif (value):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 317, + "x": 21 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "parameterName": "NRdy_OoS" + }, + "meta": { + "name": "GONotRdy_OoS" + }, + "position": { + "height": 17, + "width": 340, + "x": -0.01953125, + "y": 20.99609375 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.parameterName})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tif (value):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 317, + "x": 21 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "parameterName": "NRdy_CfgErr" + }, + "meta": { + "name": "GONotRdy_CfgErr" + }, + "position": { + "height": 17, + "width": 340, + "x": -0.0195313, + "y": 40.9961 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.parameterName})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tif (value):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 317, + "x": 21 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "parameterName": "NRdy_Intlk" + }, + "meta": { + "name": "GONotRdy_Intlk" + }, + "position": { + "height": 17, + "width": 340, + "x": -0.0195313, + "y": 60.9961 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.parameterName})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tif (value):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 317, + "x": 21 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "parameterName": "NRdy_IOFault" + }, + "meta": { + "name": "GONotRdy_IOFault" + }, + "position": { + "height": 17, + "width": 340, + "x": -0.0195313, + "y": 80.996 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.parameterName})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tif (value):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 317, + "x": 21 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"CV Init Req and configured to Init to Manual\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "parameterName": "NRdy_Init" + }, + "meta": { + "name": "GONotRdy_Init" + }, + "position": { + "height": 17, + "width": 340, + "x": -0.0195313, + "y": 100.996 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "NotRdyHeader_0" + }, + "position": { + "height": 16, + "width": 334, + "x": 2.02, + "y": 140 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontStyle": "italic", + "fontWeight": "normal" + }, + "text": "* A reset is required to clear this condition" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "NotReadyReasons" + }, + "position": { + "height": 234, + "width": 340, + "x": 6 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "DiagnosticsContent" + }, + "position": { + "height": 295, + "width": 350, + "x": 40.9936, + "y": 0.00000190735 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Diagnostics" + }, + "position": { + "height": 300, + "width": 392, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d 2", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 300, + "width": 353, + "x": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "y": 123 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 300, + "width": 392 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ResetAckAll" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_AlmAckAllReset_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "DisabledAckResetButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 300 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ResetAckAll" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_AlmAckAllReset.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_ResetAckAll\", 1)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveAckResetButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 300 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/ORdy_ResetAckAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tORdy_ResetAckAll \u003d value\n\tVal_UnackAlmC \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_UnackAlmC\"])[0].value\n\t\n\tif (self.view.params.userHasBasic) and (ORdy_ResetAckAll):\n\t\tret_value \u003d True \n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "GO_AlarmDisplay_Fail" + }, + "position": { + "height": 34, + "width": 291 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "alarmName": "Fail" + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Alarm Objects/GO_AlarmDisplay" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_AlarmDisplay_IntlkTrip" + }, + "position": { + "height": 34, + "width": 291, + "y": 37 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "alarmName": "IntlkTrip" + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Alarm Objects/GO_AlarmDisplay" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_AlarmDisplay_HiHiDev" + }, + "position": { + "height": 34, + "width": 291, + "y": 74 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "alarmName": "HiHiDev" + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Alarm Objects/GO_AlarmDisplay" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_AlarmDisplay_HiDev" + }, + "position": { + "height": 34, + "width": 291, + "y": 111 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "alarmName": "HiDev" + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Alarm Objects/GO_AlarmDisplay" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_AlarmDisplay_LoDev" + }, + "position": { + "height": 34, + "width": 291, + "y": 148 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "alarmName": "LoDev" + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Alarm Objects/GO_AlarmDisplay" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_AlarmDisplay_LoLoDev" + }, + "position": { + "height": 34, + "width": 291, + "y": 185 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "alarmName": "LoLoDev" + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Alarm Objects/GO_AlarmDisplay" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Alarms" + }, + "position": { + "height": 289, + "width": 291 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "AlarmContent" + }, + "position": { + "height": 290, + "width": 340, + "x": 43, + "y": 5 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Alarm" + }, + "position": { + "height": 300, + "width": 392, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d 3", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 300, + "width": 353, + "x": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "y": 253 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 300, + "width": 392 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 108, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "caption": "P_PIDE", + "label": "Popup Name:" + }, + "meta": { + "name": "PopupID" + }, + "position": { + "height": 18, + "width": 255, + "x": 125, + "y": 206 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 108, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "PlantPAX Version:" + }, + "meta": { + "name": "PlantPAX Version" + }, + "position": { + "height": 18, + "width": 255, + "x": 125, + "y": 229 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/version\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 108, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "UDT Version:" + }, + "meta": { + "name": "UDTVersion" + }, + "position": { + "height": 18, + "width": 255, + "x": 125, + "y": 252 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Prime Version\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 108, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "Popup Version:" + }, + "meta": { + "name": "PopupVersion" + }, + "position": { + "height": 18, + "width": 255, + "x": 125, + "y": 275 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "path": "view.custom.popupVersion" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Version" + }, + "position": { + "height": 300, + "width": 392, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d -1", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "AlarmPolygon" + }, + "position": { + "height": 39, + "width": 39, + "y": 117 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\tret_value \u003d ret_value and (self.view.params.selectedTab !\u003d 3)\t# Show it only if active tab different than alarm tab \n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d value\n\t\n\tcolors \u003d [\"\",\n\t\"#FFFFFF\",\n\t\"#916AAD\",\n\t\"#916AAD\",\n\t\"#F5DF1B\",\n\t\"#F5DF1B\",\n\t\"#EC8729\",\n\t\"#EC8729\",\n\t\"#E22028\",\n\t\"#E22028\",\n\t\"\"]\n\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d colors[Val_NotifyAll]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "borderBottomStyle": "solid", + "borderBottomWidth": 2, + "borderLeftStyle": "solid", + "borderLeftWidth": 2, + "borderRightStyle": "none", + "borderTopStyle": "solid", + "borderTopWidth": 2 + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonHome" + }, + "position": { + "height": 35, + "width": 35, + "x": 2 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Home.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 1" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonMaintenance" + }, + "position": { + "height": 35, + "width": 35, + "x": 2, + "y": 40 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Maint.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 2" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonDiagnostics" + }, + "position": { + "height": 35, + "width": 35, + "x": 2, + "y": 80 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Diag.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 3" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonAlarm" + }, + "position": { + "height": 35, + "width": 35, + "x": 2, + "y": 120 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Alm.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tblock_label \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_Label\"])[0].value\n\t\t\n\ttitle \u003d \"{0} - {1}\".format(block_label, \"PID Trend\")\n\t\n\tparams \u003d {\n\t\"tagPath\": self.view.params.tagPath,\n\t}\n\t\n\tsystem.perspective.openPopup(title,\u0027Plant PAX/Popups/00_Trend_Popups/Process_PIDE\u0027, params, title, showCloseIcon \u003d True, resizable \u003d False)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonTrend" + }, + "position": { + "height": 32, + "width": 32, + "x": 2, + "y": 210 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Trend.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d -1" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonHelp" + }, + "position": { + "height": 32, + "rotate": { + "angle": "180deg" + }, + "width": 32, + "x": 2, + "y": 250 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Faults.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 23, + "y": 37 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_CVEU\") || tag({view.params.tagPath} + \"/Err_CVRaw\") || tag({view.params.tagPath} + \"/Err_CVLim\") || tag({view.params.tagPath} + \"/Err_ZCDB\") ||\r\ntag({view.params.tagPath} + \"/Err_PVEU\") || tag({view.params.tagPath} + \"/Err_RatioLim\") || tag({view.params.tagPath} + \"/Err_SPLim\") || tag({view.params.tagPath} + \"/Err_Timer\")" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_BadConfigAlarm" + }, + "position": { + "height": 16, + "width": 16, + "x": 23, + "y": 118 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Err_Alarm\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_MaintBypass" + }, + "position": { + "height": 16, + "width": 16, + "y": 37 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Bypass\")" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_MaintByp.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_NotReady" + }, + "position": { + "height": 16, + "width": 16, + "y": "102px" + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_NotRdy\")" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_NotReady.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ImageAlarmInh" + }, + "position": { + "height": 16, + "width": 16, + "y": "118px" + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_AlmInh\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Alm_Inhibit.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupTabButtons" + }, + "position": { + "height": 287, + "width": 39, + "x": 3, + "y": 5 + }, + "type": "ia.container.coord" + } + ], + "events": { + "system": { + "onStartup": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "propConfig": { + "custom.cmdSrcTitle": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_Tag\") + \" - \" + tag({view.params.tagPath}+\"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_PIDE/P_PIDE_Advanced/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_PIDE/P_PIDE_Advanced/resource.json new file mode 100644 index 0000000..dd473ae --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_PIDE/P_PIDE_Advanced/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "1a10fd0f4f3b352101bb479c7196494c08c8f4facad4718a8fd6c55ed729deac", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_PIDE/P_PIDE_Advanced/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_PIDE/P_PIDE_Advanced/thumbnail.png new file mode 100644 index 0000000..6729f80 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_PIDE/P_PIDE_Advanced/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_PIDE/P_PIDE_Advanced/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_PIDE/P_PIDE_Advanced/view.json new file mode 100644 index 0000000..24c78c5 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_PIDE/P_PIDE_Advanced/view.json @@ -0,0 +1,27161 @@ +{ + "custom": { + "popupVersion": " 1.0 " + }, + "params": { + "securityDeviceConfigBehavior": true, + "securityDeviceConfigHMI": true, + "securityDeviceConfigLimits": true, + "securityDeviceConfigTimers": true, + "securityDeviceConfigTuning": true, + "securityEnableSimulation": true, + "securityEnterOperSettings": true, + "securityOperateEquipment": true, + "securityOverrideInputs": true, + "selectedTab": 0, + "tagPath": "[default]Test_Tags/Flow_PID", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "custom.popupVersion": { + "persistent": true + }, + "params.securityDeviceConfigBehavior": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigBehavior\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityDeviceConfigHMI": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigHMI\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityDeviceConfigLimits": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigLimits\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityDeviceConfigTimers": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigTimers\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityDeviceConfigTuning": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigTuning\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityEnableSimulation": { + "binding": { + "config": { + "expression": "\"securityEnableSimulation\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityEnterOperSettings": { + "binding": { + "config": { + "expression": "\"securityEnterOperSettings\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityOperateEquipment": { + "binding": { + "config": { + "expression": "\"securityOperateEquipment\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityOverrideInputs": { + "binding": { + "config": { + "expression": "\"securityOverrideInputs\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.selectedTab": { + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 442, + "width": 350 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Tab1" + }, + "position": { + "height": 39, + "width": 37 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab2" + }, + "position": { + "height": 39, + "width": 37, + "x": 40 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab3" + }, + "position": { + "height": 39, + "width": 37, + "x": 80 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab4" + }, + "position": { + "height": 39, + "width": 37, + "x": 120 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab5" + }, + "position": { + "height": 39, + "width": 37, + "x": 161 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "InactiveTabs" + }, + "position": { + "height": 39, + "width": 206, + "x": 4, + "y": 4 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 403, + "width": 350, + "y": 42 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab" + }, + "position": { + "height": 39, + "width": 40, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 442, + "width": 350 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "custom": { + "historyTags": [ + { + "aggregate": "Average", + "alias": "SP" + }, + { + "aggregate": "Average", + "alias": "PV" + }, + { + "aggregate": "Average", + "alias": "CV" + } + ] + }, + "meta": { + "name": "TimeSeriesChart" + }, + "position": { + "height": 225, + "width": 345 + }, + "propConfig": { + "custom.historyTags[0].path": { + "binding": { + "config": { + "expression": "{view.params.tagPath} + \"/Val_SPPercent\"" + }, + "type": "expr" + } + }, + "custom.historyTags[1].path": { + "binding": { + "config": { + "expression": "{view.params.tagPath} + \"/Val_PVPercent\"" + }, + "type": "expr" + } + }, + "custom.historyTags[2].path": { + "binding": { + "config": { + "expression": "{view.params.tagPath} + \"/Val_CVPercent\"" + }, + "type": "expr" + } + }, + "props.series[0].data": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "5", + "mostRecentUnits": "MIN" + }, + "enableValueCache": true, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "4" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "100", + "type": "FIXED" + }, + "tags": "{this.custom.historyTags}", + "valueFormat": "DATASET" + }, + "type": "tag-history" + } + } + }, + "props": { + "enablePanZoom": false, + "plots": [ + { + "axes": [ + { + "alignment": "left", + "label": { + "font": { + "color": "", + "size": 10 + }, + "offset": 0, + "style": { + "classes": "" + }, + "text": "", + "visible": true + }, + "max": 100, + "min": 0, + "name": "yAxis", + "style": { + "classes": "" + }, + "tick": { + "color": "", + "count": 5, + "label": { + "font": { + "color": "", + "size": 10 + }, + "format": "Auto", + "style": { + "classes": "" + } + }, + "style": { + "classes": "" + } + }, + "width": 0 + } + ], + "markers": [ + { + "axis": "yAxis", + "line": { + "color": "", + "dashArray": 0, + "label": { + "font": { + "color": "", + "size": 10 + }, + "position": "right", + "style": { + "classes": "" + }, + "text": "" + }, + "opacity": 0.5, + "style": { + "classes": "" + }, + "width": 1 + }, + "type": "line", + "value": 0, + "visible": true + }, + { + "axis": "yAxis", + "line": { + "color": "", + "dashArray": 0, + "label": { + "font": { + "color": "", + "size": 10 + }, + "position": "right", + "style": { + "classes": "" + }, + "text": "" + }, + "opacity": 0.5, + "style": { + "classes": "" + }, + "width": 1 + }, + "type": "line", + "value": 25, + "visible": true + }, + { + "axis": "yAxis", + "line": { + "color": "", + "dashArray": 0, + "label": { + "font": { + "color": "", + "size": 10 + }, + "position": "right", + "style": { + "classes": "" + }, + "text": "" + }, + "opacity": 0.5, + "style": { + "classes": "" + }, + "width": 1 + }, + "type": "line", + "value": 50, + "visible": true + }, + { + "axis": "yAxis", + "line": { + "color": "", + "dashArray": 0, + "label": { + "font": { + "color": "", + "size": 10 + }, + "position": "right", + "style": { + "classes": "" + }, + "text": "" + }, + "opacity": 0.5, + "style": { + "classes": "" + }, + "width": 1 + }, + "type": "line", + "value": 75, + "visible": true + }, + { + "axis": "yAxis", + "line": { + "color": "", + "dashArray": 0, + "label": { + "font": { + "color": "", + "size": 10 + }, + "position": "right", + "style": { + "classes": "" + }, + "text": "" + }, + "opacity": 0.5, + "style": { + "classes": "" + }, + "width": 1 + }, + "type": "line", + "value": 100, + "visible": true + } + ], + "trends": [ + { + "axis": "yAxis", + "baselines": [], + "breakLine": true, + "columns": [ + { + "color": "", + "key": "t_stamp", + "styles": { + "highlighted": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": null + } + }, + "muted": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": null + } + }, + "normal": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": null + } + }, + "selected": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": null + } + } + } + }, + { + "color": "#93C2E4", + "key": "SP", + "styles": { + "highlighted": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": null + } + }, + "muted": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": null + } + }, + "normal": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": 2 + } + }, + "selected": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": null + } + } + } + }, + { + "color": "#475CA7", + "key": "PV", + "styles": { + "highlighted": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": null + } + }, + "muted": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": null + } + }, + "normal": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": 2 + } + }, + "selected": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": null + } + } + } + }, + { + "color": "#55555A", + "key": "CV", + "styles": { + "highlighted": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": null + } + }, + "muted": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": null + } + }, + "normal": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": 2 + } + }, + "selected": { + "fill": { + "color": "", + "opacity": null + }, + "stroke": { + "color": "", + "dashArray": null, + "opacity": null, + "width": null + } + } + } + } + ], + "interpolation": "curveLinear", + "radius": 2, + "series": "Trend", + "stack": true, + "type": "line", + "visible": true + } + ] + } + ], + "series": [ + { + "name": "Trend" + } + ], + "timeAxis": { + "height": 15 + }, + "timeRange": { + "visible": false + }, + "xTrace": { + "visible": false + } + }, + "type": "ia.chart.timeseries" + } + ], + "meta": { + "name": "TrendGroup" + }, + "position": { + "height": 225, + "width": 345, + "x": 2.5, + "y": 46 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "PVLegendPolygon" + }, + "position": { + "height": 8, + "width": 16, + "x": 4, + "y": 4 + }, + "props": { + "style": { + "backgroundColor": "#2A4191" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 29, + "x": 19 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "bold", + "textAlign": "center" + }, + "text": "PV" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "godsData_Value", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 16, + "width": 66 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Val_PV\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tCfg_PVDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_PVDecPlcs\"] )[0].value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/Val_PV\"), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#475CA7", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "11pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "godsData_EU", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 16, + "width": 66, + "x": 66 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Cfg_PVEU\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#919191", + "fontWeight": "normal", + "outlineStyle": "none", + "paddingLeft": 5, + "textAlign": "left" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "8pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "ndd_Val_PV" + }, + "position": { + "height": 16, + "width": 132, + "x": 46 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "godsData_Value", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 16, + "width": 66 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Val_PVPercent\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tCfg_PVDecPlcs \u003d 2#system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_PVDecPlcs\"] )[0].value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/Val_PVPercent\"), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#475CA7", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "11pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "godsData_EU", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 16, + "width": 66, + "x": 66 + }, + "props": { + "style": { + "color": "#919191", + "fontWeight": "normal", + "outlineStyle": "none", + "paddingLeft": 5, + "textAlign": "left" + }, + "text": "% of span", + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "8pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "ndd_Val_PVPercent" + }, + "position": { + "height": 16, + "width": 132, + "x": 197 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GroupPV" + }, + "position": { + "height": 16, + "width": 330, + "y": 2 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "SPLegendPolygon" + }, + "position": { + "height": 8, + "width": 16, + "x": 4, + "y": 4 + }, + "props": { + "style": { + "backgroundColor": "#93C2E4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 29, + "x": 19 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "bold", + "textAlign": "center" + }, + "text": "SP" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "godsData_Value", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 16, + "width": 66 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Val_SP\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tCfg_PVDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_PVDecPlcs\"] )[0].value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/Val_SP\"), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#475CA7", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "11pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "godsData_EU", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 16, + "width": 66, + "x": 66 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Cfg_PVEU\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#919191", + "fontWeight": "normal", + "outlineStyle": "none", + "paddingLeft": 5, + "textAlign": "left" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "8pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "ndd_Val_SP" + }, + "position": { + "height": 16, + "width": 132, + "x": 46 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "godsData_Value", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 16, + "width": 66 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Val_SPPercent\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tCfg_PVDecPlcs \u003d 2#system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_PVDecPlcs\"] )[0].value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/Val_SPPercent\"), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#475CA7", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "11pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "godsData_EU", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 16, + "width": 66, + "x": 66 + }, + "props": { + "style": { + "color": "#919191", + "fontWeight": "normal", + "outlineStyle": "none", + "paddingLeft": 5, + "textAlign": "left" + }, + "text": "%", + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "8pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "ndd_Val_SPPercent" + }, + "position": { + "height": 16, + "width": 132, + "x": 197 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "NumericInput" + }, + "position": { + "height": 20, + "width": 66, + "x": 151, + "y": -2 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityEnterOperSettings} \u0026\u0026 {view.params.userHasBasic} \u0026\u0026 tag({view.params.tagPath} + \"/ORdy_SP\")" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PVDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_MaxSP\")" + }, + "type": "expr" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_MinSP\")" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/OSet_SP\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "GroupSP" + }, + "position": { + "height": 16, + "width": 330, + "y": 24 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "CVLegendPolygon" + }, + "position": { + "height": 8, + "width": 16, + "x": 4, + "y": 4 + }, + "props": { + "style": { + "backgroundColor": "#55555A" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 29, + "x": 19 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "bold", + "textAlign": "center" + }, + "text": "CV" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "godsData_Value", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 16, + "width": 66 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Val_CVOut\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tCfg_PVDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CVDecPlcs\"] )[0].value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/Val_CVOut\"), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#475CA7", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "11pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "godsData_EU", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 16, + "width": 66, + "x": 66 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Cfg_CVEU\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#919191", + "fontWeight": "normal", + "outlineStyle": "none", + "paddingLeft": 5, + "textAlign": "left" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "8pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "ndd_Val_CVOut" + }, + "position": { + "height": 16, + "width": 132, + "x": 46 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "godsData_Value", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 16, + "width": 66 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Val_CVPercent\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tCfg_PVDecPlcs \u003d 2#system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_PVDecPlcs\"] )[0].value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/Val_CVPercent\"), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#475CA7", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "11pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "godsData_EU", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 16, + "width": 66, + "x": 66 + }, + "props": { + "style": { + "color": "#919191", + "fontWeight": "normal", + "outlineStyle": "none", + "paddingLeft": 5, + "textAlign": "left" + }, + "text": "%", + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "8pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "ndd_Val_SPPercent" + }, + "position": { + "height": 16, + "width": 132, + "x": 197 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "NumericInput" + }, + "position": { + "height": 20, + "width": 66, + "x": 151, + "y": -2 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityEnterOperSettings} \u0026\u0026 {view.params.userHasBasic} \u0026\u0026 tag({view.params.tagPath} + \"/ORdy_CV\")" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CVDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_LimitManCV\"), tag({view.params.tagPath} + \"/Cfg_MaxCV\"), tag({view.params.tagPath} + \"/Cfg_CVEUMax\"))" + }, + "type": "expr" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_LimitManCV\"), tag({view.params.tagPath} + \"/Cfg_MinCV\"), tag({view.params.tagPath} + \"/Cfg_CVEUMin\"))" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/OSet_CV\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "GroupCV" + }, + "position": { + "height": 16, + "width": 330, + "y": 46 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Group_PV_SP_CV" + }, + "position": { + "height": 68, + "width": 343, + "y": 268 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "SeparatorLine" + }, + "position": { + "height": 2, + "width": 280, + "y": 8 + }, + "props": { + "style": { + "borderColor": "#E0E0E0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 43, + "x": 3 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "bold", + "textAlign": "left" + }, + "text": "Gains" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 70, + "width": 24 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_PID.png" + }, + "type": "ia.display.image" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 69, + "y": 2 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Proportional" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericInput" + }, + "position": { + "height": 20, + "width": 66, + "x": 75 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigTuning} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "4//tag({view.params.tagPath} + \"/Cfg_CVDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_PGain\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": 0 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "nde_Cfg_PGain" + }, + "position": { + "height": 20, + "width": 230, + "x": 26, + "y": 3.01 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 69, + "y": 2 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Integral" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericInput" + }, + "position": { + "height": 20, + "width": 66, + "x": 75 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigTuning} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "4//tag({view.params.tagPath} + \"/Cfg_CVDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_IGain\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": 0 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Units" + }, + "position": { + "height": 16, + "width": 69, + "x": 145.00852584838867, + "y": 2 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_Depend\"), \"Mins./Repeat\", \"1/Minutes \")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "nde_Cfg_IGain" + }, + "position": { + "height": 20, + "width": 230, + "x": 26, + "y": 25 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 69, + "y": 2 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Derivative" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericInput" + }, + "position": { + "height": 20, + "width": 66, + "x": 75 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigTuning} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "4//tag({view.params.tagPath} + \"/Cfg_CVDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_DGain\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": 0 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Units" + }, + "position": { + "height": 16, + "width": 69, + "x": 145.00852584838867, + "y": 2 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Minutes" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "nde_Cfg_DGain" + }, + "position": { + "height": 20, + "width": 230, + "x": 26, + "y": 47 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GainEntries" + }, + "position": { + "height": 70, + "width": 260, + "x": 3, + "y": 18.0029 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GroupGains" + }, + "position": { + "height": 90, + "width": 280, + "y": 343 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFaceDisabled" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_ModeCas_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "InactiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_ModeCas.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_Casc\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{view.params.userHasBasic} \u0026\u0026 {view.params.securityOperateEquipment} \u0026\u0026 tag({view.params.tagPath} + \"/ORdy_Casc\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GO_LoopModeCascadeButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_HasCasc\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFaceDisabled" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_ModeAuto_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "InactiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_ModeAuto.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_Auto\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{view.params.userHasBasic} \u0026\u0026 {view.params.securityOperateEquipment} \u0026\u0026 tag({view.params.tagPath} + \"/ORdy_Auto\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GO_LoopModeAutoButton" + }, + "position": { + "height": 40, + "width": 40, + "y": 45 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFaceDisabled" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_ModeMan_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "InactiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_ModeMan.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_Man\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{view.params.userHasBasic} \u0026\u0026 {view.params.securityOperateEquipment} \u0026\u0026 tag({view.params.tagPath} + \"/ORdy_Man\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GO_LoopModeManualButton" + }, + "position": { + "height": 40, + "width": 40, + "y": 90 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GroupLoopModeButtons" + }, + "position": { + "height": 140, + "width": 40, + "x": 303.003, + "y": 298 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Tunning" + }, + "position": { + "height": 442, + "width": 350, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 0)", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 403, + "width": 350, + "y": 42 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab" + }, + "position": { + "height": 39, + "width": 40, + "x": 39, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 442, + "width": 350 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "LineHor15" + }, + "position": { + "height": 1, + "width": 17.060000000000002, + "x": 249.5, + "y": 61.51 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineVer6" + }, + "position": { + "height": 70, + "width": -1, + "x": 277.01, + "y": 15.51 + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px", + "borderRightStyle": "none", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor16" + }, + "position": { + "height": 1, + "width": 28, + "x": 249.74, + "y": 14.51 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasExt\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor2" + }, + "position": { + "height": -6, + "width": 35.999999999999986, + "x": 102.01, + "y": 152.5 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor0" + }, + "position": { + "height": 1, + "width": 14, + "x": 291.01, + "y": 50.5 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineVer0" + }, + "position": { + "height": 256, + "width": 0, + "x": 304.01, + "y": 51.5 + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px", + "borderRightStyle": "none", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineVer1" + }, + "position": { + "height": 30, + "width": 0, + "x": 102.01, + "y": 138 + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px", + "borderRightStyle": "none", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor3" + }, + "position": { + "height": 1, + "width": 36, + "x": 67.0104, + "y": 137.5 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor4" + }, + "position": { + "height": 1, + "width": 36, + "x": 67.0104, + "y": 167.5 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineVer2" + }, + "position": { + "height": 170, + "width": -1, + "x": 137.01, + "y": 49.5 + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px", + "borderRightStyle": "none", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor5" + }, + "position": { + "height": 1, + "width": 18, + "x": 119.01, + "y": 49.5 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor8" + }, + "position": { + "height": -9, + "width": 210, + "x": 90.01, + "y": 223.51 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor10" + }, + "position": { + "height": 1, + "width": 70, + "x": 227.01, + "y": 277.5 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 18, + "width": 16, + "x": 160, + "y": 7.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "!(tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasMaint\") \u0026\u0026 (tag({view.params.tagPath} + \"/Sts_Maint\") || (!tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasOper\") \u0026\u0026 !tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasOperLocked\"))))" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_CmdSrcOper.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_0" + }, + "position": { + "height": 17, + "width": 16, + "x": 160, + "y": 7.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "(tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasMaint\") \u0026\u0026 (tag({view.params.tagPath} + \"/Sts_Maint\") || (!tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasOper\") \u0026\u0026 !tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasOperLocked\"))))" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_CmdSrcMaint.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_1" + }, + "position": { + "height": 18, + "width": 16, + "x": 159.01, + "y": 30.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasExt\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_CmdSrcExt.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_2" + }, + "position": { + "height": 18, + "width": 16, + "x": 159.01, + "y": 54.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_CmdSrcProgram.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_3" + }, + "position": { + "height": 18, + "width": 16, + "x": 159.01, + "y": 78.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_CmdSrcOvrd.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_8" + }, + "position": { + "height": 21, + "width": 21, + "x": 127.00999999999999, + "y": 212.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_Multiplier.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_10" + }, + "position": { + "height": 21, + "width": 33, + "x": 121.01, + "y": 143.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_HiLoLimiter.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_12" + }, + "position": { + "height": 18, + "width": 16, + "x": 6, + "y": 7.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "!(tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasMaint\") \u0026\u0026 (tag({view.params.tagPath} + \"/Sts_Maint\") || (!tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasOper\") \u0026\u0026 !tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasOperLocked\"))))" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_CmdSrcOper.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_13" + }, + "position": { + "height": 17, + "width": 16, + "x": 5.00567626953125, + "y": 31.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasExt\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_CmdSrcExt.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_14" + }, + "position": { + "height": 18, + "width": 16, + "x": 5.00567626953125, + "y": 55.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_CmdSrcProgram.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_15" + }, + "position": { + "height": 18, + "width": 16, + "x": 5.00567626953125, + "y": 78.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_CmdSrcOvrd.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "LineHor17" + }, + "position": { + "height": 1, + "width": 28, + "x": 249.5, + "y": 84.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasExt\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor18" + }, + "position": { + "height": 0, + "width": 17.060000000000002, + "x": 249.5, + "y": 37.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasExt\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor19" + }, + "position": { + "height": 1, + "rotate": { + "angle": "45deg" + }, + "width": 15, + "x": 263.5, + "y": 42.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasExt\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor20" + }, + "position": { + "height": 1, + "rotate": { + "angle": "-45deg" + }, + "width": 15, + "x": 263.5, + "y": 56.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasExt\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image_6" + }, + "position": { + "height": 27, + "width": 27, + "x": 264.01, + "y": 36.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_Transfer.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "LineHor21" + }, + "position": { + "height": 1, + "width": 22, + "x": 93.5, + "y": 84.51 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasExt\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor22" + }, + "position": { + "height": 1, + "width": 10, + "x": 93.5, + "y": 61.51 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor23" + }, + "position": { + "height": 1, + "rotate": { + "angle": "-45deg" + }, + "width": 15, + "x": 101.5, + "y": 56.5078 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasExt\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor24" + }, + "position": { + "height": 1, + "width": 10, + "x": 93.5, + "y": 37.51 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasExt\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor25" + }, + "position": { + "height": 1, + "rotate": { + "angle": "45deg" + }, + "width": 15, + "x": 101.5, + "y": 42.5078 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasExt\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineVer9" + }, + "position": { + "height": 70, + "width": 1, + "x": 114.5, + "y": 15.5078 + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px", + "borderRightStyle": "none", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor26" + }, + "position": { + "height": 0, + "width": 21, + "x": 94.5, + "y": 14.51 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasExt\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image_16" + }, + "position": { + "height": 27, + "width": 27, + "x": 101.5, + "y": 36.5078 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_Transfer.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_17" + }, + "position": { + "height": 27, + "width": 27, + "x": 290.5, + "y": 210.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_Transfer.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_18" + }, + "position": { + "height": 21, + "width": 21, + "x": 293.5, + "y": 267.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_ProgramTransfer.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_19" + }, + "position": { + "height": 18, + "width": 15, + "x": 289.512, + "y": 27.5024 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Oper\") ||\r\ntag({view.params.tagPath} + \"/Sts_Ext\") ||\r\ntag({view.params.tagPath} + \"/Sts_Prog\") ||\r\ntag({view.params.tagPath} + \"/Sts_Ovrd\") ||\r\ntag({view.params.tagPath} + \"/Sts_Maint\") ||\r\ntag({view.params.tagPath} + \"/Cfg_ExtKeep\") ||\r\ntag({view.params.tagPath} + \"/Cfg_ProgKeep\") ||\r\ntag({view.params.tagPath} + \"/Cfg_OperKeep\")\r\n" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d -1\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Sts_CmdSrcOper\",\n\t1: \"Sts_CmdSrcProgram\",\n\t2: \"Sts_CmdSrcOvrd\",\n\t3: \"Sts_CmdSrcMaint\",\n\t4: \"Sts_CmdSrcExt\",\n\t}\n\t\n\tSts_Oper \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Oper\"])[0].value\n\tSts_Ext \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Ext\"])[0].value\n\tSts_Prog \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Prog\"])[0].value\n\tSts_Ovrd \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Ovrd\"])[0].value\n\tSts_Maint \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Maint\"])[0].value\n\tCfg_ExtKeep1 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_ExtKeep\"])[0].value \u0026 2**1) \u003d\u003d 2**1\n\tCfg_ProgKeep1 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_ProgKeep\"])[0].value \u0026 2**1) \u003d\u003d 2**1\n\tCfg_OperKeep1 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_OperKeep\"])[0].value \u0026 2**1) \u003d\u003d 2**1\n\t\n\tif (Sts_Ovrd): \n\t\tindex \u003d 2\n\telif (Sts_Maint):\n\t\tindex \u003d 3\n\telif (Cfg_ExtKeep1 and (Sts_Prog or Sts_Oper)) or (Sts_Ext and not(Cfg_ProgKeep1) and not(Cfg_OperKeep1)):\n\t\tindex \u003d 4\n\telif (Cfg_ProgKeep1 and (Sts_Oper or Sts_Ext)) or (Sts_Prog and not(Cfg_ExtKeep1) and not(Cfg_OperKeep1)):\n\t\tindex \u003d 1\n\telse: \n\t\tindex \u003d 0\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_4" + }, + "position": { + "height": 17, + "width": 16, + "x": 6, + "y": 7.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "(tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasMaint\") \u0026\u0026 (tag({view.params.tagPath} + \"/Sts_Maint\") || (!tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasOper\") \u0026\u0026 !tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasOperLocked\"))))" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_CmdSrcMaint.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "LinesAndImages" + }, + "position": { + "height": 329, + "width": 341, + "x": 1, + "y": 2.5 + }, + "type": "ia.container.coord" + }, + { + "custom": { + "parameter": "Inp_OvrdRatio" + }, + "meta": { + "name": "OvrdCV" + }, + "position": { + "height": 20, + "width": 70, + "x": 25.009, + "y": 79 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/\" + {this.custom.parameter})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tDecPlcs \u003d 2#system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_DecPlcs\"] )[0].value\n\t\n\tif (DecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/\" + {this.custom.parameter}), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#475CA7", + "fontSize": "10pt", + "paddingRight": "3px", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameter": "PSet_Ratio" + }, + "meta": { + "name": "PSet_Ratio" + }, + "position": { + "height": 20, + "width": 70, + "x": 25.009, + "y": 55 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/\" + {this.custom.parameter})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tDecPlcs \u003d 2#system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_DecPlcs\"] )[0].value\n\t\n\tif (DecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/\" + {this.custom.parameter}), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#475CA7", + "fontSize": "10pt", + "paddingRight": "3px", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameter": "XSet_Ratio" + }, + "meta": { + "name": "XSet_Ratio" + }, + "position": { + "height": 20, + "width": 70, + "x": 25, + "y": 31 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasExt\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/\" + {this.custom.parameter})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tDecPlcs \u003d 2#system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_DecPlcs\"] )[0].value\n\t\n\tif (DecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/\" + {this.custom.parameter}), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#475CA7", + "fontSize": "10pt", + "paddingRight": "3px", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "GO_OSet_Ratio" + }, + "position": { + "height": 20, + "width": 70, + "x": 25, + "y": 8 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityEnterOperSettings} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "2//tag({view.params.tagPath} + \"/Cfg_DecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_MaxRatio\")" + }, + "type": "expr" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_MinRatio\")" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/OSet_Ratio\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "10pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Ratio" + }, + "position": { + "height": 15.000000000000002, + "width": 62.999999999999986, + "x": 99.51, + "y": 10.01 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "center" + }, + "text": "Ratio" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "RatioLimits" + }, + "position": { + "height": 16, + "width": 89, + "x": 15.5, + "y": 114 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "center" + }, + "text": "Ratio Limits" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "ErrOutline" + }, + "position": { + "height": 55, + "width": 73, + "x": 1, + "y": 2.5 + }, + "props": { + "style": { + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "2px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 71, + "y": 1.5 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "ndeErr_1" + }, + "position": { + "height": 61, + "width": 89, + "x": 23, + "y": 125 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_RatioLim\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "nde_RatioHiLim" + }, + "position": { + "height": 20, + "width": 70, + "x": 25, + "y": 132 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigLimits} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "2//tag({view.params.tagPath} + \"/Cfg_DecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_MinRatio\")" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_MaxRatio\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "nde_RatioLoLim" + }, + "position": { + "height": 20, + "width": 70, + "x": 25, + "y": 158 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigLimits} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "2//tag({view.params.tagPath} + \"/Cfg_DecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_MaxRatio\")" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_MinRatio\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "minimum": 0 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "custom": { + "parameter": "Inp_CascSP" + }, + "meta": { + "name": "ndd_Inp_CascSP" + }, + "position": { + "height": 20, + "width": 70, + "x": 25, + "y": 217 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/\" + {this.custom.parameter})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_PVDecPlcs\"] )[0].value\n\t\n\tif (DecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/\" + {this.custom.parameter}), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#475CA7", + "fontSize": "10pt", + "paddingRight": "3px", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "SPCascade" + }, + "position": { + "height": 16, + "width": 89, + "x": 15.508523941040039, + "y": 197.00568389892578 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "center" + }, + "text": "SP Cascade" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "RatioClamped" + }, + "position": { + "height": 17, + "width": 17, + "x": 158, + "y": 148 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_RatioClamped\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_Clamped.png" + }, + "type": "ia.display.image" + }, + { + "custom": { + "parameter": "Val_Ratio" + }, + "meta": { + "name": "ndd_Ratio" + }, + "position": { + "height": 20, + "width": 70, + "x": 103.50852394104004, + "y": 182.00568389892578 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/\" + {this.custom.parameter})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tDecPlcs \u003d 2#system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_DecPlcs\"] )[0].value\n\t\n\tif (DecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/\" + {this.custom.parameter}), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#475CA7", + "fontSize": "10pt", + "paddingRight": "3px", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameter": "Val_Ratio" + }, + "meta": { + "name": "ndd_CascSPxRatio" + }, + "position": { + "height": 20, + "width": 70, + "x": 181, + "y": 217 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Val_Ratio\") * tag({view.params.tagPath}+ \"/Inp_CascSP\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_PVDecPlcs\"] )[0].value\n\t\n\tif (DecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/Val_Ratio\") * tag({view.params.tagPath}+ \"/Inp_CascSP\"), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#475CA7", + "fontSize": "10pt", + "paddingRight": "3px", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameter": "Inp_OvrdSP" + }, + "meta": { + "name": "Inp_OvrdSP" + }, + "position": { + "height": 20, + "width": 70, + "x": 180.99999809265137, + "y": 78.99716186523438 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/\" + {this.custom.parameter})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_PVDecPlcs\"] )[0].value\n\t\n\tif (DecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/\" + {this.custom.parameter}), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#475CA7", + "fontSize": "10pt", + "paddingRight": "3px", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameter": "PSet_SP" + }, + "meta": { + "name": "PSet_SP" + }, + "position": { + "height": 20, + "width": 70, + "x": 180.99999809265137, + "y": 54.997161865234375 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/\" + {this.custom.parameter})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_PVDecPlcs\"] )[0].value\n\t\n\tif (DecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/\" + {this.custom.parameter}), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#475CA7", + "fontSize": "10pt", + "paddingRight": "3px", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameter": "XSet_SP" + }, + "meta": { + "name": "XSet_SP" + }, + "position": { + "height": 20, + "width": 70, + "x": 180.99999809265137, + "y": 30.997161865234375 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasExt\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/\" + {this.custom.parameter})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_PVDecPlcs\"] )[0].value\n\t\n\tif (DecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/\" + {this.custom.parameter}), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#475CA7", + "fontSize": "10pt", + "paddingRight": "3px", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "GO_OSet_SP" + }, + "position": { + "height": 20, + "width": 70, + "x": 180.99999809265137, + "y": 7.997161865234375 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityEnterOperSettings} \u0026\u0026 {view.params.userHasBasic} \u0026\u0026 tag({view.params.tagPath} + \"/ORdy_SP\")" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PVDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_MaxSP\")" + }, + "type": "expr" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_MinSP\")" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/OSet_SP\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "10pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "SP" + }, + "position": { + "height": 15, + "width": 64, + "x": 254.99999809265137, + "y": 9.997161865234375 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "center" + }, + "text": "SP" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "PV" + }, + "position": { + "height": 15, + "width": 89, + "x": 171.5, + "y": 251.003 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "center" + }, + "text": "PV" + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameter": "Val_PV" + }, + "meta": { + "name": "ndd_Val_PV" + }, + "position": { + "height": 20, + "width": 70, + "x": 181, + "y": 271.003 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/\" + {this.custom.parameter})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_PVDecPlcs\"] )[0].value\n\t\n\tif (DecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/\" + {this.custom.parameter}), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#475CA7", + "fontSize": "10pt", + "paddingRight": "3px", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "PV_0" + }, + "position": { + "height": 15, + "width": 180, + "x": 86.49, + "y": 307.99 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "right" + }, + "text": "SP before ramping and clamping" + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameter": "Val_SPSet" + }, + "meta": { + "name": "ndd_Val_PV_0" + }, + "position": { + "height": 20, + "width": 70, + "x": 267.486, + "y": 307.994 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/\" + {this.custom.parameter})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_PVDecPlcs\"] )[0].value\n\t\n\tif (DecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/\" + {this.custom.parameter}), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#475CA7", + "fontSize": "10pt", + "paddingRight": "3px", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "GroupDiagram" + }, + "position": { + "height": 334, + "width": 343, + "x": 1 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "PageMaintenance1" + }, + "position": { + "height": 334, + "width": 345, + "x": 2.5, + "y": 46 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{parent.custom.pageTabSelected}" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 0)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "LineHor15" + }, + "position": { + "height": 1, + "width": 25, + "x": 169.5, + "y": 262.51 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineVer6" + }, + "position": { + "height": 70, + "width": -1, + "x": 206.01, + "y": 215.51 + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px", + "borderRightStyle": "none", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor16" + }, + "position": { + "height": 1, + "width": 38, + "x": 169.01, + "y": 215.51 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasExt\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor2" + }, + "position": { + "height": -6, + "width": 35.999999999999986, + "x": 262.01, + "y": 72.5 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineVer0" + }, + "position": { + "height": 262, + "width": 1, + "x": 295.01, + "y": 21.5 + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px", + "borderRightStyle": "none", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineVer1" + }, + "position": { + "height": 30, + "width": 0, + "x": 262.01, + "y": 58 + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px", + "borderRightStyle": "none", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor3" + }, + "position": { + "height": 1, + "width": 36, + "x": 226.01, + "y": 57.5 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor4" + }, + "position": { + "height": 1, + "width": 36, + "x": 226.01, + "y": 87.5 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image_0" + }, + "position": { + "height": 17, + "width": 16, + "x": 299, + "y": 12.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "(tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasMaint\") \u0026\u0026 (tag({view.params.tagPath} + \"/Sts_Maint\") || (!tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasOper\") \u0026\u0026 !tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasOperLocked\"))))" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_CmdSrcMaint.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_10" + }, + "position": { + "height": 21, + "width": 33, + "x": 278, + "y": 62.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_HiLoLimiter.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_12" + }, + "position": { + "height": 18, + "width": 16, + "x": 6, + "y": 207.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "!(tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasMaint\") \u0026\u0026 (tag({view.params.tagPath} + \"/Sts_Maint\") || (!tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasOper\") \u0026\u0026 !tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasOperLocked\"))))" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_CmdSrcOper.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_13" + }, + "position": { + "height": 17, + "width": 16, + "x": 6, + "y": 231.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasExt\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_CmdSrcExt.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_14" + }, + "position": { + "height": 18, + "width": 16, + "x": 6, + "y": 255.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_CmdSrcProgram.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_15" + }, + "position": { + "height": 18, + "width": 16, + "x": 6, + "y": 278.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_CmdSrcOvrd.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "LineHor17" + }, + "position": { + "height": 1, + "width": 37, + "x": 169.5, + "y": 285.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasExt\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor18" + }, + "position": { + "height": 0, + "width": 25, + "x": 169.5, + "y": 238.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasExt\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor19" + }, + "position": { + "height": 1, + "rotate": { + "angle": "45deg" + }, + "width": 15, + "x": 192.5, + "y": 243.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasExt\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor20" + }, + "position": { + "height": 1, + "rotate": { + "angle": "-45deg" + }, + "width": 15, + "x": 192.5, + "y": 257.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasExt\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor27" + }, + "position": { + "height": 1, + "width": 39, + "x": 219.498, + "y": 158.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasExt\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor28" + }, + "position": { + "height": -1, + "width": 85, + "x": 219.5, + "y": 135.5 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor30" + }, + "position": { + "height": 1, + "width": 39, + "x": 219.5, + "y": 111.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasExt\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineVer3" + }, + "position": { + "height": 47.999999999999986, + "width": 0, + "x": 257.52, + "y": 111.51 + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px", + "borderRightStyle": "none", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image_7" + }, + "position": { + "height": 26, + "width": 27, + "x": 243.498, + "y": 122.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_Transfer.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_9" + }, + "position": { + "height": 26, + "width": 27, + "x": 281, + "y": 122.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_Transfer.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "LineHor9" + }, + "position": { + "height": 0, + "width": 83, + "x": 218.51, + "y": 251.5 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image_6" + }, + "position": { + "height": 27, + "width": 27, + "x": 193.01, + "y": 237.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_Transfer.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_19" + }, + "position": { + "height": 21, + "width": 21, + "x": 234.50679206848145, + "y": 240.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_HighLimiter.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_11" + }, + "position": { + "height": 21, + "width": 33, + "x": 278.50679206848145, + "y": 240.50135803222656 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_RateLimiter.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "LinesAndImages" + }, + "position": { + "height": 329, + "width": 341, + "x": 1, + "y": 2.5 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SPSet" + }, + "position": { + "height": 15, + "width": 180, + "x": 77.49, + "y": 7.5 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "right" + }, + "text": "SP before ramping and clamping" + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameter": "Val_SPSet" + }, + "meta": { + "name": "ndd_Val_SPSet" + }, + "position": { + "height": 20, + "width": 70, + "x": 258.5, + "y": 5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/\" + {this.custom.parameter})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_PVDecPlcs\"] )[0].value\n\t\n\tif (DecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/\" + {this.custom.parameter}), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#475CA7", + "fontSize": "10pt", + "paddingRight": "3px", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "SPLimits" + }, + "position": { + "height": 16, + "width": 89, + "x": 165.5, + "y": 34 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "center" + }, + "text": "SP Limits" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "ErrOutline" + }, + "position": { + "height": 55, + "width": 73, + "x": 1, + "y": 2.5 + }, + "props": { + "style": { + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "2px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 71, + "y": 1.5 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "ndeErr_1" + }, + "position": { + "height": 61, + "width": 89, + "x": 173, + "y": 45 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_SPLim\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "nde_Cfg_MaxSP" + }, + "position": { + "height": 20, + "width": 70, + "x": 175, + "y": 52 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigLimits} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PVDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PVEUMax\")" + }, + "type": "expr" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_MinSP\")" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_MaxSP\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "nde_RatioLoLim" + }, + "position": { + "height": 20, + "width": 70, + "x": 175, + "y": 78 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigLimits} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PVDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_MaxSP\")" + }, + "type": "expr" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PVEUMin\")" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_MinSP\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "PV" + }, + "position": { + "height": 15, + "width": 89, + "x": 56.5, + "y": 107.5 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "right" + }, + "text": "PV" + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameter": "Val_PV" + }, + "meta": { + "name": "ndd_Val_PV" + }, + "position": { + "height": 20, + "width": 70, + "x": 151, + "y": 105 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/\" + {this.custom.parameter})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_PVDecPlcs\"] )[0].value\n\t\n\tif (DecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/\" + {this.custom.parameter}), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#475CA7", + "fontSize": "10pt", + "paddingRight": "3px", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "IntlkSP" + }, + "position": { + "height": 15, + "width": 89, + "x": 56.5, + "y": 130.00669860839844 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "right" + }, + "text": "Interlock SP" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "nde_Cfg_IntlkSP" + }, + "position": { + "height": 20, + "width": 70, + "x": 151, + "y": 128.00669860839844 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PVDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PVEUMax\")" + }, + "type": "expr" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PVEUMin\")" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_IntlkSP\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "LastGoodSP" + }, + "position": { + "height": 15, + "width": 89, + "x": 56.49553680419922, + "y": 155 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "right" + }, + "text": "Last Good SP" + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameter": "Val_SP" + }, + "meta": { + "name": "ndd_Val_PV_0" + }, + "position": { + "height": 20, + "width": 70, + "x": 151.49553680419922, + "y": 152 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/\" + {this.custom.parameter})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_PVDecPlcs\"] )[0].value\n\t\n\tif (DecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/\" + {this.custom.parameter}), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#475CA7", + "fontSize": "10pt", + "paddingRight": "3px", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "RateOfIncrease" + }, + "position": { + "height": 15, + "width": 70, + "x": 101, + "y": 186.007 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "center" + }, + "text": "Rate of Increase" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "RateOfDecrease" + }, + "position": { + "height": 15, + "width": 70, + "x": 25, + "y": 186.01 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "center" + }, + "text": "Rate of Decrease" + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameter": "Inp_OvrdSPRoCLimDec" + }, + "meta": { + "name": "Inp_OvrdSPRoCLimInc" + }, + "position": { + "height": 20, + "width": 70, + "x": 25.009, + "y": 279 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/\" + {this.custom.parameter})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_PVDecPlcs\"] )[0].value\n\t\n\tif (DecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/\" + {this.custom.parameter}), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#475CA7", + "fontSize": "10pt", + "paddingRight": "3px", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameter": "PSet_SPRoCLimDec" + }, + "meta": { + "name": "PSet_SPRoCLimDec" + }, + "position": { + "height": 20, + "width": 70, + "x": 25.009, + "y": 255 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/\" + {this.custom.parameter})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_PVDecPlcs\"] )[0].value\n\t\n\tif (DecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/\" + {this.custom.parameter}), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#475CA7", + "fontSize": "10pt", + "paddingRight": "3px", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameter": "XSet_SPRoCLimDec" + }, + "meta": { + "name": "XSet_SPRoCLimDec" + }, + "position": { + "height": 20, + "width": 70, + "x": 25, + "y": 231 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasExt\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/\" + {this.custom.parameter})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_PVDecPlcs\"] )[0].value\n\t\n\tif (DecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/\" + {this.custom.parameter}), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#475CA7", + "fontSize": "10pt", + "paddingRight": "3px", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "nde_OSet_SPRoCLimDec" + }, + "position": { + "height": 20, + "width": 70, + "x": 25, + "y": 208 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasMaint\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasOper\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasOperLocked\")" + }, + "type": "expr" + } + }, + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityEnterOperSettings} \u0026\u0026 {view.params.userHasBasic} \u0026\u0026 tag({view.params.tagPath} + \"/ORdy_SPRoCLimDec\")" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PVDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_MaxSPRoCDec\")" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/OSet_SPRoCLimDec\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "minimum": 0 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "10pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "custom": { + "parameter": "Inp_OvrdSPRoCLimInc" + }, + "meta": { + "name": "Inp_OvrdSPRoCLimDec" + }, + "position": { + "height": 20, + "width": 70, + "x": 101, + "y": 278.997 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/\" + {this.custom.parameter})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_PVDecPlcs\"] )[0].value\n\t\n\tif (DecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/\" + {this.custom.parameter}), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#475CA7", + "fontSize": "10pt", + "paddingRight": "3px", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameter": "PSet_SPRoCLimInc" + }, + "meta": { + "name": "PSet_SPRoCLimInc" + }, + "position": { + "height": 20, + "width": 70, + "x": 101, + "y": 254.997 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/\" + {this.custom.parameter})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_PVDecPlcs\"] )[0].value\n\t\n\tif (DecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/\" + {this.custom.parameter}), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#475CA7", + "fontSize": "10pt", + "paddingRight": "3px", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameter": "XSet_SPRoCLimInc" + }, + "meta": { + "name": "XSet_SPRoCLimInc" + }, + "position": { + "height": 20, + "width": 70, + "x": 101, + "y": 230.997 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasExt\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/\" + {this.custom.parameter})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_PVDecPlcs\"] )[0].value\n\t\n\tif (DecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/\" + {this.custom.parameter}), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#475CA7", + "fontSize": "10pt", + "paddingRight": "3px", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "nde_OSet_SPRoCLimInc" + }, + "position": { + "height": 20, + "width": 70, + "x": 101, + "y": 207.997 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasMaint\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasOper\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasOperLocked\")" + }, + "type": "expr" + } + }, + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityEnterOperSettings} \u0026\u0026 {view.params.userHasBasic} \u0026\u0026 tag({view.params.tagPath} + \"/ORdy_SPRoCLimInc\")" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PVDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_MaxSPRoCInc\")" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/OSet_SPRoCLimInc\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "minimum": 0 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "10pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "nde_Cfg_MaxSPRoCDec" + }, + "position": { + "height": 20, + "width": 70, + "x": 25, + "y": 302.991 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigLimits} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PVDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_MaxSPRoCDec\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": 0 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "10pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "nde_Cfg_MaxSPRoCInc" + }, + "position": { + "height": 20, + "width": 70, + "x": 101, + "y": 302.991 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigLimits} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PVDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_MaxSPRoCInc\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": 0 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "10pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "GO_PID_SP" + }, + "position": { + "height": 48, + "width": 88, + "x": 249.5, + "y": 284.007 + }, + "props": { + "params": { + "tagPath": "[default]Test_Tags/Flow_PID" + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_PID_SP" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "GroupDiagram" + }, + "position": { + "height": 334, + "width": 343, + "x": 1 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "PageMaintenance2" + }, + "position": { + "height": 334, + "width": 345, + "x": 2.5, + "y": 46 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{parent.custom.pageTabSelected}" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 1)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "LineVer0" + }, + "position": { + "height": 160, + "width": 1, + "x": 297.01, + "y": 41.5 + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px", + "borderRightStyle": "none", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineVer1" + }, + "position": { + "height": 34, + "width": 1, + "x": 170.01, + "y": 41 + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px", + "borderRightStyle": "none", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor3" + }, + "position": { + "height": -2, + "width": 173, + "x": 85.01, + "y": 31.5 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image_0" + }, + "position": { + "height": 17, + "width": 16, + "x": 299, + "y": 12.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "(tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasMaint\") \u0026\u0026 (tag({view.params.tagPath} + \"/Sts_Maint\") || (!tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasOper\") \u0026\u0026 !tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasOperLocked\"))))" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_CmdSrcMaint.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_12" + }, + "position": { + "height": 18, + "width": 16, + "x": 6, + "y": 207.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "!(tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasMaint\") \u0026\u0026 (tag({view.params.tagPath} + \"/Sts_Maint\") || (!tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasOper\") \u0026\u0026 !tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasOperLocked\"))))" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_CmdSrcOper.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_13" + }, + "position": { + "height": 17, + "width": 16, + "x": 6, + "y": 231.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasExt\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_CmdSrcExt.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_14" + }, + "position": { + "height": 18, + "width": 16, + "x": 6, + "y": 255.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_CmdSrcProgram.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_15" + }, + "position": { + "height": 18, + "width": 16, + "x": 6, + "y": 278.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_CmdSrcOvrd.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "LineHor28" + }, + "position": { + "height": 1, + "width": 22, + "x": 201.5, + "y": 154.5 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor30" + }, + "position": { + "height": 0, + "width": 79, + "x": 201.5, + "y": 128.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasExt\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineVer3" + }, + "position": { + "height": 25, + "width": 0, + "x": 222.52, + "y": 129.51 + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px", + "borderRightStyle": "none", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image_16" + }, + "position": { + "height": 21, + "width": 21, + "x": 160, + "y": 21.5067 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_Difference.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "LineHor31" + }, + "position": { + "height": 2.000000000000014, + "width": 66, + "x": 65.5, + "y": 128.49 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasExt\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineVer4" + }, + "position": { + "height": 25, + "width": 1, + "x": 109.496, + "y": 128.493 + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px", + "borderRightStyle": "none", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor29" + }, + "position": { + "height": 1, + "width": 22, + "x": 110.496, + "y": 153.493 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image_20" + }, + "position": { + "height": 21, + "width": 33, + "x": 280.5223217010498, + "y": 119.50669860839844 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_Function.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "LineVer2" + }, + "position": { + "height": 159, + "width": -1, + "x": 51.52, + "y": 41.51 + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px", + "borderRightStyle": "none", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image_17" + }, + "position": { + "height": 21, + "width": 33, + "x": 32.5223, + "y": 119.494 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_Function.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "LineHor4" + }, + "position": { + "height": -4, + "width": 246, + "x": 51.52, + "y": 200.51 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image_21" + }, + "position": { + "height": 21, + "width": 21, + "x": 160.5, + "y": 190.507 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_Difference.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "LineHor5" + }, + "position": { + "height": 0, + "width": 114.00000000000001, + "x": 114.52, + "y": 305.51 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image_18" + }, + "position": { + "height": 21, + "width": 21, + "x": 160.5, + "y": 294.507 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_Sum.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "LineVer5" + }, + "position": { + "height": 83, + "width": 1, + "x": 170.52, + "y": 211.51 + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px", + "borderRightStyle": "none", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor6" + }, + "position": { + "height": 1, + "rotate": { + "angle": "-20deg" + }, + "width": 60, + "x": 182.522, + "y": 249.507 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "dashed", + "borderTopWidth": "2px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image_19" + }, + "position": { + "height": 21, + "width": 33, + "x": 154.522, + "y": 259.507 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_Function.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "LinesAndImages" + }, + "position": { + "height": 329, + "width": 341, + "x": 1, + "y": 2.5 + }, + "type": "ia.container.coord" + }, + { + "custom": { + "parameter": "Val_SP" + }, + "meta": { + "name": "ndd_Val_SPSet" + }, + "position": { + "height": 20, + "width": 70, + "x": 258.5, + "y": 25 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/\" + {this.custom.parameter})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_PVDecPlcs\"] )[0].value\n\t\n\tif (DecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/\" + {this.custom.parameter}), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#475CA7", + "fontSize": "10pt", + "paddingRight": "3px", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "PV" + }, + "position": { + "height": 15, + "width": 89, + "x": 6.5, + "y": 7.5 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "center" + }, + "text": "PV" + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameter": "Val_PV" + }, + "meta": { + "name": "ndd_Val_PV" + }, + "position": { + "height": 20, + "width": 70, + "x": 16, + "y": 25 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/\" + {this.custom.parameter})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_PVDecPlcs\"] )[0].value\n\t\n\tif (DecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/\" + {this.custom.parameter}), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#475CA7", + "fontSize": "10pt", + "paddingRight": "3px", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "PVComm" + }, + "position": { + "height": 17, + "width": 17, + "x": 88, + "y": 27 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_PVBad\") || tag({view.params.tagPath} + \"/Sts_PVUncertain\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"\",\n\t1: \"Sts_CommBad\",\n\t2: \"Sts_CommUncertain\"\n\t}\n\t\n\tSts_PVBad \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_PVBad\"])[0].value\n\tSts_PVUncertain \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_PVUncertain\"])[0].value\n\t\n\tif (Sts_PVBad):\n\t\tindex \u003d 1;\n\telif (Sts_PVUncertain and not(Sts_PVBad)):\n\t\tindex \u003d 2;\n\t\t\n\tif (index \u003e 0):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_PVBad\") || tag({view.params.tagPath} + \"/Sts_PVUncertain\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"\",\n\t1: \"Sts_CommBad\",\n\t2: \"Sts_CommUncertain\"\n\t}\n\t\n\tSts_PVBad \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_PVBad\"])[0].value\n\tSts_PVUncertain \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_PVUncertain\"])[0].value\n\t\n\tif (Sts_PVBad):\n\t\tindex \u003d 1;\n\telif (Sts_PVUncertain and not(Sts_PVBad)):\n\t\tindex \u003d 2;\n\t\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "SP" + }, + "position": { + "height": 15, + "width": 64, + "x": 185, + "y": 19.9972 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "center" + }, + "text": "SP" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "SPSet" + }, + "position": { + "height": 15, + "width": 73, + "x": 257, + "y": 7.5 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "center" + }, + "text": "SP" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Error" + }, + "position": { + "height": 15.000000000000007, + "width": 40.000000000000014, + "x": 94.52, + "y": 57.01 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "right" + }, + "text": "Error" + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameter": "Val_E" + }, + "meta": { + "name": "ndd_Val_E" + }, + "position": { + "height": 20, + "width": 70, + "x": 137, + "y": 55.0067 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/\" + {this.custom.parameter})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_PVDecPlcs\"] )[0].value\n\t\n\tif (DecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/\" + {this.custom.parameter}), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#475CA7", + "fontSize": "10pt", + "paddingRight": "3px", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Error_0" + }, + "position": { + "height": 15, + "width": 40, + "x": 209.515625, + "y": 57.00669860839844 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PVEU\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#919191", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Deadband" + }, + "position": { + "height": 16, + "width": 60.000000000000014, + "x": 74.51999999999998, + "y": 79 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "right" + }, + "text": "Deadband" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "ErrOutline" + }, + "position": { + "height": 25, + "width": 73, + "x": 1, + "y": 2.5 + }, + "props": { + "style": { + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "2px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 71, + "y": 1.5 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "ndeErr_2" + }, + "position": { + "height": 30, + "width": 89, + "x": 135.49, + "y": 72 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_ZCDB\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "nde_Cfg_ZCDB" + }, + "position": { + "height": 20, + "width": 70, + "x": 137, + "y": 76.9955 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigLimits} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PVDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_ZCDB\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 2147483, + "minimum": 0 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "PVEUMinMax" + }, + "position": { + "height": 16, + "width": 89, + "x": 123.8, + "y": 104 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "center" + }, + "text": "PV EU Min/Max" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "ErrOutline" + }, + "position": { + "height": 55, + "width": 73, + "x": 1, + "y": 2.5 + }, + "props": { + "style": { + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "2px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 71, + "y": 1.5 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "ndeErr_1" + }, + "position": { + "height": 61, + "width": 89, + "x": 131.3, + "y": 115 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_PVEU\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "nde_Cfg_PVEUMax" + }, + "position": { + "height": 20, + "width": 70, + "x": 133.3, + "y": 122 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PVDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "pow(2,32)//tag({view.params.tagPath} + \"/Cfg_PVEUMax\")" + }, + "type": "expr" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PVEUMin\")" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_PVEUMax\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "nde_RatioLoLim" + }, + "position": { + "height": 20, + "width": 70, + "x": 133.3, + "y": 148 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PVDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PVEUMax\")" + }, + "type": "expr" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "expression": "-pow(2,32)//tag({view.params.tagPath} + \"/Cfg_PVEUMin\")" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_PVEUMin\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "custom": { + "parameter": "Val_PVPercent" + }, + "meta": { + "name": "ndd_Val_PVPercent" + }, + "position": { + "height": 20, + "width": 70, + "x": 16, + "y": 169.5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/\" + {this.custom.parameter})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tDecPlcs \u003d 2#system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_PVDecPlcs\"] )[0].value\n\t\n\tif (DecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/\" + {this.custom.parameter}), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#475CA7", + "fontSize": "10pt", + "paddingRight": "3px", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameter": "Val_SPPercent" + }, + "meta": { + "name": "ndd_Val_PVPercent_0" + }, + "position": { + "height": 20, + "width": 70, + "x": 258.5, + "y": 169.00669860839844 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/\" + {this.custom.parameter})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tDecPlcs \u003d 2#system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_PVDecPlcs\"] )[0].value\n\t\n\tif (DecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/\" + {this.custom.parameter}), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#475CA7", + "fontSize": "10pt", + "paddingRight": "3px", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameter": "Val_EPercent" + }, + "meta": { + "name": "ndd_Val_EPercent" + }, + "position": { + "height": 20, + "width": 70, + "x": 137, + "y": 224.007 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/\" + {this.custom.parameter})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tDecPlcs \u003d 2#system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_PVDecPlcs\"] )[0].value\n\t\n\tif (DecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/\" + {this.custom.parameter}), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#475CA7", + "fontSize": "10pt", + "paddingRight": "3px", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "nde_Cfg_IGain" + }, + "position": { + "height": 20, + "width": 66, + "x": 267, + "y": 233 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigTuning} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "4//tag({view.params.tagPath} + \"/Cfg_CVDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_IGain\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": 0 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "nde_Cfg_DGain" + }, + "position": { + "height": 20, + "width": 66, + "x": 267, + "y": 256 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigTuning} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "4//tag({view.params.tagPath} + \"/Cfg_CVDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_DGain\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": 0 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "nde_Cfg_PGain" + }, + "position": { + "height": 20, + "width": 66, + "x": 267, + "y": 210 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigTuning} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "4//tag({view.params.tagPath} + \"/Cfg_CVDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_PGain\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": 0 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 70, + "width": 24, + "x": 240, + "y": 208 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_PID.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "FeedForward" + }, + "position": { + "height": 15, + "width": 89, + "x": 36.4955, + "y": 284.5 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "center" + }, + "text": "Feed Forward" + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameter": "Inp_FF" + }, + "meta": { + "name": "ndd_Inp_FF" + }, + "position": { + "height": 20, + "width": 70, + "x": 46.4955, + "y": 301.5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/\" + {this.custom.parameter})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_PVDecPlcs\"] )[0].value\n\t\n\tif (DecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/\" + {this.custom.parameter}), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#475CA7", + "fontSize": "10pt", + "paddingRight": "3px", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "CalculatedCV" + }, + "position": { + "height": 15, + "width": 89, + "x": 219, + "y": 284.498 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "center" + }, + "text": "Calculated CV" + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameter": "Val_CVSet" + }, + "meta": { + "name": "ndd_Inp_FF_0" + }, + "position": { + "height": 20, + "width": 70, + "x": 228.5, + "y": 301.498 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/\" + {this.custom.parameter})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CVDecPlcs\"] )[0].value\n\t\n\tif (DecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/\" + {this.custom.parameter}), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#475CA7", + "fontSize": "10pt", + "paddingRight": "3px", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FFBad" + }, + "position": { + "height": 17, + "width": 17, + "x": 116.515625, + "y": 302.00669860839844 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_FFBad\") || tag({view.params.tagPath} + \"/Sts_FFPrevBad\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_CommBad.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "PV_0" + }, + "position": { + "height": 15, + "width": 89, + "x": 45.51999999999999, + "y": 226 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "right" + }, + "text": "Error" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Error_1" + }, + "position": { + "height": 15, + "width": 28, + "x": 208.509614944458, + "y": 227 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#919191", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "%" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Image_0" + }, + "position": { + "height": 18, + "width": 16, + "x": 211, + "y": 78 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_ZCDBOn\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_Good.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupDiagram" + }, + "position": { + "height": 334, + "width": 343, + "x": 1 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "PageMaintenance3" + }, + "position": { + "height": 334, + "width": 345, + "x": 2.5, + "y": 46 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{parent.custom.pageTabSelected}" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 2)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "LineHor2" + }, + "position": { + "height": -6, + "width": 35.999999999999986, + "x": 156.01, + "y": 206.5 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineVer1" + }, + "position": { + "height": 30, + "width": 0, + "x": 156.01, + "y": 192 + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px", + "borderRightStyle": "none", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor3" + }, + "position": { + "height": 1, + "width": 36, + "x": 120.01, + "y": 191.5 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor4" + }, + "position": { + "height": 1, + "width": 36, + "x": 120.01, + "y": 221.5 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineVer2" + }, + "position": { + "height": 233, + "width": 0, + "x": 189.01, + "y": 49.5 + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px", + "borderRightStyle": "none", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor5" + }, + "position": { + "height": 1, + "width": 19, + "x": 170.01, + "y": 49.5 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image_0" + }, + "position": { + "height": 17, + "width": 16, + "x": 32, + "y": 7.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "(tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasMaint\") \u0026\u0026 (tag({view.params.tagPath} + \"/Sts_Maint\") || (!tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasOper\") \u0026\u0026 !tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasOperLocked\"))))" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_CmdSrcMaint.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_10" + }, + "position": { + "height": 21, + "width": 33, + "x": 173.01, + "y": 197.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_HiLoLimiter.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_12" + }, + "position": { + "height": 18, + "width": 16, + "x": 32, + "y": 7.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "!(tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasMaint\") \u0026\u0026 (tag({view.params.tagPath} + \"/Sts_Maint\") || (!tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasOper\") \u0026\u0026 !tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasOperLocked\"))))" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_CmdSrcOper.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_13" + }, + "position": { + "height": 17, + "width": 16, + "x": 31.0057, + "y": 31.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasExt\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_CmdSrcExt.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_14" + }, + "position": { + "height": 18, + "width": 16, + "x": 31.0057, + "y": 55.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_CmdSrcProgram.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_15" + }, + "position": { + "height": 18, + "width": 16, + "x": 31.0057, + "y": 78.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_CmdSrcOvrd.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "LineHor21" + }, + "position": { + "height": 1, + "width": 47, + "x": 119.5, + "y": 84.5078 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasExt\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor22" + }, + "position": { + "height": 1, + "width": 36, + "x": 119.5, + "y": 61.5078 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor23" + }, + "position": { + "height": 1, + "rotate": { + "angle": "-45deg" + }, + "width": 15, + "x": 152.5, + "y": 56.5078 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasExt\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor24" + }, + "position": { + "height": 1, + "width": 36, + "x": 119.5, + "y": 37.5078 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasExt\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor25" + }, + "position": { + "height": 1, + "rotate": { + "angle": "45deg" + }, + "width": 15, + "x": 152.5, + "y": 42.5078 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasExt\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineVer9" + }, + "position": { + "height": 70, + "width": 1, + "x": 165.5, + "y": 15.5078 + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px", + "borderRightStyle": "none", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor26" + }, + "position": { + "height": 1, + "width": 47, + "x": 119.5, + "y": 14.5078 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasExt\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image_16" + }, + "position": { + "height": 27, + "width": 27, + "x": 152.5, + "y": 36.5078 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_Transfer.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_11" + }, + "position": { + "height": 21, + "width": 33, + "x": 172.51201820373535, + "y": 234.50240325927734 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_RateLimiter.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_19" + }, + "position": { + "height": 28, + "width": 27, + "x": 174.512, + "y": 130.502 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_Transfer.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "LineHor27" + }, + "position": { + "height": 1, + "width": 57.999999999999986, + "x": 119.51, + "y": 144.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasExt\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor6" + }, + "position": { + "height": 2, + "width": 53.999999999999986, + "x": 119.51, + "y": 244.5 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor28" + }, + "position": { + "height": 1, + "width": 47, + "x": 189.512, + "y": 281.502 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasExt\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image_20" + }, + "position": { + "height": 21, + "width": 40, + "x": 233.51, + "y": 270.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_ContinueA.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_17" + }, + "position": { + "height": 18, + "width": 15, + "x": 179.51201820373535, + "y": 27.502403259277344 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Oper\") ||\r\ntag({view.params.tagPath} + \"/Sts_Ext\") ||\r\ntag({view.params.tagPath} + \"/Sts_Prog\") ||\r\ntag({view.params.tagPath} + \"/Sts_Ovrd\") ||\r\ntag({view.params.tagPath} + \"/Sts_Maint\") ||\r\ntag({view.params.tagPath} + \"/Cfg_ExtKeep\") ||\r\ntag({view.params.tagPath} + \"/Cfg_ProgKeep\") ||\r\ntag({view.params.tagPath} + \"/Cfg_OperKeep\")\r\n" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d -1\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Sts_CmdSrcOper\",\n\t1: \"Sts_CmdSrcProgram\",\n\t2: \"Sts_CmdSrcOvrd\",\n\t3: \"Sts_CmdSrcMaint\",\n\t4: \"Sts_CmdSrcExt\",\n\t}\n\t\n\tSts_Oper \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Oper\"])[0].value\n\tSts_Ext \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Ext\"])[0].value\n\tSts_Prog \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Prog\"])[0].value\n\tSts_Ovrd \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Ovrd\"])[0].value\n\tSts_Maint \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Maint\"])[0].value\n\tCfg_ExtKeep1 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_ExtKeep\"])[0].value \u0026 2**1) \u003d\u003d 2**1\n\tCfg_ProgKeep1 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_ProgKeep\"])[0].value \u0026 2**1) \u003d\u003d 2**1\n\tCfg_OperKeep1 \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_OperKeep\"])[0].value \u0026 2**1) \u003d\u003d 2**1\n\t\n\tif (Sts_Ovrd): \n\t\tindex \u003d 2\n\telif (Sts_Maint):\n\t\tindex \u003d 3\n\telif (Cfg_ExtKeep1 and (Sts_Prog or Sts_Oper)) or (Sts_Ext and not(Cfg_ProgKeep1) and not(Cfg_OperKeep1)):\n\t\tindex \u003d 4\n\telif (Cfg_ProgKeep1 and (Sts_Oper or Sts_Ext)) or (Sts_Prog and not(Cfg_ExtKeep1) and not(Cfg_OperKeep1)):\n\t\tindex \u003d 1\n\telse: \n\t\tindex \u003d 0\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_18" + }, + "position": { + "height": 18, + "width": 15, + "x": 198.51201820373535, + "y": 117.50240325927734 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Casc\") ||\r\ntag({view.params.tagPath} + \"/Sts_Man\")\r\n" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d -1\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Sts_ModeMan\",\n\t1: \"Sts_ModeAuto\",\n\t2: \"Sts_ModeCas\"\n\t}\n\t\n\tSts_Casc \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Casc\"])[0].value\n\tSts_Man \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Man\"])[0].value\n\t\n\tif (Sts_Casc): \n\t\tindex \u003d 2\n\telif (Sts_Man):\n\t\tindex \u003d 0\n\telse: \n\t\tindex \u003d 1\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "LinesAndImages" + }, + "position": { + "height": 329, + "width": 341, + "x": 1, + "y": 2.5 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "RatioClamped" + }, + "position": { + "height": 17, + "width": 17, + "x": 158, + "y": 148 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_RatioClamped\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_Clamped.png" + }, + "type": "ia.display.image" + }, + { + "custom": { + "parameter": "Inp_OvrdCV" + }, + "meta": { + "name": "Inp_OvrdCV" + }, + "position": { + "height": 20, + "width": 70, + "x": 51, + "y": 78.9972 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/\" + {this.custom.parameter})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CVDecPlcs\"] )[0].value\n\t\n\tif (DecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/\" + {this.custom.parameter}), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#475CA7", + "fontSize": "10pt", + "paddingRight": "3px", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameter": "PSet_CV" + }, + "meta": { + "name": "PSet_CV" + }, + "position": { + "height": 20, + "width": 70, + "x": 51, + "y": 54.9972 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\") \u0026\u0026 !(tag({view.params.tagPath} + \"/Cfg_ExtKeep\")) \u0026\u0026 !(tag({view.params.tagPath} + \"/Cfg_OperKeep\"))" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/\" + {this.custom.parameter})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CVDecPlcs\"] )[0].value\n\t\n\tif (DecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/\" + {this.custom.parameter}), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#475CA7", + "fontSize": "10pt", + "paddingRight": "3px", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameter": "XSet_CV" + }, + "meta": { + "name": "XSet_SP" + }, + "position": { + "height": 20, + "width": 70, + "x": 51, + "y": 30.9972 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasExt\") \u0026\u0026 !(tag({view.params.tagPath} + \"/Cfg_ProgKeep\")) \u0026\u0026 !(tag({view.params.tagPath} + \"/Cfg_OperKeep\"))" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/\" + {this.custom.parameter})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CVDecPlcs\"] )[0].value\n\t\n\tif (DecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/\" + {this.custom.parameter}), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#475CA7", + "fontSize": "10pt", + "paddingRight": "3px", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "GO_OSet_SP" + }, + "position": { + "height": 20, + "width": 70, + "x": 51, + "y": 7.99716 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasMaint\") ||\r\n((tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasOper\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasOperLocked\")) \u0026\u0026 !(tag({view.params.tagPath} + \"/Cfg_ProgKeep\")) \u0026\u0026 !(tag({view.params.tagPath} + \"/Cfg_ExtKeep\")))\r\n" + }, + "type": "expr" + } + }, + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityEnterOperSettings} \u0026\u0026 {view.params.userHasBasic} \u0026\u0026 tag({view.params.tagPath} + \"/ORdy_CV\")" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CVDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_LimitManCV\"), tag({view.params.tagPath} + \"/Cfg_MaxCV\"), tag({view.params.tagPath} + \"/Cfg_CVEUMax\"))" + }, + "type": "expr" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_LimitManCV\"), tag({view.params.tagPath} + \"/Cfg_MinCV\"), tag({view.params.tagPath} + \"/Cfg_CVEUMin\"))" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/OSet_CV\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "10pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "CV" + }, + "position": { + "height": 15, + "width": 64, + "x": 148, + "y": 9.99716 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "center" + }, + "text": "CV" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Calculated CV" + }, + "position": { + "height": 16, + "width": 89, + "x": 40.5085, + "y": 117.006 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "center" + }, + "text": "SP Cascade" + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameter": "Val_CVSet" + }, + "meta": { + "name": "ndd_Val_CVSet" + }, + "position": { + "height": 20, + "width": 70, + "x": 50, + "y": 137 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/\" + {this.custom.parameter})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CVDecPlcs\"] )[0].value\n\t\n\tif (DecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/\" + {this.custom.parameter}), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#475CA7", + "fontSize": "10pt", + "paddingRight": "3px", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "CV Limits" + }, + "position": { + "height": 16, + "width": 89, + "x": 41.5, + "y": 168 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "center" + }, + "text": "CV Limits" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "ErrOutline" + }, + "position": { + "height": 55, + "width": 73, + "x": 1, + "y": 2.5 + }, + "props": { + "style": { + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "2px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 71, + "y": 1.5 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "ndeErr_1" + }, + "position": { + "height": 61, + "width": 89, + "x": 49, + "y": 179 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_CVLim\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "nde_Cfg_MaxCV" + }, + "position": { + "height": 20, + "width": 70, + "x": 51, + "y": 186 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigLimits} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CVDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_CVEUMax\")" + }, + "type": "expr" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_MinCV\")" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_MaxCV\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "nde_Cfg_MinCV" + }, + "position": { + "height": 20, + "width": 70, + "x": 51, + "y": 212 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigLimits} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CVDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_MaxCV\")" + }, + "type": "expr" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_CVEUMin\")" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_MinCV\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "CV Limits_0" + }, + "position": { + "height": 16, + "width": 89, + "x": 41.50961494445801, + "y": 257.00240325927734 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CVEU\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#919191", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "nde_Cfg_CVRoCLim" + }, + "position": { + "height": 20, + "width": 70, + "x": 50.5096, + "y": 238.002 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigLimits} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CVDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "pow(2,32)//tag({view.params.tagPath} + \"/Cfg_MaxCV\")" + }, + "type": "expr" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "expression": "0//tag({view.params.tagPath} + \"/Val_CVEUMin\")" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_CVRoCLim\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "GroupDiagram" + }, + "position": { + "height": 334, + "width": 343, + "x": 1 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "PageMaintenance4" + }, + "position": { + "height": 334, + "width": 345, + "x": 2.5, + "y": 46 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{parent.custom.pageTabSelected}" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 3)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "LineHor2" + }, + "position": { + "height": 1, + "width": 126, + "x": 106.01, + "y": 254.5 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineVer1" + }, + "position": { + "height": 30, + "width": 0, + "x": 105.01, + "y": 241 + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px", + "borderRightStyle": "none", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor3" + }, + "position": { + "height": 1, + "width": 10, + "x": 96.01, + "y": 240.5 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor4" + }, + "position": { + "height": 1, + "width": 10, + "x": 96.01, + "y": 270.5 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineVer2" + }, + "position": { + "height": 184, + "width": 1, + "x": 171, + "y": 14.5 + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px", + "borderRightStyle": "none", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor26" + }, + "position": { + "height": 1, + "width": 47, + "x": 124.5, + "y": 14.5078 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasExt\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image_19" + }, + "position": { + "height": 28, + "width": 27, + "x": 157.512, + "y": 100.502 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_Transfer.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "LineHor27" + }, + "position": { + "height": 2, + "width": 63.999999999999986, + "x": 95.51, + "y": 113.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasExt\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image_20" + }, + "position": { + "height": 21, + "width": 40, + "x": 108.51, + "y": 3.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_ContinueA.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "LineHor29" + }, + "position": { + "height": 1, + "width": 130, + "x": 95.5184, + "y": 53.5074 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasExt\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor30" + }, + "position": { + "height": 2, + "width": 65, + "x": 95.5184, + "y": 169.507 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasExt\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image_12" + }, + "position": { + "height": 21, + "width": 33, + "x": 113.518, + "y": 159.507 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_Function.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_21" + }, + "position": { + "height": 21, + "width": 21, + "x": 160.518, + "y": 159.507 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_ProgramTransfer.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "LineVer3" + }, + "position": { + "height": 56, + "width": 1, + "x": 171, + "y": 242.51 + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px", + "borderRightStyle": "none", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineVer4" + }, + "position": { + "height": 31, + "width": 1, + "x": 231.002, + "y": 240.496 + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px", + "borderRightStyle": "none", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor5" + }, + "position": { + "height": 1, + "width": 10, + "x": 231.002, + "y": 270.496 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor6" + }, + "position": { + "height": 1, + "width": 10, + "x": 231.002, + "y": 240.496 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineVer5" + }, + "position": { + "height": 75, + "width": 1, + "x": 131.518, + "y": 180.507 + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px", + "borderRightStyle": "none", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineVer6" + }, + "position": { + "height": 150, + "width": 1, + "x": 224.518, + "y": 54.5074 + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px", + "borderRightStyle": "none", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image_16" + }, + "position": { + "height": 27, + "width": 27, + "x": 157, + "y": 39.508 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_Transfer.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "LineHor28" + }, + "position": { + "height": 2, + "width": 19, + "x": 205.52, + "y": 203.51 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasExt\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "LinesAndImages" + }, + "position": { + "height": 329, + "width": 341, + "x": 1, + "y": 2.5 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "HandFdbkBad" + }, + "position": { + "height": 17, + "width": 17, + "x": 123, + "y": 108 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_HandFdbkBad\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_CommBad.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "InterlockCV" + }, + "position": { + "height": 16, + "width": 89, + "x": 17.5, + "y": 30.0074 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "center" + }, + "text": "Interlock CV" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "nde_Cfg_IntlkCV" + }, + "position": { + "height": 20, + "width": 70, + "x": 27, + "y": 47.9972 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasMaint\") ||\r\n((tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasOper\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasOperLocked\")) \u0026\u0026 !(tag({view.params.tagPath} + \"/Cfg_ProgKeep\")) \u0026\u0026 !(tag({view.params.tagPath} + \"/Cfg_ExtKeep\")))\r\n" + }, + "type": "expr" + } + }, + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CVDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CVEUMax\")" + }, + "type": "expr" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CVEUMin\")" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_IntlkCV\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "10pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "HandFeedback" + }, + "position": { + "height": 16, + "width": 89, + "x": 17.5, + "y": 89.006 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "center" + }, + "text": "Hand Feedback" + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameter": "Inp_HandFdbk" + }, + "meta": { + "name": "ndd_Inp_HandFdbk" + }, + "position": { + "height": 20, + "width": 70, + "x": 27, + "y": 107 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/\" + {this.custom.parameter})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CVDecPlcs\"] )[0].value\n\t\n\tif (DecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/\" + {this.custom.parameter}), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#475CA7", + "fontSize": "10pt", + "paddingRight": "3px", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "CVInitValue" + }, + "position": { + "height": 16, + "width": 89, + "x": 17.5, + "y": 144.998 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "center" + }, + "text": "CV Init Value" + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameter": "Inp_CVInitVal" + }, + "meta": { + "name": "ndd_Inp_CVInitVal" + }, + "position": { + "height": 20, + "width": 70, + "x": 27, + "y": 162.998 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/\" + {this.custom.parameter})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CVDecPlcs\"] )[0].value\n\t\n\tif (DecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/\" + {this.custom.parameter}), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#475CA7", + "fontSize": "10pt", + "paddingRight": "3px", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "GO_PID_CV" + }, + "position": { + "height": 48, + "width": 88, + "x": 127.5, + "y": 202.007 + }, + "props": { + "params": { + "tagPath": "[default]Test_Tags/Flow_PID" + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_PID_CV" + }, + "type": "ia.display.view" + }, + { + "custom": { + "parameter": "Out_CV" + }, + "meta": { + "name": "ndd_Out_CV" + }, + "position": { + "height": 20, + "width": 70, + "x": 136.5, + "y": 300.007 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/\" + {this.custom.parameter})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CVDecPlcs\"] )[0].value\n\t\n\tif (DecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/\" + {this.custom.parameter}), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#475CA7", + "fontSize": "10pt", + "paddingRight": "3px", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "CVRawMinMax" + }, + "position": { + "height": 16, + "width": 89, + "x": 17.5, + "y": 217 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "center" + }, + "text": "CV Raw Min/Max" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "ErrOutline" + }, + "position": { + "height": 55, + "width": 73, + "x": 1, + "y": 2.5 + }, + "props": { + "style": { + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "2px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 71, + "y": 1.5 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "ndeErr_1" + }, + "position": { + "height": 61, + "width": 89, + "x": 25, + "y": 228 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_CVRaw\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "nde_Cfg_CVRawMax" + }, + "position": { + "height": 20, + "width": 70, + "x": 27, + "y": 235 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CVDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "pow(2, 32)" + }, + "type": "expr" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "expression": "-pow(2, 32)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_CVRawMax\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "nde_Cfg_CVRawMin" + }, + "position": { + "height": 20, + "width": 70, + "x": 27, + "y": 261 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CVDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "pow(2, 32)" + }, + "type": "expr" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "expression": "-pow(2, 32)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_CVRawMin\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "CVEUMinMax" + }, + "position": { + "height": 16, + "width": 89, + "x": 231.5, + "y": 216.994 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "center" + }, + "text": "CV EU Min/Max" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "ErrOutline" + }, + "position": { + "height": 55, + "width": 73, + "x": 1, + "y": 2.5 + }, + "props": { + "style": { + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "2px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 71, + "y": 1.5 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "ndeErr_2" + }, + "position": { + "height": 61, + "width": 89, + "x": 238.5, + "y": 227.994 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_CVEU\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "nde_Cfg_CVEUMax" + }, + "position": { + "height": 20, + "width": 70, + "x": 240.5, + "y": 234.994 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CVDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "pow(2, 32)" + }, + "type": "expr" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "expression": "-pow(2, 32)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_CVEUMax\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "nde_Cfg_CVEUMin" + }, + "position": { + "height": 20, + "width": 70, + "x": 240.5, + "y": 260.994 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CVDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "pow(2, 32)" + }, + "type": "expr" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "expression": "-pow(2, 32)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_CVEUMin\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "CVEUMinMax_0" + }, + "position": { + "height": 16, + "width": 22, + "x": 142.51, + "y": 184.01 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "bold", + "textAlign": "center" + }, + "text": "CV" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "CVFrame" + }, + "position": { + "height": 45, + "width": 68, + "x": 139, + "y": 200.01 + }, + "props": { + "style": { + "borderColor": "#91919141", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GroupDiagram" + }, + "position": { + "height": 334, + "width": 343, + "x": 1 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "PageMaintenance5" + }, + "position": { + "height": 334, + "width": 345, + "x": 2.5, + "y": 46 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{parent.custom.pageTabSelected}" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 4)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 231, + "x": 11, + "y": 8 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "When scaled CV Out is greater than this\nvalue, the device is \"Active\"" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericInput" + }, + "position": { + "height": 20, + "width": 70, + "x": 259, + "y": 7 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigLimits} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CVDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CVEUMax\")" + }, + "type": "expr" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CVEUMin\")" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_MaxInactiveCV\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "nde_Cfg_MaxInactiveCV" + }, + "position": { + "height": 32, + "width": 340 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "PageMaintenance6" + }, + "position": { + "height": 334, + "width": 345, + "x": 2.5, + "y": 46 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{parent.custom.pageTabSelected}" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 5)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageTabSelected \u003d self.parent.custom.pageTabSelected\n\tmaxNumberOfTabs \u003d self.parent.custom.maxNumberOfTabs - 1\n\t\n\tnewTab \u003d pageTabSelected - 1\n\t\n\tif (newTab \u003e\u003d 0):\n\t\tself.parent.custom.pageTabSelected \u003d newTab" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "PrevButton" + }, + "position": { + "height": 36, + "width": 30, + "x": 53.5 + }, + "props": { + "fit": { + "mode": "contain" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Prev.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 20, + "x": 3, + "y": 8 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if({parent.custom.currentTabNumber} \u003d {parent.custom.tabNumber}, \"#A3A3A3FF\", \"#A3A3A300\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.tabNumber} + 1" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 1, + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "tabNumber": 0 + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.currentTabNumber \u003d self.custom.tabNumber" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Page1Button" + }, + "position": { + "height": 36, + "width": 26, + "x": 81.5 + }, + "propConfig": { + "custom.currentTabNumber": { + "binding": { + "config": { + "bidirectional": true, + "path": "parent.custom.pageTabSelected" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 20, + "x": 3, + "y": 8 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if({parent.custom.currentTabNumber} \u003d {parent.custom.tabNumber}, \"#A3A3A3FF\", \"#A3A3A300\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.tabNumber} + 1" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 1, + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "tabNumber": 1 + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.currentTabNumber \u003d self.custom.tabNumber" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Page2Button" + }, + "position": { + "height": 36, + "width": 26, + "x": 108.5 + }, + "propConfig": { + "custom.currentTabNumber": { + "binding": { + "config": { + "bidirectional": true, + "path": "parent.custom.pageTabSelected" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 20, + "x": 3, + "y": 8 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if({parent.custom.currentTabNumber} \u003d {parent.custom.tabNumber}, \"#A3A3A3FF\", \"#A3A3A300\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.tabNumber} + 1" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 1, + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "tabNumber": 2 + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.currentTabNumber \u003d self.custom.tabNumber" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Page3Button" + }, + "position": { + "height": 36, + "width": 26, + "x": 135.5 + }, + "propConfig": { + "custom.currentTabNumber": { + "binding": { + "config": { + "bidirectional": true, + "path": "parent.custom.pageTabSelected" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 20, + "x": 3, + "y": 8 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if({parent.custom.currentTabNumber} \u003d {parent.custom.tabNumber}, \"#A3A3A3FF\", \"#A3A3A300\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.tabNumber} + 1" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 1, + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "tabNumber": 3 + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.currentTabNumber \u003d self.custom.tabNumber" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Page4Button" + }, + "position": { + "height": 36, + "width": 26, + "x": 161.5 + }, + "propConfig": { + "custom.currentTabNumber": { + "binding": { + "config": { + "bidirectional": true, + "path": "parent.custom.pageTabSelected" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 20, + "x": 3, + "y": 8 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if({parent.custom.currentTabNumber} \u003d {parent.custom.tabNumber}, \"#A3A3A3FF\", \"#A3A3A300\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.tabNumber} + 1" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 1, + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "tabNumber": 4 + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.currentTabNumber \u003d self.custom.tabNumber" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Page5Button" + }, + "position": { + "height": 36, + "width": 26, + "x": 187.5 + }, + "propConfig": { + "custom.currentTabNumber": { + "binding": { + "config": { + "bidirectional": true, + "path": "parent.custom.pageTabSelected" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 20, + "x": 3, + "y": 8 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if({parent.custom.currentTabNumber} \u003d {parent.custom.tabNumber}, \"#A3A3A3FF\", \"#A3A3A300\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.tabNumber} + 1" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 1, + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "tabNumber": 5 + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.currentTabNumber \u003d self.custom.tabNumber" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Page6Button" + }, + "position": { + "height": 36, + "width": 26, + "x": 214.5 + }, + "propConfig": { + "custom.currentTabNumber": { + "binding": { + "config": { + "bidirectional": true, + "path": "parent.custom.pageTabSelected" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageTabSelected \u003d self.parent.custom.pageTabSelected\n\tmaxNumberOfTabs \u003d self.parent.custom.maxNumberOfTabs - 1\n\t\n\tnewTab \u003d pageTabSelected + 1\n\t\n\tif (newTab \u003c\u003d maxNumberOfTabs):\n\t\tself.parent.custom.pageTabSelected \u003d newTab" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "NextButton" + }, + "position": { + "height": 36, + "width": 30, + "x": 237.5 + }, + "props": { + "fit": { + "mode": "contain" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Next.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + } + ], + "custom": { + "maintenanceTabSelected": 0, + "maxNumberOfTabs": 5 + }, + "meta": { + "name": "PageButtons" + }, + "position": { + "height": 36, + "width": 321, + "x": 14, + "y": 393 + }, + "propConfig": { + "custom.pageTabSelected": { + "binding": { + "config": { + "bidirectional": true, + "path": "parent.custom.pageTabSelected" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + } + ], + "custom": { + "pageTabSelected": 0 + }, + "meta": { + "name": "TabPage_Maintenance" + }, + "position": { + "height": 442, + "width": 350, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 1)", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 403, + "width": 350, + "y": 42 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab" + }, + "position": { + "height": 39, + "width": 40, + "x": 79, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 442, + "width": 350 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 270, + "x": 11, + "y": 1 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Execution interval for PID algorithm (sec)" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Configured" + }, + "position": { + "height": 16, + "width": 84, + "x": 20.5, + "y": 26.01 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Configured" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericInput" + }, + "position": { + "height": 20, + "width": 70, + "x": 105, + "y": 24 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "2" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_ExecT\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": 0 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Actual" + }, + "position": { + "height": 16, + "width": 59, + "x": 208.5, + "y": 26.01 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Actual" + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameter": "Val_ActExecT" + }, + "meta": { + "name": "ProgCV" + }, + "position": { + "height": 20, + "width": 70, + "x": 265.009, + "y": 24 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/\" + {this.custom.parameter})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tDecPlcs \u003d 2#system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_DecPlcs\"] )[0].value\n\t\n\tif (DecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/\" + {this.custom.parameter}), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#475CA7", + "fontSize": "10pt", + "paddingRight": "3px", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "GroupExecTime" + }, + "position": { + "height": 49, + "width": 340 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "GO_Cfg_SetTrack" + }, + "position": { + "height": 32, + "width": 340, + "x": 2.5, + "y": 49.007 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_SetTrack" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_SetTrackOvrdHand" + }, + "position": { + "height": 32, + "width": 340, + "x": 2.5, + "y": 84.007 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_SetTrackOvrdHand", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_OvrdIntlk" + }, + "position": { + "height": 32, + "width": 340, + "x": 2.5, + "y": 125.007 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_OvrdIntlk", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Cfg_ProgNormal" + }, + "position": { + "height": 73, + "width": 340, + "x": 2, + "y": 187 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 316, + "x": 12 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Proportional Action on SP Change:" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_PropSPAct\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 9.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 126, + "x": 25, + "y": 1.5 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "None (PV only)" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_PropSPAct\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 155, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Cfg_PropSPAct_1" + }, + "position": { + "height": 35, + "width": 161, + "x": 5, + "y": 15 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 0 + }, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_PropSPAct\"), false, true)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 9.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 126, + "x": 25, + "y": 1.5 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Full (Loop Error)" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_PropSPAct\", False)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 155, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Cfg_PropSPAct_0" + }, + "position": { + "height": 35.00000000000001, + "width": 161, + "x": 5, + "y": 47 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "rb_Cfg_PropSPAct" + }, + "position": { + "height": 83, + "width": 340, + "x": 2.5, + "y": 165.01 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 316, + "x": 12 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Derivative Action on SP Change:" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_DerivSPAct\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 9.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 126, + "x": 25, + "y": 1.5 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "None (PV only)" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_DerivSPAct\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 155, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Cfg_DerivSPAct_1" + }, + "position": { + "height": 35, + "width": 161, + "x": 5, + "y": 15 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 0 + }, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_DerivSPAct\"), false, true)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 9.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 126, + "x": 25, + "y": 1.5 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Full (Loop Error)" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_DerivSPAct\", False)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 155, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Cfg_DerivSPAct_0" + }, + "position": { + "height": 35.00000000000001, + "width": 161, + "x": 5, + "y": 47 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "rb_Cfg_DerivSPAct" + }, + "position": { + "height": 83, + "width": 340, + "x": 1.50368, + "y": 251.007 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "PageEngineering1" + }, + "position": { + "height": 334, + "width": 345, + "x": 2.5, + "y": 46 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{parent.custom.pageTabSelected}" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 0)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasAuto\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 306, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Allow Auto Loop Mode" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_HasAuto\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_HasAuto\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "cb_Cfg_HasAuto" + }, + "position": { + "height": 33, + "width": 340, + "x": 2.5, + "y": -1 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasMan\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 306, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Allow Manual Loop Mode" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_HasMan\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_HasMan\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "cb_Cfg_HasMan" + }, + "position": { + "height": 33, + "width": 340, + "x": 2.5, + "y": 33 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasCasc\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 306, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Allow Cascade Loop Mode" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_HasCasc\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_HasCasc\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "cb_Cfg_HasCasc" + }, + "position": { + "height": 33, + "width": 340, + "x": 2.5, + "y": 67 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasRatio\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 306, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Apply Ratio multiplier in Cascade Loop Mode" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_HasRatio\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_HasRatio\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "cb_Cfg_HasRatio" + }, + "position": { + "height": 33, + "width": 340, + "x": 2.5, + "y": 101 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_HasCasc\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SeparatorLine" + }, + "position": { + "height": 2, + "width": 340, + "x": 2.5, + "y": 137 + }, + "props": { + "style": { + "borderColor": "#E0E0E0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 316, + "x": 2 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Normal Loop Mode:" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_NormLM\") \u003d 0" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 9.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 180, + "x": 25, + "y": 1.5 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Disable Normal Selection" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_NormLM\", 0)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 200, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Cfg_NormLM_0" + }, + "position": { + "height": 35, + "width": 210, + "x": 25, + "y": 15 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_NormLM\") \u003d 1" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 9.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 180, + "x": 25, + "y": 1.5 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Manual" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_NormLM\", 1)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 200, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Cfg_NormLM_1" + }, + "position": { + "height": 35, + "width": 210, + "x": 25, + "y": 50 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_NormLM\") \u003d 2" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 9.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 180, + "x": 25, + "y": 1.5 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Auto" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_NormLM\", 2)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 200, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Cfg_NormLM_2" + }, + "position": { + "height": 35, + "width": 210, + "x": 25, + "y": 85 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_NormLM\") \u003d 3" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 9.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 180, + "x": 25, + "y": 1.5 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Cascade" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_NormLM\", 3)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 200, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Cfg_NormLM_3" + }, + "position": { + "height": 35, + "width": 210, + "x": 25, + "y": 120 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "rb_Cfg_NormLM" + }, + "position": { + "height": 156, + "width": 340, + "x": 2.5, + "y": 140.01 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_LockLM\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 306, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Operator cannot exit \u0027Normal\u0027 Loop Mode" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_LockLM\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_LockLM\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "cb_Cfg_LockLM" + }, + "position": { + "height": 33, + "width": 340, + "x": 1.5036773681640625, + "y": 299.0073547363281 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "!(tag({view.params.tagPath} + \"/Cfg_NormLM\") \u003d 0)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "PageEngineering2" + }, + "position": { + "height": 334, + "width": 345, + "x": 2.5, + "y": 46 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{parent.custom.pageTabSelected}" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 1)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "SeparatorLine" + }, + "position": { + "height": 2, + "width": 340, + "x": 2, + "y": 39 + }, + "props": { + "style": { + "borderColor": "#E0E0E0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_InitToMan\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 306, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Go to Manual Loop Mode when an init request is seen" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_InitToMan\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_InitToMan\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "cb_Cfg_InitToMan" + }, + "position": { + "height": 33, + "width": 340, + "x": 2.5, + "y": 6 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 316, + "x": 2 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Powerup Loop Mode:" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PwrupLM\") \u003d 0" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 9.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 270, + "x": 25, + "y": 1.5 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "No Change (use last mode)" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_PwrupLM\", 0)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 290, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Cfg_PwrupLM_0" + }, + "position": { + "height": 35, + "width": 300, + "x": 25, + "y": 15 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PwrupLM\") \u003d 1" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 9.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 270, + "x": 25, + "y": 1.5 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Manual" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_PwrupLM\", 1)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 290, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Cfg_PwrupLM_1" + }, + "position": { + "height": 35, + "width": 300, + "x": 25, + "y": 50 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PwrupLM\") \u003d 2" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 9.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 270, + "x": 25, + "y": 1.5 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Auto" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_PwrupLM\", 2)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 290, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Cfg_PwrupLM_2" + }, + "position": { + "height": 35, + "width": 300, + "x": 25, + "y": 85 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PwrupLM\") \u003d 3" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 9.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 270, + "x": 25, + "y": 1.5 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Cascade" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_PwrupLM\", 3)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 290, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Cfg_PwrupLM_3" + }, + "position": { + "height": 35, + "width": 300, + "x": 25, + "y": 120 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PwrupLM\") \u003d 4" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 9.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 270, + "x": 25, + "y": 1.5 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Use \u0027Normal\u0027 Loop Mode configuration" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_PwrupLM\", 4)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 290, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Cfg_PwrupLM_4" + }, + "position": { + "height": 35, + "width": 300, + "x": 25, + "y": 155 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_NormLM\") \u003e 0" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "rb_Cfg_PwrupLM" + }, + "position": { + "height": 193, + "width": 340, + "x": 2.5, + "y": 52.01 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "NumericInput" + }, + "position": { + "height": 20, + "width": 70, + "x": 259, + "y": 7 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CVDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_PwrupCV\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 100, + "minimum": 0 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 231, + "x": 11, + "y": 8 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Loop CV on powerup" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "nde_Cfg_PwrupCV" + }, + "position": { + "height": 32, + "width": 340, + "x": 2.5, + "y": 247 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PwrupLM\") !\u003d 0" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "NumericInput" + }, + "position": { + "height": 20, + "width": 70, + "x": 259, + "y": 7 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PVDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_MaxSP\")" + }, + "type": "expr" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_MinSP\")" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_PwrupSP\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 231, + "x": 11, + "y": 8 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Loop SP on powerup" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "nde_Cfg_PwrupSP" + }, + "position": { + "height": 32, + "width": 340, + "x": 2.5, + "y": 283.007 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "(tag({view.params.tagPath} + \"/Cfg_PwrupLM\") \u003d 1) || (tag({view.params.tagPath} + \"/Cfg_PwrupLM\") \u003d 2)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "PageEngineering3" + }, + "position": { + "height": 334, + "width": 345, + "x": 2.5, + "y": 46 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{parent.custom.pageTabSelected}" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 2)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_PVTrack\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 306, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "SP tracks PV in Manual Loop Mode" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_PVTrack\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_PVTrack\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "cb_Cfg_PVTrack" + }, + "position": { + "height": 33, + "width": 340, + "x": 2.5, + "y": 6 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_SkipSPRoCLim\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 306, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "overflow": "visible", + "textAlign": "left" + }, + "text": "Skip Setpoint Rate of Change limiting in Interlock Trip, Maintenance or Override" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_SkipSPRoCLim\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_SkipSPRoCLim\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "cb_Cfg_SkipSPRoCLim" + }, + "position": { + "height": 33, + "width": 340, + "x": 2.5, + "y": 41 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasSPRamp\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 306, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "overflow": "visible", + "textAlign": "left" + }, + "text": "Enable the Setpoint Ramp \u0027Wizard\u0027 function" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_HasSPRamp\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_HasSPRamp\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "cb_Cfg_HasSPRamp" + }, + "position": { + "height": 33, + "width": 340, + "x": 2.5, + "y": 76 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "NumericInput" + }, + "position": { + "height": 20, + "width": 70, + "x": 259, + "y": 7 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PVDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_MaxSP\")" + }, + "type": "expr" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_MinSP\")" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_SPRampMaxDev\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 241, + "x": 11, + "y": 8 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "If deviation exceeds this value, pause SP ramp (0.0\u003dnever pause))" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "nde_Cfg_SPRampMaxDev" + }, + "position": { + "height": 32, + "width": 340, + "x": 2.5, + "y": 117 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PwrupLM\") !\u003d 0" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 316, + "x": 2 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Proportional Action on SP Change:" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CtrlAction\") \u003d 0" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 9.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 236, + "x": 25, + "y": 1.5 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Reverse acting (E \u003d SP - PV)" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_CtrlAction\", 0)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 262, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Cfg_CtrlAction_0" + }, + "position": { + "height": 35, + "width": 267, + "x": 25, + "y": 15 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CtrlAction\") \u003d 1" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 9.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 236, + "x": 25, + "y": 1.5 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Direct acting (E \u003d PV - SP)" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_CtrlAction\", 1)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 262, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Cfg_CtrlAction_1" + }, + "position": { + "height": 35, + "width": 266, + "x": 25, + "y": 50 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "rb_Cfg_CtrlAction" + }, + "position": { + "height": 85, + "width": 340, + "x": 2.5, + "y": 161.01 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 316, + "x": 2 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Proportional Action on SP Change:" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Depend\") \u003d 0" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 9.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 236, + "x": 25, + "y": 1.5 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Independent" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_Depend\", 0)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 262, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Cfg_Depend_0" + }, + "position": { + "height": 35, + "width": 267, + "x": 25, + "y": 15 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Depend\") \u003d 1" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 9.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 236, + "x": 25, + "y": 1.5 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Dependent" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_Depend\", 1)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 262, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Cfg_Depend_1" + }, + "position": { + "height": 35, + "width": 266, + "x": 25, + "y": 50 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "rb_Cfg_Depend" + }, + "position": { + "height": 85, + "width": 340, + "x": 1.50368, + "y": 247.007 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "PageEngineering4" + }, + "position": { + "height": 334, + "width": 345, + "x": 2.5, + "y": 46 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{parent.custom.pageTabSelected}" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 3)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_ZCOff\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 306, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Error does not need to cross zero to be in deadband" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_ZCOff\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_ZCOff\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "cb_Cfg_ZCOff" + }, + "position": { + "height": 33, + "width": 340, + "x": 2.5, + "y": 33 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_DerivSmooth\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 306, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Use Derivative Smoothing" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_DerivSmooth\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_DerivSmooth\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "cb_Cfg_DerivSmooth" + }, + "position": { + "height": 33, + "width": 340, + "x": 2.5 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_LimitManCV\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 306, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "CV limits enforced in Manual Loop Mode" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_LimitManCV\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_LimitManCV\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "cb_Cfg_LimitManCV" + }, + "position": { + "height": 33, + "width": 340, + "x": 2.5, + "y": 66 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label2" + }, + "position": { + "height": 31, + "width": 271, + "x": 4.5, + "y": 126.5 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "These controls can be configured to not follow the Command Source Selection" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "SeparatorLine" + }, + "position": { + "height": 2, + "width": 340, + "x": 2, + "y": 104 + }, + "props": { + "style": { + "borderColor": "#E0E0E0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label0" + }, + "position": { + "height": 19, + "width": 165, + "x": 4.5, + "y": 102 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "bold", + "textAlign": "left" + }, + "text": "Command Source Exceptions" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FollowSource" + }, + "position": { + "height": 34, + "width": 56, + "x": 149, + "y": 157 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "bold", + "textAlign": "center" + }, + "text": "Follow Source" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "LineHor0" + }, + "position": { + "height": 1, + "width": 30, + "x": 162, + "y": 191 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "On_1" + }, + "position": { + "height": 34, + "width": 51, + "x": 196, + "y": 157 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "bold", + "textAlign": "center" + }, + "text": "Only Oper" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "LineHor1" + }, + "position": { + "height": 1, + "width": 30, + "x": 206.5, + "y": 191 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor2" + }, + "position": { + "height": 1, + "width": 30, + "x": 251.5, + "y": 191 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "On_2" + }, + "position": { + "height": 34, + "width": 51, + "x": 241, + "y": 157 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "bold", + "textAlign": "center" + }, + "text": "Only Prog" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "LineHor3" + }, + "position": { + "height": 1, + "width": 30, + "x": 297, + "y": 191 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "On_3" + }, + "position": { + "height": 34, + "width": 44, + "x": 289, + "y": 157 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "bold", + "textAlign": "center" + }, + "text": "Only Ext" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label3" + }, + "position": { + "height": 16, + "width": 119, + "x": 3.5, + "y": 200 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Loop Mode" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label4" + }, + "position": { + "height": 16, + "width": 134, + "x": 3.5, + "y": 235 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "CV" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label5" + }, + "position": { + "height": 16, + "width": 134, + "x": 3.50521, + "y": 270 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "SP" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "GO_ProgOperKeep" + }, + "position": { + "height": 35, + "width": 195, + "x": 147.5, + "y": 190.5 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "bitNumber": 0, + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_ProgOperKeep" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_ProgOperKeep_0" + }, + "position": { + "height": 35, + "width": 195, + "x": 147.5, + "y": 225.5 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "bitNumber": 1, + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_ProgOperKeep" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_ProgOperKeep_1" + }, + "position": { + "height": 35, + "width": 195, + "x": 147.5, + "y": 260.5 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "bitNumber": 2, + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_ProgOperKeep" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_ProgOperKeep_2" + }, + "position": { + "height": 35, + "width": 195, + "x": 147.5, + "y": 295.5 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "bitNumber": 3, + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_ProgOperKeep" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label6" + }, + "position": { + "height": 16, + "width": 134, + "x": 4.501953125, + "y": 305 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Ratio" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "PageEngineering5" + }, + "position": { + "height": 334, + "width": 345, + "x": 2.5, + "y": 46 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{parent.custom.pageTabSelected}" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 4)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "LineHor0" + }, + "position": { + "height": 1, + "width": 181, + "x": 155, + "y": 36 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "InterlockTrip" + }, + "position": { + "height": 34, + "width": 56, + "x": 153, + "y": 2 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "bold", + "textAlign": "center" + }, + "text": "Interlock Trip" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "CVFail" + }, + "position": { + "height": 34, + "width": 33, + "x": 208.5, + "y": 2 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "bold", + "textAlign": "center" + }, + "text": "CV Fail" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "PVFail" + }, + "position": { + "height": 34, + "width": 32, + "x": 253, + "y": 2 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "bold", + "textAlign": "center" + }, + "text": "PV Fail" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "SPFail" + }, + "position": { + "height": 34, + "width": 30, + "x": 298, + "y": 2 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "bold", + "textAlign": "center" + }, + "text": "SP Fail" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label3" + }, + "position": { + "height": 16, + "width": 139, + "x": 3.5, + "y": 42 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Latch shed action until reset" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label4" + }, + "position": { + "height": 16, + "width": 139, + "x": 3.5, + "y": 73.0039 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "CV Action" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label5" + }, + "position": { + "height": 16, + "width": 139, + "x": 13.5, + "y": 89 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "None" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label6" + }, + "position": { + "height": 16, + "width": 139, + "x": 13.5, + "y": 108 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Hold CV" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label7" + }, + "position": { + "height": 16, + "width": 139, + "x": 13.5, + "y": 127 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Use" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label8" + }, + "position": { + "height": 16, + "width": 139, + "x": 3.49609, + "y": 150.998 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "SP Action" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label9" + }, + "position": { + "height": 16, + "width": 139, + "x": 13.5, + "y": 166.998 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "None" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label10" + }, + "position": { + "height": 16, + "width": 139, + "x": 13.5, + "y": 186 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Hold SP" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label11" + }, + "position": { + "height": 16, + "width": 139, + "x": 13.5, + "y": 205 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Use" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label12" + }, + "position": { + "height": 16, + "width": 139, + "x": 13.5, + "y": 224 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Set SP to current PV" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label13" + }, + "position": { + "height": 16, + "width": 139, + "x": 3.5, + "y": 250.998 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Loop Mode Action" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label14" + }, + "position": { + "height": 16, + "width": 139, + "x": 13.5, + "y": 266.998 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "None" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label15" + }, + "position": { + "height": 16, + "width": 139, + "x": 13.5, + "y": 286 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Manual Only" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label16" + }, + "position": { + "height": 16, + "width": 139, + "x": 13.5, + "y": 305 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Auto or Manual Only" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_IntlkTripLatch\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigHMI} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 3.5, + "y": 4 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_IntlkTripLatch\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_IntlkTripLatch\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 22, + "width": 21, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigHMI} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "cb_Cfg_IntlkTripLatch" + }, + "position": { + "height": 24, + "width": 24, + "x": 169, + "y": 38 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_CVFailLatch\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigHMI} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 3.5, + "y": 4 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CVFailLatch\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_CVFailLatch\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 22, + "width": 21, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigHMI} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "cb_Cfg_CVFailLatch" + }, + "position": { + "height": 24, + "width": 24, + "x": 213, + "y": 38 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_PVFailLatch\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigHMI} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 3.5, + "y": 4 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_PVFailLatch\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_PVFailLatch\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 22, + "width": 21, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigHMI} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "cb_Cfg_PVFailLatch" + }, + "position": { + "height": 24, + "width": 24, + "x": 257, + "y": 38 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_SPFailLatch\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigHMI} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 3.5, + "y": 4 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_SPFailLatch\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_SPFailLatch\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 22, + "width": 21, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigHMI} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "cb_Cfg_SPFailLatch" + }, + "position": { + "height": 24, + "width": 24, + "x": 301, + "y": 38 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "nde_Cfg_IntlkCV" + }, + "position": { + "height": 20, + "width": 70, + "x": 75, + "y": 125 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CVDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CVEUMax\")" + }, + "type": "expr" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CVEUMin\")" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_IntlkCV\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "nde_Cfg_IntlkSP" + }, + "position": { + "height": 20, + "width": 70, + "x": 75.5028, + "y": 203.006 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PVDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PVEUMax\")" + }, + "type": "expr" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PVEUMin\")" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_IntlkSP\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_IntlkTripCVAct\") \u003d 0" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 2, + "y": 2.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_IntlkTripCVAct\", 0)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 16, + "width": 18, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "_0" + }, + "position": { + "height": 21, + "width": 19 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_IntlkTripCVAct\") \u003d 1" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 2, + "y": 2.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_IntlkTripCVAct\", 1)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 16, + "width": 18, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "_1" + }, + "position": { + "height": 21, + "width": 19, + "y": 21 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_IntlkTripCVAct\") \u003d 2" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 2, + "y": 2.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_IntlkTripCVAct\", 2)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 16, + "width": 18, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "_2" + }, + "position": { + "height": 21, + "width": 19, + "y": 42 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "rb_Cfg_IntlkTripCVAct" + }, + "position": { + "height": 68, + "width": 19, + "x": 170.5, + "y": 84.01 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_IntlkTripSPAct\") \u003d 0" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 2, + "y": 2.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_IntlkTripSPAct\", 0)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 16, + "width": 18, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "_0" + }, + "position": { + "height": 21, + "width": 19 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_IntlkTripSPAct\") \u003d 1" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 2, + "y": 2.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_IntlkTripSPAct\", 1)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 16, + "width": 18, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "_1" + }, + "position": { + "height": 21, + "width": 19, + "y": 21 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_IntlkTripSPAct\") \u003d 2" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 2, + "y": 2.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_IntlkTripSPAct\", 2)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 16, + "width": 18, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "_2" + }, + "position": { + "height": 21, + "width": 19, + "y": 42 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_IntlkTripSPAct\") \u003d 3" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 2, + "y": 2.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_IntlkTripSPAct\", 3)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 16, + "width": 18, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "_3" + }, + "position": { + "height": 21, + "width": 19, + "y": 63 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "rb_Cfg_IntlkTripSPAct" + }, + "position": { + "height": 84, + "width": 19, + "x": 170.5, + "y": 163.01 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_IntlkTripLMAct\") \u003d 0" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 2, + "y": 2.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_IntlkTripLMAct\", 0)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 16, + "width": 18, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "_0" + }, + "position": { + "height": 21, + "width": 19 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_IntlkTripLMAct\") \u003d 1" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 2, + "y": 2.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_IntlkTripLMAct\", 1)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 16, + "width": 18, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "_1" + }, + "position": { + "height": 21, + "width": 19, + "y": 21 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_IntlkTripLMAct\") \u003d 2" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 2, + "y": 2.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_IntlkTripLMAct\", 2)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 16, + "width": 18, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "_2" + }, + "position": { + "height": 21, + "width": 19, + "y": 42 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "rb_Cfg_IntlkTripLMAct" + }, + "position": { + "height": 68, + "width": 19, + "x": 170.503, + "y": 263.006 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CVFailCVAct\") \u003d 1" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 2, + "y": 2.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_CVFailCVAct\", 1)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 16, + "width": 18, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "_1" + }, + "position": { + "height": 21, + "width": 19, + "y": 21 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CVFailCVAct\") \u003d 2" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 2, + "y": 2.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_CVFailCVAct\", 2)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 16, + "width": 18, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "_2" + }, + "position": { + "height": 21, + "width": 19, + "y": 42 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "rb_Cfg_CVFailCVAct" + }, + "position": { + "height": 68, + "width": 19, + "x": 215.5, + "y": 84 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CVFailSPAct\") \u003d 0" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 2, + "y": 2.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_CVFailSPAct\", 0)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 16, + "width": 18, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "_0" + }, + "position": { + "height": 21, + "width": 19 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CVFailSPAct\") \u003d 1" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 2, + "y": 2.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_CVFailSPAct\", 1)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 16, + "width": 18, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "_1" + }, + "position": { + "height": 21, + "width": 19, + "y": 21 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CVFailSPAct\") \u003d 2" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 2, + "y": 2.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_CVFailSPAct\", 2)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 16, + "width": 18, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "_2" + }, + "position": { + "height": 21, + "width": 19, + "y": 42 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CVFailSPAct\") \u003d 3" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 2, + "y": 2.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_CVFailSPAct\", 3)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 16, + "width": 18, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "_3" + }, + "position": { + "height": 21, + "width": 19, + "y": 63 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "rb_Cfg_CVFailSPAct" + }, + "position": { + "height": 84, + "width": 19, + "x": 215.5, + "y": 163.00568389892578 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CVFailLMAct\") \u003d 0" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 2, + "y": 2.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_CVFailLMAct\", 0)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 16, + "width": 18, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "_0" + }, + "position": { + "height": 21, + "width": 19 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CVFailLMAct\") \u003d 1" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 2, + "y": 2.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_CVFailLMAct\", 1)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 16, + "width": 18, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "_1" + }, + "position": { + "height": 21, + "width": 19, + "y": 21 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CVFailLMAct\") \u003d 2" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 2, + "y": 2.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_CVFailLMAct\", 2)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 16, + "width": 18, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "_2" + }, + "position": { + "height": 21, + "width": 19, + "y": 42 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "rb_Cfg_CVFailLMAct" + }, + "position": { + "height": 68, + "width": 19, + "x": 215.5, + "y": 263.0056838989258 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PVFailCVAct\") \u003d 1" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 2, + "y": 2.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_PVFailCVAct\", 1)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 16, + "width": 18, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "_1" + }, + "position": { + "height": 21, + "width": 19, + "y": 21 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PVFailCVAct\") \u003d 2" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 2, + "y": 2.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_PVFailCVAct\", 2)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 16, + "width": 18, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "_2" + }, + "position": { + "height": 21, + "width": 19, + "y": 42 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "rb_Cfg_PVFailCVAct" + }, + "position": { + "height": 68, + "width": 19, + "x": 259.5, + "y": 84 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PVFailSPAct\") \u003d 0" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 2, + "y": 2.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_PVFailSPAct\", 0)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 16, + "width": 18, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "_0" + }, + "position": { + "height": 21, + "width": 19 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PVFailSPAct\") \u003d 1" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 2, + "y": 2.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_PVFailSPAct\", 1)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 16, + "width": 18, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "_1" + }, + "position": { + "height": 21, + "width": 19, + "y": 21 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PVFailSPAct\") \u003d 2" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 2, + "y": 2.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_PVFailSPAct\", 2)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 16, + "width": 18, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "_2" + }, + "position": { + "height": 21, + "width": 19, + "y": 42 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "rb_Cfg_PVFailSPAct" + }, + "position": { + "height": 84, + "width": 19, + "x": 259.5, + "y": 163.00568389892578 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PVFailLMAct\") \u003d 0" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 2, + "y": 2.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_PVFailLMAct\", 0)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 16, + "width": 18, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "_0" + }, + "position": { + "height": 21, + "width": 19 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PVFailLMAct\") \u003d 1" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 2, + "y": 2.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_PVFailLMAct\", 1)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 16, + "width": 18, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "_1" + }, + "position": { + "height": 21, + "width": 19, + "y": 21 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_PVFailLMAct\") \u003d 2" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 2, + "y": 2.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_PVFailLMAct\", 2)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 16, + "width": 18, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "_2" + }, + "position": { + "height": 21, + "width": 19, + "y": 42 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "rb_Cfg_PVFailLMAct" + }, + "position": { + "height": 68, + "width": 19, + "x": 259.5, + "y": 263.0056838989258 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_SPFailCVAct\") \u003d 0" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 2, + "y": 2.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_SPFailCVAct\", 0)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 16, + "width": 18, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "_0" + }, + "position": { + "height": 21, + "width": 19 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_SPFailCVAct\") \u003d 1" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 2, + "y": 2.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_SPFailCVAct\", 1)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 16, + "width": 18, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "_1" + }, + "position": { + "height": 21, + "width": 19, + "y": 21 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_SPFailCVAct\") \u003d 2" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 2, + "y": 2.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_SPFailCVAct\", 2)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 16, + "width": 18, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "_2" + }, + "position": { + "height": 21, + "width": 19, + "y": 42 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "rb_Cfg_SPFailCVAct" + }, + "position": { + "height": 68, + "width": 19, + "x": 303.5, + "y": 84.00568389892578 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_SPFailSPAct\") \u003d 1" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 2, + "y": 2.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_SPFailSPAct\", 1)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 16, + "width": 18, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "_1" + }, + "position": { + "height": 21, + "width": 19, + "y": 21 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_SPFailSPAct\") \u003d 2" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 2, + "y": 2.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_SPFailSPAct\", 2)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 16, + "width": 18, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "_2" + }, + "position": { + "height": 21, + "width": 19, + "y": 42 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_SPFailSPAct\") \u003d 3" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 2, + "y": 2.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_SPFailSPAct\", 3)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 16, + "width": 18, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "_3" + }, + "position": { + "height": 21, + "width": 19, + "y": 63 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "rb_Cfg_SPFailSPAct" + }, + "position": { + "height": 84, + "width": 19, + "x": 303.5, + "y": 163.00568389892578 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_SPFailLMAct\") \u003d 0" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 2, + "y": 2.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_SPFailLMAct\", 0)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 16, + "width": 18, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "_0" + }, + "position": { + "height": 21, + "width": 19 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_SPFailLMAct\") \u003d 1" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 2, + "y": 2.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_SPFailLMAct\", 1)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 16, + "width": 18, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "_1" + }, + "position": { + "height": 21, + "width": 19, + "y": 21 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_SPFailLMAct\") \u003d 2" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 2, + "y": 2.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_SPFailLMAct\", 2)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 16, + "width": 18, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "_2" + }, + "position": { + "height": 21, + "width": 19, + "y": 42 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "rb_Cfg_SPFailLMAct" + }, + "position": { + "height": 68, + "width": 19, + "x": 303.5, + "y": 263.0056838989258 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "PageEngineering6" + }, + "position": { + "height": 334, + "width": 345, + "x": 2.5, + "y": 46 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{parent.custom.pageTabSelected}" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 5)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageTabSelected \u003d self.parent.custom.pageTabSelected\n\tmaxNumberOfTabs \u003d self.parent.custom.maxNumberOfTabs - 1\n\t\n\tnewTab \u003d pageTabSelected - 1\n\t\n\tif (newTab \u003e\u003d 0):\n\t\tself.parent.custom.pageTabSelected \u003d newTab" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "PrevButton" + }, + "position": { + "height": 36, + "width": 30, + "x": 53.5 + }, + "props": { + "fit": { + "mode": "contain" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Prev.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 20, + "x": 3, + "y": 8 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if({parent.custom.currentTabNumber} \u003d {parent.custom.tabNumber}, \"#A3A3A3FF\", \"#A3A3A300\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.tabNumber} + 1" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 1, + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "tabNumber": 0 + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.currentTabNumber \u003d self.custom.tabNumber" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Page1Button" + }, + "position": { + "height": 36, + "width": 26, + "x": 81.5 + }, + "propConfig": { + "custom.currentTabNumber": { + "binding": { + "config": { + "bidirectional": true, + "path": "parent.custom.pageTabSelected" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 20, + "x": 3, + "y": 8 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if({parent.custom.currentTabNumber} \u003d {parent.custom.tabNumber}, \"#A3A3A3FF\", \"#A3A3A300\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.tabNumber} + 1" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 1, + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "tabNumber": 1 + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.currentTabNumber \u003d self.custom.tabNumber" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Page2Button" + }, + "position": { + "height": 36, + "width": 26, + "x": 108.5 + }, + "propConfig": { + "custom.currentTabNumber": { + "binding": { + "config": { + "bidirectional": true, + "path": "parent.custom.pageTabSelected" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 20, + "x": 3, + "y": 8 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if({parent.custom.currentTabNumber} \u003d {parent.custom.tabNumber}, \"#A3A3A3FF\", \"#A3A3A300\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.tabNumber} + 1" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 1, + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "tabNumber": 2 + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.currentTabNumber \u003d self.custom.tabNumber" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Page3Button" + }, + "position": { + "height": 36, + "width": 26, + "x": 135.5 + }, + "propConfig": { + "custom.currentTabNumber": { + "binding": { + "config": { + "bidirectional": true, + "path": "parent.custom.pageTabSelected" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 20, + "x": 3, + "y": 8 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if({parent.custom.currentTabNumber} \u003d {parent.custom.tabNumber}, \"#A3A3A3FF\", \"#A3A3A300\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.tabNumber} + 1" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 1, + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "tabNumber": 3 + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.currentTabNumber \u003d self.custom.tabNumber" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Page4Button" + }, + "position": { + "height": 36, + "width": 26, + "x": 161.5 + }, + "propConfig": { + "custom.currentTabNumber": { + "binding": { + "config": { + "bidirectional": true, + "path": "parent.custom.pageTabSelected" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 20, + "x": 3, + "y": 8 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if({parent.custom.currentTabNumber} \u003d {parent.custom.tabNumber}, \"#A3A3A3FF\", \"#A3A3A300\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.tabNumber} + 1" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 1, + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "tabNumber": 4 + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.currentTabNumber \u003d self.custom.tabNumber" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Page5Button" + }, + "position": { + "height": 36, + "width": 26, + "x": 187.5 + }, + "propConfig": { + "custom.currentTabNumber": { + "binding": { + "config": { + "bidirectional": true, + "path": "parent.custom.pageTabSelected" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 20, + "x": 3, + "y": 8 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if({parent.custom.currentTabNumber} \u003d {parent.custom.tabNumber}, \"#A3A3A3FF\", \"#A3A3A300\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.tabNumber} + 1" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 1, + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "tabNumber": 5 + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.currentTabNumber \u003d self.custom.tabNumber" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Page6Button" + }, + "position": { + "height": 36, + "width": 26, + "x": 214.5 + }, + "propConfig": { + "custom.currentTabNumber": { + "binding": { + "config": { + "bidirectional": true, + "path": "parent.custom.pageTabSelected" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageTabSelected \u003d self.parent.custom.pageTabSelected\n\tmaxNumberOfTabs \u003d self.parent.custom.maxNumberOfTabs - 1\n\t\n\tnewTab \u003d pageTabSelected + 1\n\t\n\tif (newTab \u003c\u003d maxNumberOfTabs):\n\t\tself.parent.custom.pageTabSelected \u003d newTab" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "NextButton" + }, + "position": { + "height": 36, + "width": 30, + "x": 237.5 + }, + "props": { + "fit": { + "mode": "contain" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Next.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + } + ], + "custom": { + "maintenanceTabSelected": 0, + "maxNumberOfTabs": 5 + }, + "meta": { + "name": "PageButtons" + }, + "position": { + "height": 36, + "width": 321, + "x": 14, + "y": 393 + }, + "propConfig": { + "custom.pageTabSelected": { + "binding": { + "config": { + "bidirectional": true, + "path": "parent.custom.pageTabSelected" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + } + ], + "custom": { + "pageTabSelected": 0 + }, + "meta": { + "name": "TabPage_Engineering" + }, + "position": { + "height": 442, + "width": 350, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d 2", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 402, + "width": 350, + "y": 42 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "x": 120, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 442, + "width": 350 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "GO_Desc_Label_Tag" + }, + "position": { + "height": 68.00000000000001, + "width": 340, + "x": 5, + "y": 3.99 + }, + "props": { + "params": { + "securityDeviceConfigHMI": true, + "tagPath": "[default]Test_Tags/P_Ain", + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Desc_Label_Tag" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_Area" + }, + "position": { + "height": 20, + "width": 340, + "x": 5, + "y": 70.987 + }, + "props": { + "params": { + "securityConfigSecurity": true, + "tagPath": "[default]Test_Tags/P_Ain", + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_Area" + }, + "type": "ia.display.view" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 214, + "x": 16.1, + "y": 2 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "PV Units:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "TextField" + }, + "position": { + "height": 20, + "width": 76, + "x": 257 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigHMI} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_PVEU\"" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": "1px", + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.input.text-field" + } + ], + "meta": { + "name": "sde_Cfg_PVEU" + }, + "position": { + "height": 20, + "width": 350, + "y": 94 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 214, + "x": 16.1, + "y": 2 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "CV Units:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "TextField" + }, + "position": { + "height": 20, + "width": 76, + "x": 257 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigHMI} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_CVEU\"" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": "1px", + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.input.text-field" + } + ], + "meta": { + "name": "sde_Cfg_CVEU" + }, + "position": { + "height": 20, + "width": 350, + "y": 118 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TextConfig" + }, + "position": { + "height": 200, + "width": 350, + "y": 47 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "GO_PVDecimalPlaces" + }, + "position": { + "height": 32, + "width": 340, + "x": 5, + "y": 32.0029 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "parameterName": "Cfg_PVDecPlcs", + "securityDeviceConfigHMI": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_PVDecimalPlaces" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_CVDecimalPlaces" + }, + "position": { + "height": 32, + "width": 340, + "x": 5, + "y": 62.0029 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "parameterName": "Cfg_CVDecPlcs", + "securityDeviceConfigHMI": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_CVDecimalPlaces" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_HasIntlkObj" + }, + "position": { + "height": 32, + "width": 340, + "x": 5, + "y": 116.457 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigHMI": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_HasIntlkObj" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "HMIConfig" + }, + "position": { + "height": 246, + "width": 350, + "y": 193 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_HMI" + }, + "position": { + "height": 442, + "width": 350, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d 3", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 403, + "width": 350, + "y": 42 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab" + }, + "position": { + "height": 39, + "width": 40, + "x": 161, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 442, + "width": 350 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 180.99999999999997 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textDecoration": "underline" + }, + "text": "PID Instruction Faults" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.parameterName})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tbit_check \u003d 2**self.parent.custom.bitNumber\n\t\n\tif ((value \u0026 bit_check) \u003d\u003d bit_check):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 317, + "x": 21 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.caption}" + }, + "type": "expr" + } + } + }, + "props": { + "alignVertical": "top", + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "bitNumber": 1, + "caption": "Process variable (PV) health bad", + "parameterName": "Sts_InstrFaults1" + }, + "meta": { + "name": "bid_Sts_InstrFaults1_1" + }, + "position": { + "height": 32, + "width": 340, + "x": -0.02, + "y": 17 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.parameterName})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tbit_check \u003d 2**self.parent.custom.bitNumber\n\t\n\tif ((value \u0026 bit_check) \u003d\u003d bit_check):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 317, + "x": 21 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.caption}" + }, + "type": "expr" + } + } + }, + "props": { + "alignVertical": "top", + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "bitNumber": 2, + "caption": "Control variable (CV) health bad", + "parameterName": "Sts_InstrFaults1" + }, + "meta": { + "name": "bid_Sts_InstrFaults1_2" + }, + "position": { + "height": 32, + "width": 340, + "y": 54 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.parameterName})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tbit_check \u003d 2**self.parent.custom.bitNumber\n\t\n\tif ((value \u0026 bit_check) \u003d\u003d bit_check):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 317, + "x": 21 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.caption}" + }, + "type": "expr" + } + } + }, + "props": { + "alignVertical": "top", + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "bitNumber": 3, + "caption": "Hand Feedback value health bad", + "parameterName": "Sts_InstrFaults1" + }, + "meta": { + "name": "bid_Sts_InstrFaults1_3" + }, + "position": { + "height": 32, + "width": 340, + "y": 91 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.parameterName})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tbit_check \u003d 2**self.parent.custom.bitNumber\n\t\n\tif ((value \u0026 bit_check) \u003d\u003d bit_check):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 317, + "x": 21 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.caption}" + }, + "type": "expr" + } + } + }, + "props": { + "alignVertical": "top", + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "bitNumber": 7, + "caption": "Cascade SP is outside of the High and Low SP Limits", + "parameterName": "Sts_InstrFaults1" + }, + "meta": { + "name": "bid_Sts_InstrFaults1_7" + }, + "position": { + "height": 32, + "width": 340, + "y": 128 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.parameterName})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tbit_check \u003d 2**self.parent.custom.bitNumber\n\t\n\tif ((value \u0026 bit_check) \u003d\u003d bit_check):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 317, + "x": 21 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.caption}" + }, + "type": "expr" + } + } + }, + "props": { + "alignVertical": "top", + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "bitNumber": 15, + "caption": "CV Previous is outside the range of 0 - 100% of CV scaled range", + "parameterName": "Sts_InstrFaults1" + }, + "meta": { + "name": "bid_Sts_InstrFaults1_15" + }, + "position": { + "height": 32, + "width": 340, + "y": 165 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.parameterName})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tbit_check \u003d 2**self.parent.custom.bitNumber\n\t\n\tif ((value \u0026 bit_check) \u003d\u003d bit_check):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 317, + "x": 21 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.caption}" + }, + "type": "expr" + } + } + }, + "props": { + "alignVertical": "top", + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "bitNumber": 19, + "caption": "Feed Forward is outside the range of -100 to +100 % of CV scaled range", + "parameterName": "Sts_InstrFaults1" + }, + "meta": { + "name": "bid_Sts_InstrFaults1_19" + }, + "position": { + "height": 32, + "width": 340, + "y": 202 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.parameterName})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tbit_check \u003d 2**self.parent.custom.bitNumber\n\t\n\tif ((value \u0026 bit_check) \u003d\u003d bit_check):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 317, + "x": 21 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.caption}" + }, + "type": "expr" + } + } + }, + "props": { + "alignVertical": "top", + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "bitNumber": 20, + "caption": "Feed Forward Previous is outside the range of -100 to +100 % of CV scaled range", + "parameterName": "Sts_InstrFaults1" + }, + "meta": { + "name": "bid_Sts_InstrFaults1_20" + }, + "position": { + "height": 32, + "width": 340, + "y": 239 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.parameterName})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tbit_check \u003d 2**self.parent.custom.bitNumber\n\t\n\tif ((value \u0026 bit_check) \u003d\u003d bit_check):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 317, + "x": 21 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.caption}" + }, + "type": "expr" + } + } + }, + "props": { + "alignVertical": "top", + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "bitNumber": 21, + "caption": "Hand Feedback is outside the range 0 - 100 % of CV scaled range", + "parameterName": "Sts_InstrFaults1" + }, + "meta": { + "name": "bid_Sts_InstrFaults1_21" + }, + "position": { + "height": 32, + "width": 340, + "y": 276 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.parameterName})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tbit_check \u003d 2**self.parent.custom.bitNumber\n\t\n\tif ((value \u0026 bit_check) \u003d\u003d bit_check):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 317, + "x": 21 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.caption}" + }, + "type": "expr" + } + } + }, + "props": { + "alignVertical": "top", + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "bitNumber": 28, + "caption": "Deviation threshold limits are not valid", + "parameterName": "Sts_InstrFaults1" + }, + "meta": { + "name": "bid_Sts_InstrFaults1_28" + }, + "position": { + "height": 32, + "width": 340, + "y": 313 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "PageFaults1" + }, + "position": { + "height": 347, + "width": 345, + "x": 2.5, + "y": 46 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{parent.custom.pageTabSelected}" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 0)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 290 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textDecoration": "underline" + }, + "text": "PID Instruction Configuration Faults" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.parameterName})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tbit_check \u003d 2**self.parent.custom.bitNumber\n\t\n\tif ((value \u0026 bit_check) \u003d\u003d bit_check):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 317, + "x": 21 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.caption}" + }, + "type": "expr" + } + } + }, + "props": { + "alignVertical": "top", + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "bitNumber": 4, + "caption": "Invalid PV Limits (Min must be less than Max)", + "parameterName": "Sts_InstrFaults1" + }, + "meta": { + "name": "bid_Sts_InstrFaults1_4" + }, + "position": { + "height": 32, + "width": 340, + "x": -0.02, + "y": 17 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.parameterName})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tbit_check \u003d 2**self.parent.custom.bitNumber\n\t\n\tif ((value \u0026 bit_check) \u003d\u003d bit_check):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 317, + "x": 21 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.caption}" + }, + "type": "expr" + } + } + }, + "props": { + "alignVertical": "top", + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "bitNumber": 8, + "caption": "Invalid SP Limits (Range set by PV Limits)", + "parameterName": "Sts_InstrFaults1" + }, + "meta": { + "name": "bid_Sts_InstrFaults1_8" + }, + "position": { + "height": 32, + "width": 340, + "y": 54 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.parameterName})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tbit_check \u003d 2**self.parent.custom.bitNumber\n\t\n\tif ((value \u0026 bit_check) \u003d\u003d bit_check):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 317, + "x": 21 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.caption}" + }, + "type": "expr" + } + } + }, + "props": { + "alignVertical": "top", + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "bitNumber": 11, + "caption": "Invalid Ratio Limits (Min must be less than Max)", + "parameterName": "Sts_InstrFaults1" + }, + "meta": { + "name": "bid_Sts_InstrFaults1_11" + }, + "position": { + "height": 32, + "width": 340, + "y": 91 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.parameterName})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tbit_check \u003d 2**self.parent.custom.bitNumber\n\t\n\tif ((value \u0026 bit_check) \u003d\u003d bit_check):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 317, + "x": 21 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.caption}" + }, + "type": "expr" + } + } + }, + "props": { + "alignVertical": "top", + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "bitNumber": 16, + "caption": "Invalid CV EU Span (The Min and Max cannot be equal)", + "parameterName": "Sts_InstrFaults1" + }, + "meta": { + "name": "bid_Sts_InstrFaults1_16" + }, + "position": { + "height": 32, + "width": 340, + "y": 128 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.parameterName})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tbit_check \u003d 2**self.parent.custom.bitNumber\n\t\n\tif ((value \u0026 bit_check) \u003d\u003d bit_check):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 317, + "x": 21 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.caption}" + }, + "type": "expr" + } + } + }, + "props": { + "alignVertical": "top", + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "bitNumber": 17, + "caption": "Invalid CV Limits (Range is 0 - 100 and Min must be less tan Max)", + "parameterName": "Sts_InstrFaults1" + }, + "meta": { + "name": "bid_Sts_InstrFaults1_17" + }, + "position": { + "height": 32, + "width": 340, + "y": 165 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "PageFaults2" + }, + "position": { + "height": 334, + "width": 345, + "x": 2.5, + "y": 46 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{parent.custom.pageTabSelected}" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 1)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageTabSelected \u003d self.parent.custom.pageTabSelected\n\tmaxNumberOfTabs \u003d self.parent.custom.maxNumberOfTabs - 1\n\t\n\tnewTab \u003d pageTabSelected - 1\n\t\n\tif (newTab \u003e\u003d 0):\n\t\tself.parent.custom.pageTabSelected \u003d newTab" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "PrevButton" + }, + "position": { + "height": 36, + "width": 30, + "x": 106 + }, + "props": { + "fit": { + "mode": "contain" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Prev.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 20, + "x": 3, + "y": 8 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if({parent.custom.currentTabNumber} \u003d {parent.custom.tabNumber}, \"#A3A3A3FF\", \"#A3A3A300\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.tabNumber} + 1" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 1, + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "tabNumber": 0 + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.currentTabNumber \u003d self.custom.tabNumber" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Page1Button" + }, + "position": { + "height": 36, + "width": 26, + "x": 134 + }, + "propConfig": { + "custom.currentTabNumber": { + "binding": { + "config": { + "bidirectional": true, + "path": "parent.custom.pageTabSelected" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 20, + "x": 3, + "y": 8 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if({parent.custom.currentTabNumber} \u003d {parent.custom.tabNumber}, \"#A3A3A3FF\", \"#A3A3A300\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.tabNumber} + 1" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 1, + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "tabNumber": 1 + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.currentTabNumber \u003d self.custom.tabNumber" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Page2Button" + }, + "position": { + "height": 36, + "width": 26, + "x": 161 + }, + "propConfig": { + "custom.currentTabNumber": { + "binding": { + "config": { + "bidirectional": true, + "path": "parent.custom.pageTabSelected" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageTabSelected \u003d self.parent.custom.pageTabSelected\n\tmaxNumberOfTabs \u003d self.parent.custom.maxNumberOfTabs - 1\n\t\n\tnewTab \u003d pageTabSelected + 1\n\t\n\tif (newTab \u003c\u003d maxNumberOfTabs):\n\t\tself.parent.custom.pageTabSelected \u003d newTab" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "NextButton" + }, + "position": { + "height": 36, + "width": 30, + "x": 185 + }, + "props": { + "fit": { + "mode": "contain" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Next.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + } + ], + "custom": { + "maintenanceTabSelected": 0, + "maxNumberOfTabs": 2 + }, + "meta": { + "name": "PageButtons" + }, + "position": { + "height": 36, + "width": 321, + "x": 14, + "y": 393 + }, + "propConfig": { + "custom.pageTabSelected": { + "binding": { + "config": { + "bidirectional": true, + "path": "parent.custom.pageTabSelected" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + } + ], + "custom": { + "pageTabSelected": 0 + }, + "meta": { + "name": "TabPage_Faults" + }, + "position": { + "height": 442, + "width": 350, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 4)", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 403, + "width": 350, + "y": 42 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab" + }, + "position": { + "height": 39, + "width": 40, + "x": 306, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 442, + "width": 350 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 145, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "caption": "P_PIDE_Advanced", + "label": "Popup Name:" + }, + "meta": { + "name": "PopupID" + }, + "position": { + "height": 18, + "width": 292, + "x": 48, + "y": 346 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 145, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "PlantPAX Version:" + }, + "meta": { + "name": "PlantPAX Version" + }, + "position": { + "height": 18, + "width": 292, + "x": 48, + "y": 369 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/version\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 145, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "UDT Version:" + }, + "meta": { + "name": "UDTVersion" + }, + "position": { + "height": 18, + "width": 292, + "x": 48, + "y": 392 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Prime Version\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 145, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "Popup Version:" + }, + "meta": { + "name": "PopupVersion" + }, + "position": { + "height": 18, + "width": 292, + "x": 48, + "y": 415 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "path": "view.custom.popupVersion" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Version" + }, + "position": { + "height": 442, + "width": 350, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d -1", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonTunning" + }, + "position": { + "height": 35, + "width": 35, + "x": 2 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Tuning.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 1" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonMaintenance" + }, + "position": { + "height": 35, + "width": 35, + "x": 42 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Maint.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 2" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonEngineering" + }, + "position": { + "height": 35, + "width": 35, + "x": 81 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Eng.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 3" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonHMI" + }, + "position": { + "height": 35, + "width": 35, + "x": 122 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_HMI.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 4" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonFaults" + }, + "position": { + "height": 35, + "width": 35, + "x": 163 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Faults.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d -1" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonHelp" + }, + "position": { + "height": 32, + "rotate": { + "angle": "180deg" + }, + "width": 32, + "x": 311 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Faults.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 63, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_CVEU\") || tag({view.params.tagPath} + \"/Err_CVRaw\") || tag({view.params.tagPath} + \"/Err_CVLim\") ||\r\ntag({view.params.tagPath} + \"/Err_PVEU\") || tag({view.params.tagPath} + \"/Err_RatioLim\") || tag({view.params.tagPath} + \"/Err_SPLim\") ||\r\ntag({view.params.tagPath} + \"/Err_Timer\") || tag({view.params.tagPath} + \"/Err_ZCDB\")" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_Information" + }, + "position": { + "height": 16, + "width": 16, + "x": 181, + "y": 18 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_InstrFaults1\") \u003e 0" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_Info.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupTabButtons" + }, + "position": { + "height": 35, + "width": 346, + "x": 3, + "y": 5 + }, + "type": "ia.container.coord" + } + ], + "events": { + "system": { + "onStartup": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 0\n\tself.getChild(\"TabPage_Maintenance\").custom.pageTabSelected \u003d 0\n\tself.getChild(\"TabPage_Engineering\").custom.pageTabSelected \u003d 0\n\tself.getChild(\"TabPage_Faults\").custom.pageTabSelected \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Perm/P_Perm/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Perm/P_Perm/resource.json new file mode 100644 index 0000000..d970a0a --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Perm/P_Perm/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "355a7e9b2a5b9f4c8e681b3223cd7f90643a658c255278a235995d24513c5c63", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Perm/P_Perm/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Perm/P_Perm/thumbnail.png new file mode 100644 index 0000000..1817907 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Perm/P_Perm/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Perm/P_Perm/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Perm/P_Perm/view.json new file mode 100644 index 0000000..52803a5 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Perm/P_Perm/view.json @@ -0,0 +1,6678 @@ +{ + "custom": { + "popupVersion": " 1.0 " + }, + "params": { + "securityBypassInterlocks": true, + "securityEnableSimulation": true, + "securityOperateEquipment": true, + "securityOverrideInputs": true, + "selectedTab": 0, + "tagPath": "[default]Test_Tags/P_DOut_Perm", + "userHasBasic": true + }, + "propConfig": { + "custom.popupVersion": { + "persistent": true + }, + "params.securityBypassInterlocks": { + "binding": { + "config": { + "expression": "\"securityBypassInterlocks\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityEnableSimulation": { + "binding": { + "config": { + "expression": "\"securityEnableSimulation\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityOperateEquipment": { + "binding": { + "config": { + "expression": "\"securityOperateEquipment\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityOverrideInputs": { + "binding": { + "config": { + "expression": "\"securityOverrideInputs\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.selectedTab": { + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 300, + "width": 392 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Tab1" + }, + "position": { + "height": 37, + "width": 39 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab2" + }, + "position": { + "height": 37, + "width": 39, + "y": 40 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "InactiveTabs" + }, + "position": { + "height": 157, + "width": 40, + "x": 4, + "y": 4 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 300, + "width": 353, + "x": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 300, + "width": 392 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 330, + "x": 3 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tSts_BypActive \u003d value\n\t\n\tif (Sts_BypActive):\n\t\tret_value \u003d \"Bypassed\"\n\telse:\n\t\tret_value \u003d \"Enabled\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "GOBypassDisplay" + }, + "position": { + "height": 20, + "width": 350 + }, + "props": { + "style": { + "backgroundColor": "#c0c0c0", + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "AbnormalSeparatorLine" + }, + "position": { + "height": 2, + "width": 352, + "y": 20 + }, + "props": { + "style": { + "borderColor": "#6A6A6A", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GroupAbbieNormals" + }, + "position": { + "height": 45, + "width": 403, + "x": 44 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 17, + "width": 16, + "x": 1.5, + "y": 1.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Perm\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Sts_NotOK\",\n\t1: \"\",\n\t2: \"Sts_NotOK_Bypassed\",\n\t3: \"Sts_NotOK\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\tSts_Perm \u003d (value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Perm + 2 \n\telse:\n\t\tindex \u003d Sts_Perm\n\t\n\tif (index \u003d\u003d 1):\n\t\tret_value \u003d False\n\telse:\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Perm\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Sts_NotOK\",\n\t1: \"\",\n\t2: \"Sts_NotOK_Bypassed\",\n\t3: \"Sts_NotOK\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Perm \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Perm\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Perm + 2 \n\telse:\n\t\tindex \u003d Sts_Perm + 0\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 137, + "x": 24, + "y": 2 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Perm\") || tag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#3F3F3F\"\n\tindex \u003d 0\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Perm \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Perm\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tret_value \u003d \"#A0A0A4\" \n\telse:\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.permissiveIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "permissiveIndex": 0 + }, + "meta": { + "name": "GOPermissive0" + }, + "position": { + "height": 20, + "width": 165, + "y": 5 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 17, + "width": 16, + "x": 1.5, + "y": 1.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Perm\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Sts_NotOK\",\n\t1: \"\",\n\t2: \"Sts_NotOK_Bypassed\",\n\t3: \"Sts_NotOK\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\tSts_Perm \u003d (value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Perm + 2 \n\telse:\n\t\tindex \u003d Sts_Perm\n\t\n\tif (index \u003d\u003d 1):\n\t\tret_value \u003d False\n\telse:\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Perm\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Sts_NotOK\",\n\t1: \"\",\n\t2: \"Sts_NotOK_Bypassed\",\n\t3: \"Sts_NotOK\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Perm \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Perm\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Perm + 2 \n\telse:\n\t\tindex \u003d Sts_Perm + 0\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 137, + "x": 24, + "y": 2 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Perm\") || tag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#3F3F3F\"\n\tindex \u003d 0\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Perm \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Perm\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tret_value \u003d \"#A0A0A4\" \n\telse:\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.permissiveIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "permissiveIndex": 1 + }, + "meta": { + "name": "GOPermissive1" + }, + "position": { + "height": 20, + "width": 165, + "y": 26 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 17, + "width": 16, + "x": 1.5, + "y": 1.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Perm\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Sts_NotOK\",\n\t1: \"\",\n\t2: \"Sts_NotOK_Bypassed\",\n\t3: \"Sts_NotOK\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\tSts_Perm \u003d (value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Perm + 2 \n\telse:\n\t\tindex \u003d Sts_Perm\n\t\n\tif (index \u003d\u003d 1):\n\t\tret_value \u003d False\n\telse:\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Perm\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Sts_NotOK\",\n\t1: \"\",\n\t2: \"Sts_NotOK_Bypassed\",\n\t3: \"Sts_NotOK\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Perm \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Perm\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Perm + 2 \n\telse:\n\t\tindex \u003d Sts_Perm + 0\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 137, + "x": 24, + "y": 2 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Perm\") || tag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#3F3F3F\"\n\tindex \u003d 0\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Perm \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Perm\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tret_value \u003d \"#A0A0A4\" \n\telse:\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.permissiveIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "permissiveIndex": 2 + }, + "meta": { + "name": "GOPermissive2" + }, + "position": { + "height": 20, + "width": 165, + "y": 47 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 17, + "width": 16, + "x": 1.5, + "y": 1.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Perm\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Sts_NotOK\",\n\t1: \"\",\n\t2: \"Sts_NotOK_Bypassed\",\n\t3: \"Sts_NotOK\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\tSts_Perm \u003d (value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Perm + 2 \n\telse:\n\t\tindex \u003d Sts_Perm\n\t\n\tif (index \u003d\u003d 1):\n\t\tret_value \u003d False\n\telse:\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Perm\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Sts_NotOK\",\n\t1: \"\",\n\t2: \"Sts_NotOK_Bypassed\",\n\t3: \"Sts_NotOK\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Perm \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Perm\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Perm + 2 \n\telse:\n\t\tindex \u003d Sts_Perm + 0\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 137, + "x": 24, + "y": 2 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Perm\") || tag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#3F3F3F\"\n\tindex \u003d 0\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Perm \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Perm\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tret_value \u003d \"#A0A0A4\" \n\telse:\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.permissiveIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "permissiveIndex": 3 + }, + "meta": { + "name": "GOPermissive3" + }, + "position": { + "height": 20, + "width": 165, + "y": 68 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 17, + "width": 16, + "x": 1.5, + "y": 1.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Perm\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Sts_NotOK\",\n\t1: \"\",\n\t2: \"Sts_NotOK_Bypassed\",\n\t3: \"Sts_NotOK\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\tSts_Perm \u003d (value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Perm + 2 \n\telse:\n\t\tindex \u003d Sts_Perm\n\t\n\tif (index \u003d\u003d 1):\n\t\tret_value \u003d False\n\telse:\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Perm\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Sts_NotOK\",\n\t1: \"\",\n\t2: \"Sts_NotOK_Bypassed\",\n\t3: \"Sts_NotOK\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Perm \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Perm\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Perm + 2 \n\telse:\n\t\tindex \u003d Sts_Perm + 0\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 137, + "x": 24, + "y": 2 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Perm\") || tag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#3F3F3F\"\n\tindex \u003d 0\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Perm \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Perm\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tret_value \u003d \"#A0A0A4\" \n\telse:\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.permissiveIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "permissiveIndex": 4 + }, + "meta": { + "name": "GOPermissive4" + }, + "position": { + "height": 20, + "width": 165, + "y": 89 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 17, + "width": 16, + "x": 1.5, + "y": 1.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Perm\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Sts_NotOK\",\n\t1: \"\",\n\t2: \"Sts_NotOK_Bypassed\",\n\t3: \"Sts_NotOK\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\tSts_Perm \u003d (value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Perm + 2 \n\telse:\n\t\tindex \u003d Sts_Perm\n\t\n\tif (index \u003d\u003d 1):\n\t\tret_value \u003d False\n\telse:\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Perm\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Sts_NotOK\",\n\t1: \"\",\n\t2: \"Sts_NotOK_Bypassed\",\n\t3: \"Sts_NotOK\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Perm \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Perm\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Perm + 2 \n\telse:\n\t\tindex \u003d Sts_Perm + 0\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 137, + "x": 24, + "y": 2 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Perm\") || tag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#3F3F3F\"\n\tindex \u003d 0\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Perm \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Perm\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tret_value \u003d \"#A0A0A4\" \n\telse:\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.permissiveIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "permissiveIndex": 5 + }, + "meta": { + "name": "GOPermissive5" + }, + "position": { + "height": 20, + "width": 165, + "y": 110 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 17, + "width": 16, + "x": 1.5, + "y": 1.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Perm\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Sts_NotOK\",\n\t1: \"\",\n\t2: \"Sts_NotOK_Bypassed\",\n\t3: \"Sts_NotOK\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\tSts_Perm \u003d (value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Perm + 2 \n\telse:\n\t\tindex \u003d Sts_Perm\n\t\n\tif (index \u003d\u003d 1):\n\t\tret_value \u003d False\n\telse:\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Perm\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Sts_NotOK\",\n\t1: \"\",\n\t2: \"Sts_NotOK_Bypassed\",\n\t3: \"Sts_NotOK\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Perm \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Perm\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Perm + 2 \n\telse:\n\t\tindex \u003d Sts_Perm + 0\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 137, + "x": 24, + "y": 2 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Perm\") || tag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#3F3F3F\"\n\tindex \u003d 0\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Perm \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Perm\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tret_value \u003d \"#A0A0A4\" \n\telse:\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.permissiveIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "permissiveIndex": 6 + }, + "meta": { + "name": "GOPermissive6" + }, + "position": { + "height": 20, + "width": 165, + "y": 131 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 17, + "width": 16, + "x": 1.5, + "y": 1.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Perm\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Sts_NotOK\",\n\t1: \"\",\n\t2: \"Sts_NotOK_Bypassed\",\n\t3: \"Sts_NotOK\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\tSts_Perm \u003d (value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Perm + 2 \n\telse:\n\t\tindex \u003d Sts_Perm\n\t\n\tif (index \u003d\u003d 1):\n\t\tret_value \u003d False\n\telse:\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Perm\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Sts_NotOK\",\n\t1: \"\",\n\t2: \"Sts_NotOK_Bypassed\",\n\t3: \"Sts_NotOK\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Perm \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Perm\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Perm + 2 \n\telse:\n\t\tindex \u003d Sts_Perm + 0\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 137, + "x": 24, + "y": 2 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Perm\") || tag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#3F3F3F\"\n\tindex \u003d 0\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Perm \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Perm\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tret_value \u003d \"#A0A0A4\" \n\telse:\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.permissiveIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "permissiveIndex": 7 + }, + "meta": { + "name": "GOPermissive7" + }, + "position": { + "height": 20, + "width": 165, + "y": 152 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "DisplayLeft" + }, + "position": { + "height": 172, + "width": 165 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 17, + "width": 16, + "x": 1.5, + "y": 1.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Perm\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Sts_NotOK\",\n\t1: \"\",\n\t2: \"Sts_NotOK_Bypassed\",\n\t3: \"Sts_NotOK\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\tSts_Perm \u003d (value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Perm + 2 \n\telse:\n\t\tindex \u003d Sts_Perm\n\t\n\tif (index \u003d\u003d 1):\n\t\tret_value \u003d False\n\telse:\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Perm\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Sts_NotOK\",\n\t1: \"\",\n\t2: \"Sts_NotOK_Bypassed\",\n\t3: \"Sts_NotOK\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Perm \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Perm\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Perm + 2 \n\telse:\n\t\tindex \u003d Sts_Perm + 0\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 137, + "x": 24, + "y": 2 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Perm\") || tag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#3F3F3F\"\n\tindex \u003d 0\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Perm \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Perm\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tret_value \u003d \"#A0A0A4\" \n\telse:\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.permissiveIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "permissiveIndex": 8 + }, + "meta": { + "name": "GOPermissive8" + }, + "position": { + "height": 20, + "width": 165, + "y": 5 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 17, + "width": 16, + "x": 1.5, + "y": 1.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Perm\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Sts_NotOK\",\n\t1: \"\",\n\t2: \"Sts_NotOK_Bypassed\",\n\t3: \"Sts_NotOK\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\tSts_Perm \u003d (value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Perm + 2 \n\telse:\n\t\tindex \u003d Sts_Perm\n\t\n\tif (index \u003d\u003d 1):\n\t\tret_value \u003d False\n\telse:\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Perm\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Sts_NotOK\",\n\t1: \"\",\n\t2: \"Sts_NotOK_Bypassed\",\n\t3: \"Sts_NotOK\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Perm \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Perm\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Perm + 2 \n\telse:\n\t\tindex \u003d Sts_Perm + 0\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 137, + "x": 24, + "y": 2 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Perm\") || tag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#3F3F3F\"\n\tindex \u003d 0\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Perm \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Perm\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tret_value \u003d \"#A0A0A4\" \n\telse:\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.permissiveIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "permissiveIndex": 9 + }, + "meta": { + "name": "GOPermissive9" + }, + "position": { + "height": 20, + "width": 165, + "y": 26 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 17, + "width": 16, + "x": 1.5, + "y": 1.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Perm\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Sts_NotOK\",\n\t1: \"\",\n\t2: \"Sts_NotOK_Bypassed\",\n\t3: \"Sts_NotOK\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\tSts_Perm \u003d (value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Perm + 2 \n\telse:\n\t\tindex \u003d Sts_Perm\n\t\n\tif (index \u003d\u003d 1):\n\t\tret_value \u003d False\n\telse:\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Perm\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Sts_NotOK\",\n\t1: \"\",\n\t2: \"Sts_NotOK_Bypassed\",\n\t3: \"Sts_NotOK\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Perm \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Perm\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Perm + 2 \n\telse:\n\t\tindex \u003d Sts_Perm + 0\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 137, + "x": 24, + "y": 2 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Perm\") || tag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#3F3F3F\"\n\tindex \u003d 0\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Perm \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Perm\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tret_value \u003d \"#A0A0A4\" \n\telse:\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.permissiveIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "permissiveIndex": 10 + }, + "meta": { + "name": "GOPermissive10" + }, + "position": { + "height": 20, + "width": 165, + "y": 47 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 17, + "width": 16, + "x": 1.5, + "y": 1.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Perm\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Sts_NotOK\",\n\t1: \"\",\n\t2: \"Sts_NotOK_Bypassed\",\n\t3: \"Sts_NotOK\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\tSts_Perm \u003d (value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Perm + 2 \n\telse:\n\t\tindex \u003d Sts_Perm\n\t\n\tif (index \u003d\u003d 1):\n\t\tret_value \u003d False\n\telse:\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Perm\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Sts_NotOK\",\n\t1: \"\",\n\t2: \"Sts_NotOK_Bypassed\",\n\t3: \"Sts_NotOK\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Perm \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Perm\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Perm + 2 \n\telse:\n\t\tindex \u003d Sts_Perm + 0\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 137, + "x": 24, + "y": 2 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Perm\") || tag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#3F3F3F\"\n\tindex \u003d 0\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Perm \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Perm\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tret_value \u003d \"#A0A0A4\" \n\telse:\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.permissiveIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "permissiveIndex": 11 + }, + "meta": { + "name": "GOPermissive11" + }, + "position": { + "height": 20, + "width": 165, + "y": 68 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 17, + "width": 16, + "x": 1.5, + "y": 1.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Perm\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Sts_NotOK\",\n\t1: \"\",\n\t2: \"Sts_NotOK_Bypassed\",\n\t3: \"Sts_NotOK\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\tSts_Perm \u003d (value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Perm + 2 \n\telse:\n\t\tindex \u003d Sts_Perm\n\t\n\tif (index \u003d\u003d 1):\n\t\tret_value \u003d False\n\telse:\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Perm\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Sts_NotOK\",\n\t1: \"\",\n\t2: \"Sts_NotOK_Bypassed\",\n\t3: \"Sts_NotOK\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Perm \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Perm\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Perm + 2 \n\telse:\n\t\tindex \u003d Sts_Perm + 0\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 137, + "x": 24, + "y": 2 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Perm\") || tag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#3F3F3F\"\n\tindex \u003d 0\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Perm \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Perm\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tret_value \u003d \"#A0A0A4\" \n\telse:\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.permissiveIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "permissiveIndex": 12 + }, + "meta": { + "name": "GOPermissive12" + }, + "position": { + "height": 20, + "width": 165, + "y": 89 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 17, + "width": 16, + "x": 1.5, + "y": 1.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Perm\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Sts_NotOK\",\n\t1: \"\",\n\t2: \"Sts_NotOK_Bypassed\",\n\t3: \"Sts_NotOK\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\tSts_Perm \u003d (value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Perm + 2 \n\telse:\n\t\tindex \u003d Sts_Perm\n\t\n\tif (index \u003d\u003d 1):\n\t\tret_value \u003d False\n\telse:\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Perm\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Sts_NotOK\",\n\t1: \"\",\n\t2: \"Sts_NotOK_Bypassed\",\n\t3: \"Sts_NotOK\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Perm \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Perm\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Perm + 2 \n\telse:\n\t\tindex \u003d Sts_Perm + 0\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 137, + "x": 24, + "y": 2 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Perm\") || tag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#3F3F3F\"\n\tindex \u003d 0\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Perm \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Perm\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tret_value \u003d \"#A0A0A4\" \n\telse:\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.permissiveIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "permissiveIndex": 13 + }, + "meta": { + "name": "GOPermissive13" + }, + "position": { + "height": 20, + "width": 165, + "y": 110 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 17, + "width": 16, + "x": 1.5, + "y": 1.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Perm\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Sts_NotOK\",\n\t1: \"\",\n\t2: \"Sts_NotOK_Bypassed\",\n\t3: \"Sts_NotOK\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\tSts_Perm \u003d (value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Perm + 2 \n\telse:\n\t\tindex \u003d Sts_Perm\n\t\n\tif (index \u003d\u003d 1):\n\t\tret_value \u003d False\n\telse:\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Perm\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Sts_NotOK\",\n\t1: \"\",\n\t2: \"Sts_NotOK_Bypassed\",\n\t3: \"Sts_NotOK\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Perm \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Perm\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Perm + 2 \n\telse:\n\t\tindex \u003d Sts_Perm + 0\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 137, + "x": 24, + "y": 2 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Perm\") || tag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#3F3F3F\"\n\tindex \u003d 0\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Perm \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Perm\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tret_value \u003d \"#A0A0A4\" \n\telse:\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.permissiveIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "permissiveIndex": 14 + }, + "meta": { + "name": "GOPermissive14" + }, + "position": { + "height": 20, + "width": 165, + "y": 131 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 17, + "width": 16, + "x": 1.5, + "y": 1.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Perm\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Sts_NotOK\",\n\t1: \"\",\n\t2: \"Sts_NotOK_Bypassed\",\n\t3: \"Sts_NotOK\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d (system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\tSts_Perm \u003d (value \u0026 bit_check_value) \u003d\u003d bit_check_value\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Perm + 2 \n\telse:\n\t\tindex \u003d Sts_Perm\n\t\n\tif (index \u003d\u003d 1):\n\t\tret_value \u003d False\n\telse:\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Perm\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Sts_NotOK\",\n\t1: \"\",\n\t2: \"Sts_NotOK_Bypassed\",\n\t3: \"Sts_NotOK\",\n\t}\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Perm \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Perm\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tindex \u003d Sts_Perm + 2 \n\telse:\n\t\tindex \u003d Sts_Perm + 0\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 137, + "x": 24, + "y": 2 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\") || tag({view.params.tagPath} + \"/Sts_Perm\") || tag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#3F3F3F\"\n\tindex \u003d 0\n\t\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\n\tbit_check_value \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\tSts_Perm \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Perm\"])[0].value \u0026 bit_check_value) \u003d\u003d bit_check_value)\n\n\tif (Sts_BypActive) and (MSet_Bypass):\n\t\tret_value \u003d \"#A0A0A4\" \n\telse:\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.permissiveIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "permissiveIndex": 15 + }, + "meta": { + "name": "GOPermissive15" + }, + "position": { + "height": 20, + "width": 165, + "y": 152 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "DisplayRight" + }, + "position": { + "height": 172, + "width": 165, + "x": 174.01785278320312 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GroupPermissiveDisplay" + }, + "position": { + "height": 181, + "width": 340, + "x": 43, + "y": 35 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Home" + }, + "position": { + "height": 300, + "width": 392, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d 0", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 300, + "width": 353, + "x": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "y": 43 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 300, + "width": 392 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "AdvancedProperties" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Properties.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tblock_label \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_Label\"])[0].value\n\ttitle \u003d \"{0} - {1}\".format(block_label, \"Advanced\")\n\t\n\tparams \u003d {\u0027tagPath\u0027: self.view.params.tagPath}\n\t\n\tsystem.perspective.openPopup({self.view.params.tagPath},\u0027Plant PAX/Popups/P_Perm/P_Perm_Advanced\u0027, params, title, showCloseIcon \u003d True, resizable \u003d False)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "AdvancedPropertiesButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BadConfig" + }, + "position": { + "height": 16, + "width": 16, + "x": 22 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_Timer\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupNavToAdvanced" + }, + "position": { + "height": 42, + "width": 42, + "x": 50, + "y": 3 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "HeaderText" + }, + "position": { + "height": 16, + "width": 320 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textDecoration": "underline" + }, + "text": "Enable Bypass" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (MSet_Bypass):\n\t\tret_value \u003d True\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 2 + }, + "propConfig": { + "custom.overrideColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "custom.permissiveIndex": { + "binding": { + "config": { + "path": "parent.custom.permissiveIndex" + }, + "type": "property" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 135, + "x": 25 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.permissiveIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value\n\tbit_check \u003d 2**self.parent.custom.permissiveIndex \n\twrite_value \u003d False\n\t\n\tif ((value \u0026 bit_check) \u003d\u003d bit_check):\n\t\tvalue \u003d value - bit_check\n\t\twrite_value \u003d True\n\telif ((value \u0026 bit_check) !\u003d bit_check):\n\t\tvalue \u003d value + bit_check\n\t\twrite_value \u003d True\n\t\t\n\tif (write_value):\n\t\tsystem.tag.write(self.view.params.tagPath + \"/MSet_Bypass\", value)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 18, + "width": 160, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.permissiveIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "custom": { + "permissiveIndex": 0 + }, + "meta": { + "name": "GOMSetBypass0" + }, + "position": { + "height": 20, + "width": 174 + }, + "propConfig": { + "custom.overrideColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#B0B0B0\"\n\t\n\tbit_check \u003d 2**self.custom.permissiveIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Perm\") || (tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {this.custom.permissiveIndex}) !\u003d null) " + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.custom.permissiveIndex\n\tSts_Perm \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Perm\"])[0].value \u0026 bit_check) \u003d\u003d bit_check)\n\tCfg_CondTxt \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CondTxt/\" + str(self.custom.permissiveIndex)])[0].value\n\t\n\tif (Sts_Perm \u003d\u003d 0) or (Cfg_CondTxt !\u003d None):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (MSet_Bypass):\n\t\tret_value \u003d True\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 2 + }, + "propConfig": { + "custom.overrideColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "custom.permissiveIndex": { + "binding": { + "config": { + "path": "parent.custom.permissiveIndex" + }, + "type": "property" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 135, + "x": 25 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.permissiveIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value\n\tbit_check \u003d 2**self.parent.custom.permissiveIndex \n\twrite_value \u003d False\n\t\n\tif ((value \u0026 bit_check) \u003d\u003d bit_check):\n\t\tvalue \u003d value - bit_check\n\t\twrite_value \u003d True\n\telif ((value \u0026 bit_check) !\u003d bit_check):\n\t\tvalue \u003d value + bit_check\n\t\twrite_value \u003d True\n\t\t\n\tif (write_value):\n\t\tsystem.tag.write(self.view.params.tagPath + \"/MSet_Bypass\", value)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 18, + "width": 160, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.permissiveIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "custom": { + "permissiveIndex": 1 + }, + "meta": { + "name": "GOMSetBypass1" + }, + "position": { + "height": 20, + "width": 174, + "y": 23 + }, + "propConfig": { + "custom.overrideColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#B0B0B0\"\n\t\n\tbit_check \u003d 2**self.custom.permissiveIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Perm\") || (tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {this.custom.permissiveIndex}) !\u003d null) " + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.custom.permissiveIndex\n\tSts_Perm \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Perm\"])[0].value \u0026 bit_check) \u003d\u003d bit_check)\n\tCfg_CondTxt \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CondTxt/\" + str(self.custom.permissiveIndex)])[0].value\n\t\n\tif (Sts_Perm \u003d\u003d 0) or (Cfg_CondTxt !\u003d None):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (MSet_Bypass):\n\t\tret_value \u003d True\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 2 + }, + "propConfig": { + "custom.overrideColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "custom.permissiveIndex": { + "binding": { + "config": { + "path": "parent.custom.permissiveIndex" + }, + "type": "property" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 135, + "x": 25 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.permissiveIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value\n\tbit_check \u003d 2**self.parent.custom.permissiveIndex \n\twrite_value \u003d False\n\t\n\tif ((value \u0026 bit_check) \u003d\u003d bit_check):\n\t\tvalue \u003d value - bit_check\n\t\twrite_value \u003d True\n\telif ((value \u0026 bit_check) !\u003d bit_check):\n\t\tvalue \u003d value + bit_check\n\t\twrite_value \u003d True\n\t\t\n\tif (write_value):\n\t\tsystem.tag.write(self.view.params.tagPath + \"/MSet_Bypass\", value)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 18, + "width": 160, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.permissiveIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "custom": { + "permissiveIndex": 2 + }, + "meta": { + "name": "GOMSetBypass2" + }, + "position": { + "height": 20, + "width": 174, + "y": 46 + }, + "propConfig": { + "custom.overrideColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#B0B0B0\"\n\t\n\tbit_check \u003d 2**self.custom.permissiveIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Perm\") || (tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {this.custom.permissiveIndex}) !\u003d null) " + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.custom.permissiveIndex\n\tSts_Perm \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Perm\"])[0].value \u0026 bit_check) \u003d\u003d bit_check)\n\tCfg_CondTxt \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CondTxt/\" + str(self.custom.permissiveIndex)])[0].value\n\t\n\tif (Sts_Perm \u003d\u003d 0) or (Cfg_CondTxt !\u003d None):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (MSet_Bypass):\n\t\tret_value \u003d True\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 2 + }, + "propConfig": { + "custom.overrideColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "custom.permissiveIndex": { + "binding": { + "config": { + "path": "parent.custom.permissiveIndex" + }, + "type": "property" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 135, + "x": 25 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.permissiveIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value\n\tbit_check \u003d 2**self.parent.custom.permissiveIndex \n\twrite_value \u003d False\n\t\n\tif ((value \u0026 bit_check) \u003d\u003d bit_check):\n\t\tvalue \u003d value - bit_check\n\t\twrite_value \u003d True\n\telif ((value \u0026 bit_check) !\u003d bit_check):\n\t\tvalue \u003d value + bit_check\n\t\twrite_value \u003d True\n\t\t\n\tif (write_value):\n\t\tsystem.tag.write(self.view.params.tagPath + \"/MSet_Bypass\", value)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 18, + "width": 160, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.permissiveIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "custom": { + "permissiveIndex": 3 + }, + "meta": { + "name": "GOMSetBypass3" + }, + "position": { + "height": 20, + "width": 174, + "y": 69 + }, + "propConfig": { + "custom.overrideColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#B0B0B0\"\n\t\n\tbit_check \u003d 2**self.custom.permissiveIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Perm\") || (tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {this.custom.permissiveIndex}) !\u003d null) " + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.custom.permissiveIndex\n\tSts_Perm \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Perm\"])[0].value \u0026 bit_check) \u003d\u003d bit_check)\n\tCfg_CondTxt \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CondTxt/\" + str(self.custom.permissiveIndex)])[0].value\n\t\n\tif (Sts_Perm \u003d\u003d 0) or (Cfg_CondTxt !\u003d None):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (MSet_Bypass):\n\t\tret_value \u003d True\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 2 + }, + "propConfig": { + "custom.overrideColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "custom.permissiveIndex": { + "binding": { + "config": { + "path": "parent.custom.permissiveIndex" + }, + "type": "property" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 135, + "x": 25 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.permissiveIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value\n\tbit_check \u003d 2**self.parent.custom.permissiveIndex \n\twrite_value \u003d False\n\t\n\tif ((value \u0026 bit_check) \u003d\u003d bit_check):\n\t\tvalue \u003d value - bit_check\n\t\twrite_value \u003d True\n\telif ((value \u0026 bit_check) !\u003d bit_check):\n\t\tvalue \u003d value + bit_check\n\t\twrite_value \u003d True\n\t\t\n\tif (write_value):\n\t\tsystem.tag.write(self.view.params.tagPath + \"/MSet_Bypass\", value)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 18, + "width": 160, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.permissiveIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "custom": { + "permissiveIndex": 4 + }, + "meta": { + "name": "GOMSetBypass4" + }, + "position": { + "height": 20, + "width": 174, + "y": 92 + }, + "propConfig": { + "custom.overrideColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#B0B0B0\"\n\t\n\tbit_check \u003d 2**self.custom.permissiveIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Perm\") || (tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {this.custom.permissiveIndex}) !\u003d null) " + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.custom.permissiveIndex\n\tSts_Perm \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Perm\"])[0].value \u0026 bit_check) \u003d\u003d bit_check)\n\tCfg_CondTxt \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CondTxt/\" + str(self.custom.permissiveIndex)])[0].value\n\t\n\tif (Sts_Perm \u003d\u003d 0) or (Cfg_CondTxt !\u003d None):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (MSet_Bypass):\n\t\tret_value \u003d True\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 2 + }, + "propConfig": { + "custom.overrideColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "custom.permissiveIndex": { + "binding": { + "config": { + "path": "parent.custom.permissiveIndex" + }, + "type": "property" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 135, + "x": 25 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.permissiveIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value\n\tbit_check \u003d 2**self.parent.custom.permissiveIndex \n\twrite_value \u003d False\n\t\n\tif ((value \u0026 bit_check) \u003d\u003d bit_check):\n\t\tvalue \u003d value - bit_check\n\t\twrite_value \u003d True\n\telif ((value \u0026 bit_check) !\u003d bit_check):\n\t\tvalue \u003d value + bit_check\n\t\twrite_value \u003d True\n\t\t\n\tif (write_value):\n\t\tsystem.tag.write(self.view.params.tagPath + \"/MSet_Bypass\", value)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 18, + "width": 160, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.permissiveIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "custom": { + "permissiveIndex": 5 + }, + "meta": { + "name": "GOMSetBypass5" + }, + "position": { + "height": 20, + "width": 174, + "y": 115 + }, + "propConfig": { + "custom.overrideColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#B0B0B0\"\n\t\n\tbit_check \u003d 2**self.custom.permissiveIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Perm\") || (tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {this.custom.permissiveIndex}) !\u003d null) " + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.custom.permissiveIndex\n\tSts_Perm \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Perm\"])[0].value \u0026 bit_check) \u003d\u003d bit_check)\n\tCfg_CondTxt \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CondTxt/\" + str(self.custom.permissiveIndex)])[0].value\n\t\n\tif (Sts_Perm \u003d\u003d 0) or (Cfg_CondTxt !\u003d None):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (MSet_Bypass):\n\t\tret_value \u003d True\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 2 + }, + "propConfig": { + "custom.overrideColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "custom.permissiveIndex": { + "binding": { + "config": { + "path": "parent.custom.permissiveIndex" + }, + "type": "property" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 135, + "x": 25 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.permissiveIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value\n\tbit_check \u003d 2**self.parent.custom.permissiveIndex \n\twrite_value \u003d False\n\t\n\tif ((value \u0026 bit_check) \u003d\u003d bit_check):\n\t\tvalue \u003d value - bit_check\n\t\twrite_value \u003d True\n\telif ((value \u0026 bit_check) !\u003d bit_check):\n\t\tvalue \u003d value + bit_check\n\t\twrite_value \u003d True\n\t\t\n\tif (write_value):\n\t\tsystem.tag.write(self.view.params.tagPath + \"/MSet_Bypass\", value)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 18, + "width": 160, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.permissiveIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "custom": { + "permissiveIndex": 6 + }, + "meta": { + "name": "GOMSetBypass6" + }, + "position": { + "height": 20, + "width": 174, + "y": 138 + }, + "propConfig": { + "custom.overrideColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#B0B0B0\"\n\t\n\tbit_check \u003d 2**self.custom.permissiveIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Perm\") || (tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {this.custom.permissiveIndex}) !\u003d null) " + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.custom.permissiveIndex\n\tSts_Perm \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Perm\"])[0].value \u0026 bit_check) \u003d\u003d bit_check)\n\tCfg_CondTxt \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CondTxt/\" + str(self.custom.permissiveIndex)])[0].value\n\t\n\tif (Sts_Perm \u003d\u003d 0) or (Cfg_CondTxt !\u003d None):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (MSet_Bypass):\n\t\tret_value \u003d True\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 2 + }, + "propConfig": { + "custom.overrideColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "custom.permissiveIndex": { + "binding": { + "config": { + "path": "parent.custom.permissiveIndex" + }, + "type": "property" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 135, + "x": 25 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.permissiveIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value\n\tbit_check \u003d 2**self.parent.custom.permissiveIndex \n\twrite_value \u003d False\n\t\n\tif ((value \u0026 bit_check) \u003d\u003d bit_check):\n\t\tvalue \u003d value - bit_check\n\t\twrite_value \u003d True\n\telif ((value \u0026 bit_check) !\u003d bit_check):\n\t\tvalue \u003d value + bit_check\n\t\twrite_value \u003d True\n\t\t\n\tif (write_value):\n\t\tsystem.tag.write(self.view.params.tagPath + \"/MSet_Bypass\", value)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 18, + "width": 160, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.permissiveIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "custom": { + "permissiveIndex": 7 + }, + "meta": { + "name": "GOMSetBypass7" + }, + "position": { + "height": 20, + "width": 174, + "y": 161 + }, + "propConfig": { + "custom.overrideColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#B0B0B0\"\n\t\n\tbit_check \u003d 2**self.custom.permissiveIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Perm\") || (tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {this.custom.permissiveIndex}) !\u003d null) " + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.custom.permissiveIndex\n\tSts_Perm \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Perm\"])[0].value \u0026 bit_check) \u003d\u003d bit_check)\n\tCfg_CondTxt \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CondTxt/\" + str(self.custom.permissiveIndex)])[0].value\n\t\n\tif (Sts_Perm \u003d\u003d 0) or (Cfg_CondTxt !\u003d None):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "EnableLeft" + }, + "position": { + "height": 181, + "width": 174 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (MSet_Bypass):\n\t\tret_value \u003d True\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 2 + }, + "propConfig": { + "custom.overrideColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "custom.permissiveIndex": { + "binding": { + "config": { + "path": "parent.custom.permissiveIndex" + }, + "type": "property" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 135, + "x": 25 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.permissiveIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value\n\tbit_check \u003d 2**self.parent.custom.permissiveIndex \n\twrite_value \u003d False\n\t\n\tif ((value \u0026 bit_check) \u003d\u003d bit_check):\n\t\tvalue \u003d value - bit_check\n\t\twrite_value \u003d True\n\telif ((value \u0026 bit_check) !\u003d bit_check):\n\t\tvalue \u003d value + bit_check\n\t\twrite_value \u003d True\n\t\t\n\tif (write_value):\n\t\tsystem.tag.write(self.view.params.tagPath + \"/MSet_Bypass\", value)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 18, + "width": 160, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.permissiveIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "custom": { + "permissiveIndex": 8 + }, + "meta": { + "name": "GOMSetBypass8" + }, + "position": { + "height": 20, + "width": 174 + }, + "propConfig": { + "custom.overrideColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#B0B0B0\"\n\t\n\tbit_check \u003d 2**self.custom.permissiveIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Perm\") || (tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {this.custom.permissiveIndex}) !\u003d null) " + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.custom.permissiveIndex\n\tSts_Perm \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Perm\"])[0].value \u0026 bit_check) \u003d\u003d bit_check)\n\tCfg_CondTxt \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CondTxt/\" + str(self.custom.permissiveIndex)])[0].value\n\t\n\tif (Sts_Perm \u003d\u003d 0) or (Cfg_CondTxt !\u003d None):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (MSet_Bypass):\n\t\tret_value \u003d True\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 2 + }, + "propConfig": { + "custom.overrideColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "custom.permissiveIndex": { + "binding": { + "config": { + "path": "parent.custom.permissiveIndex" + }, + "type": "property" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 135, + "x": 25 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.permissiveIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value\n\tbit_check \u003d 2**self.parent.custom.permissiveIndex \n\twrite_value \u003d False\n\t\n\tif ((value \u0026 bit_check) \u003d\u003d bit_check):\n\t\tvalue \u003d value - bit_check\n\t\twrite_value \u003d True\n\telif ((value \u0026 bit_check) !\u003d bit_check):\n\t\tvalue \u003d value + bit_check\n\t\twrite_value \u003d True\n\t\t\n\tif (write_value):\n\t\tsystem.tag.write(self.view.params.tagPath + \"/MSet_Bypass\", value)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 18, + "width": 160, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.permissiveIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "custom": { + "permissiveIndex": 9 + }, + "meta": { + "name": "GOMSetBypass9" + }, + "position": { + "height": 20, + "width": 174, + "y": 23 + }, + "propConfig": { + "custom.overrideColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#B0B0B0\"\n\t\n\tbit_check \u003d 2**self.custom.permissiveIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Perm\") || (tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {this.custom.permissiveIndex}) !\u003d null) " + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.custom.permissiveIndex\n\tSts_Perm \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Perm\"])[0].value \u0026 bit_check) \u003d\u003d bit_check)\n\tCfg_CondTxt \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CondTxt/\" + str(self.custom.permissiveIndex)])[0].value\n\t\n\tif (Sts_Perm \u003d\u003d 0) or (Cfg_CondTxt !\u003d None):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (MSet_Bypass):\n\t\tret_value \u003d True\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 2 + }, + "propConfig": { + "custom.overrideColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "custom.permissiveIndex": { + "binding": { + "config": { + "path": "parent.custom.permissiveIndex" + }, + "type": "property" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 135, + "x": 25 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.permissiveIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value\n\tbit_check \u003d 2**self.parent.custom.permissiveIndex \n\twrite_value \u003d False\n\t\n\tif ((value \u0026 bit_check) \u003d\u003d bit_check):\n\t\tvalue \u003d value - bit_check\n\t\twrite_value \u003d True\n\telif ((value \u0026 bit_check) !\u003d bit_check):\n\t\tvalue \u003d value + bit_check\n\t\twrite_value \u003d True\n\t\t\n\tif (write_value):\n\t\tsystem.tag.write(self.view.params.tagPath + \"/MSet_Bypass\", value)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 18, + "width": 160, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.permissiveIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "custom": { + "permissiveIndex": 10 + }, + "meta": { + "name": "GOMSetBypass10" + }, + "position": { + "height": 20, + "width": 174, + "y": 46 + }, + "propConfig": { + "custom.overrideColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#B0B0B0\"\n\t\n\tbit_check \u003d 2**self.custom.permissiveIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Perm\") || (tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {this.custom.permissiveIndex}) !\u003d null) " + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.custom.permissiveIndex\n\tSts_Perm \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Perm\"])[0].value \u0026 bit_check) \u003d\u003d bit_check)\n\tCfg_CondTxt \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CondTxt/\" + str(self.custom.permissiveIndex)])[0].value\n\t\n\tif (Sts_Perm \u003d\u003d 0) or (Cfg_CondTxt !\u003d None):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (MSet_Bypass):\n\t\tret_value \u003d True\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 2 + }, + "propConfig": { + "custom.overrideColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "custom.permissiveIndex": { + "binding": { + "config": { + "path": "parent.custom.permissiveIndex" + }, + "type": "property" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 135, + "x": 25 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.permissiveIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value\n\tbit_check \u003d 2**self.parent.custom.permissiveIndex \n\twrite_value \u003d False\n\t\n\tif ((value \u0026 bit_check) \u003d\u003d bit_check):\n\t\tvalue \u003d value - bit_check\n\t\twrite_value \u003d True\n\telif ((value \u0026 bit_check) !\u003d bit_check):\n\t\tvalue \u003d value + bit_check\n\t\twrite_value \u003d True\n\t\t\n\tif (write_value):\n\t\tsystem.tag.write(self.view.params.tagPath + \"/MSet_Bypass\", value)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 18, + "width": 160, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.permissiveIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "custom": { + "permissiveIndex": 11 + }, + "meta": { + "name": "GOMSetBypass11" + }, + "position": { + "height": 20, + "width": 174, + "y": 69 + }, + "propConfig": { + "custom.overrideColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#B0B0B0\"\n\t\n\tbit_check \u003d 2**self.custom.permissiveIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Perm\") || (tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {this.custom.permissiveIndex}) !\u003d null) " + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.custom.permissiveIndex\n\tSts_Perm \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Perm\"])[0].value \u0026 bit_check) \u003d\u003d bit_check)\n\tCfg_CondTxt \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CondTxt/\" + str(self.custom.permissiveIndex)])[0].value\n\t\n\tif (Sts_Perm \u003d\u003d 0) or (Cfg_CondTxt !\u003d None):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (MSet_Bypass):\n\t\tret_value \u003d True\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 2 + }, + "propConfig": { + "custom.overrideColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "custom.permissiveIndex": { + "binding": { + "config": { + "path": "parent.custom.permissiveIndex" + }, + "type": "property" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 135, + "x": 25 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.permissiveIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value\n\tbit_check \u003d 2**self.parent.custom.permissiveIndex \n\twrite_value \u003d False\n\t\n\tif ((value \u0026 bit_check) \u003d\u003d bit_check):\n\t\tvalue \u003d value - bit_check\n\t\twrite_value \u003d True\n\telif ((value \u0026 bit_check) !\u003d bit_check):\n\t\tvalue \u003d value + bit_check\n\t\twrite_value \u003d True\n\t\t\n\tif (write_value):\n\t\tsystem.tag.write(self.view.params.tagPath + \"/MSet_Bypass\", value)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 18, + "width": 160, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.permissiveIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "custom": { + "permissiveIndex": 12 + }, + "meta": { + "name": "GOMSetBypass12" + }, + "position": { + "height": 20, + "width": 174, + "y": 92 + }, + "propConfig": { + "custom.overrideColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#B0B0B0\"\n\t\n\tbit_check \u003d 2**self.custom.permissiveIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Perm\") || (tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {this.custom.permissiveIndex}) !\u003d null) " + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.custom.permissiveIndex\n\tSts_Perm \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Perm\"])[0].value \u0026 bit_check) \u003d\u003d bit_check)\n\tCfg_CondTxt \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CondTxt/\" + str(self.custom.permissiveIndex)])[0].value\n\t\n\tif (Sts_Perm \u003d\u003d 0) or (Cfg_CondTxt !\u003d None):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (MSet_Bypass):\n\t\tret_value \u003d True\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 2 + }, + "propConfig": { + "custom.overrideColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "custom.permissiveIndex": { + "binding": { + "config": { + "path": "parent.custom.permissiveIndex" + }, + "type": "property" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 135, + "x": 25 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.permissiveIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value\n\tbit_check \u003d 2**self.parent.custom.permissiveIndex \n\twrite_value \u003d False\n\t\n\tif ((value \u0026 bit_check) \u003d\u003d bit_check):\n\t\tvalue \u003d value - bit_check\n\t\twrite_value \u003d True\n\telif ((value \u0026 bit_check) !\u003d bit_check):\n\t\tvalue \u003d value + bit_check\n\t\twrite_value \u003d True\n\t\t\n\tif (write_value):\n\t\tsystem.tag.write(self.view.params.tagPath + \"/MSet_Bypass\", value)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 18, + "width": 160, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.permissiveIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "custom": { + "permissiveIndex": 13 + }, + "meta": { + "name": "GOMSetBypass13" + }, + "position": { + "height": 20, + "width": 174, + "y": 115 + }, + "propConfig": { + "custom.overrideColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#B0B0B0\"\n\t\n\tbit_check \u003d 2**self.custom.permissiveIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Perm\") || (tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {this.custom.permissiveIndex}) !\u003d null) " + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.custom.permissiveIndex\n\tSts_Perm \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Perm\"])[0].value \u0026 bit_check) \u003d\u003d bit_check)\n\tCfg_CondTxt \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CondTxt/\" + str(self.custom.permissiveIndex)])[0].value\n\t\n\tif (Sts_Perm \u003d\u003d 0) or (Cfg_CondTxt !\u003d None):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (MSet_Bypass):\n\t\tret_value \u003d True\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 2 + }, + "propConfig": { + "custom.overrideColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "custom.permissiveIndex": { + "binding": { + "config": { + "path": "parent.custom.permissiveIndex" + }, + "type": "property" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 135, + "x": 25 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.permissiveIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value\n\tbit_check \u003d 2**self.parent.custom.permissiveIndex \n\twrite_value \u003d False\n\t\n\tif ((value \u0026 bit_check) \u003d\u003d bit_check):\n\t\tvalue \u003d value - bit_check\n\t\twrite_value \u003d True\n\telif ((value \u0026 bit_check) !\u003d bit_check):\n\t\tvalue \u003d value + bit_check\n\t\twrite_value \u003d True\n\t\t\n\tif (write_value):\n\t\tsystem.tag.write(self.view.params.tagPath + \"/MSet_Bypass\", value)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 18, + "width": 160, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.permissiveIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "custom": { + "permissiveIndex": 14 + }, + "meta": { + "name": "GOMSetBypass14" + }, + "position": { + "height": 20, + "width": 174, + "y": 138 + }, + "propConfig": { + "custom.overrideColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#B0B0B0\"\n\t\n\tbit_check \u003d 2**self.custom.permissiveIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Perm\") || (tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {this.custom.permissiveIndex}) !\u003d null) " + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.custom.permissiveIndex\n\tSts_Perm \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Perm\"])[0].value \u0026 bit_check) \u003d\u003d bit_check)\n\tCfg_CondTxt \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CondTxt/\" + str(self.custom.permissiveIndex)])[0].value\n\t\n\tif (Sts_Perm \u003d\u003d 0) or (Cfg_CondTxt !\u003d None):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/MSet_Bypass\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.permissiveIndex\n\tMSet_Bypass \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (MSet_Bypass):\n\t\tret_value \u003d True\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 2 + }, + "propConfig": { + "custom.overrideColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "custom.permissiveIndex": { + "binding": { + "config": { + "path": "parent.custom.permissiveIndex" + }, + "type": "property" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 135, + "x": 25 + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "path": "parent.custom.overrideColor" + }, + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {parent.custom.permissiveIndex})" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/MSet_Bypass\"])[0].value\n\tbit_check \u003d 2**self.parent.custom.permissiveIndex \n\twrite_value \u003d False\n\t\n\tif ((value \u0026 bit_check) \u003d\u003d bit_check):\n\t\tvalue \u003d value - bit_check\n\t\twrite_value \u003d True\n\telif ((value \u0026 bit_check) !\u003d bit_check):\n\t\tvalue \u003d value + bit_check\n\t\twrite_value \u003d True\n\t\t\n\tif (write_value):\n\t\tsystem.tag.write(self.view.params.tagPath + \"/MSet_Bypass\", value)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 18, + "width": 160, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.parent.custom.permissiveIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "custom": { + "permissiveIndex": 15 + }, + "meta": { + "name": "GOMSetBypass15" + }, + "position": { + "height": 20, + "width": 174, + "y": 161 + }, + "propConfig": { + "custom.overrideColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Bypassable\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#B0B0B0\"\n\t\n\tbit_check \u003d 2**self.custom.permissiveIndex\n\tCfg_Bypassable \u003d ((value \u0026 bit_check) \u003d\u003d bit_check)\n\t\n\tif (self.view.params.securityBypassInterlocks) and (self.view.params.userHasBasic) and (Cfg_Bypassable):\n\t\tret_value \u003d \"#3F3F3F\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Perm\") || (tag({view.params.tagPath} + \"/Cfg_CondTxt/\" + {this.custom.permissiveIndex}) !\u003d null) " + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tbit_check \u003d 2**self.custom.permissiveIndex\n\tSts_Perm \u003d ((system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Perm\"])[0].value \u0026 bit_check) \u003d\u003d bit_check)\n\tCfg_CondTxt \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_CondTxt/\" + str(self.custom.permissiveIndex)])[0].value\n\t\n\tif (Sts_Perm \u003d\u003d 0) or (Cfg_CondTxt !\u003d None):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "EnableRight" + }, + "position": { + "height": 181, + "width": 174, + "x": 169.5 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Group" + }, + "position": { + "height": 200, + "width": 345, + "y": 19 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Group" + }, + "position": { + "height": 223, + "width": 345, + "x": 41.5, + "y": 55 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Maintenance" + }, + "position": { + "height": 300, + "width": 392, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d 1", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 300, + "width": 353, + "x": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "y": 253 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 300, + "width": 392 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 108, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "caption": "P_Perm", + "label": "Popup Name:" + }, + "meta": { + "name": "PopupID" + }, + "position": { + "height": 18, + "width": 255, + "x": 125, + "y": 206 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 108, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "PlantPAX Version:" + }, + "meta": { + "name": "PlantPAX Version" + }, + "position": { + "height": 18, + "width": 255, + "x": 125, + "y": 229 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/version\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 108, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "UDT Version:" + }, + "meta": { + "name": "UDTVersion" + }, + "position": { + "height": 18, + "width": 255, + "x": 125, + "y": 252 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Prime Version\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 108, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "Popup Version:" + }, + "meta": { + "name": "PopupVersion" + }, + "position": { + "height": 18, + "width": 255, + "x": 125, + "y": 275 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "path": "view.custom.popupVersion" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Version" + }, + "position": { + "height": 300, + "width": 392, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d -1", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "AlarmPolygon" + }, + "position": { + "height": 39, + "width": 39, + "y": 117 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\tret_value \u003d ret_value and (self.view.params.selectedTab !\u003d 3)\t# Show it only if active tab different than alarm tab \n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d value\n\t\n\tcolors \u003d [\"\",\n\t\"#FFFFFF\",\n\t\"#916AAD\",\n\t\"#916AAD\",\n\t\"#F5DF1B\",\n\t\"#F5DF1B\",\n\t\"#EC8729\",\n\t\"#EC8729\",\n\t\"#E22028\",\n\t\"#E22028\",\n\t\"\"]\n\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d colors[Val_NotifyAll]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "borderBottomStyle": "solid", + "borderBottomWidth": 2, + "borderLeftStyle": "solid", + "borderLeftWidth": 2, + "borderRightStyle": "none", + "borderTopStyle": "solid", + "borderTopWidth": 2 + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonHome" + }, + "position": { + "height": 35, + "width": 35, + "x": 2 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Home.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 1" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonMaintenance" + }, + "position": { + "height": 35, + "width": 35, + "x": 2, + "y": 40 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Maint.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d -1" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonHelp" + }, + "position": { + "height": 32, + "rotate": { + "angle": "180deg" + }, + "width": 32, + "x": 2, + "y": 250 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Faults.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupTabButtons" + }, + "position": { + "height": 287, + "width": 39, + "x": 3, + "y": 5 + }, + "type": "ia.container.coord" + } + ], + "events": { + "system": { + "onStartup": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Perm/P_Perm_Advanced/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Perm/P_Perm_Advanced/resource.json new file mode 100644 index 0000000..c1cd4d7 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Perm/P_Perm_Advanced/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "95f12ae4041b37d5f17795764835f540dcfbf5c70633adbc596845216cae1834", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Perm/P_Perm_Advanced/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Perm/P_Perm_Advanced/thumbnail.png new file mode 100644 index 0000000..7f2184d Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Perm/P_Perm_Advanced/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Perm/P_Perm_Advanced/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Perm/P_Perm_Advanced/view.json new file mode 100644 index 0000000..966190a --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_Perm/P_Perm_Advanced/view.json @@ -0,0 +1,1557 @@ +{ + "custom": { + "popupVersion": " 1.0 " + }, + "params": { + "securityDeviceConfigBehavior": true, + "securityDeviceConfigHMI": true, + "securityDeviceConfigTimers": true, + "securityEnableSimulation": true, + "securityOverrideInputs": true, + "selectedTab": 0, + "tagPath": "[default]Test_Tags/P_DOut_Perm", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "custom.popupVersion": { + "persistent": true + }, + "params.securityDeviceConfigBehavior": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigBehavior\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityDeviceConfigHMI": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigHMI\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityDeviceConfigTimers": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigTimers\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityEnableSimulation": { + "binding": { + "config": { + "expression": "\"securityEnableSimulation\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityOverrideInputs": { + "binding": { + "config": { + "expression": "\"securityOverrideInputs\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.selectedTab": { + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 503, + "width": 350 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Tab1" + }, + "position": { + "height": 39, + "width": 37 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab2" + }, + "position": { + "height": 39, + "width": 37, + "x": 40 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "InactiveTabs" + }, + "position": { + "height": 39, + "width": 117, + "x": 4, + "y": 4 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 461, + "width": 350, + "y": 42 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab" + }, + "position": { + "height": 39, + "width": 40, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 502, + "width": 350 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label_1" + }, + "position": { + "height": 16, + "width": 39, + "x": 245, + "y": 24 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "center" + }, + "text": "Can\nBypass" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 16, + "width": 39, + "x": 198, + "y": 24 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "center" + }, + "text": "OK\nState" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "GO_PermissiveCfg0" + }, + "position": { + "height": 20, + "width": 269, + "x": 6, + "y": 53 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "permissiveNumber": 0, + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Interlock Objects/GO_PermissiveCfg" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_PermissiveCfg1" + }, + "position": { + "height": 20, + "width": 269, + "x": 6, + "y": 76 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "permissiveNumber": 1, + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Interlock Objects/GO_PermissiveCfg" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_PermissiveCfg2" + }, + "position": { + "height": 20, + "width": 269, + "x": 6, + "y": 99 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "permissiveNumber": 2, + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Interlock Objects/GO_PermissiveCfg" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_PermissiveCfg3" + }, + "position": { + "height": 20, + "width": 269, + "x": 6, + "y": 122 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "permissiveNumber": 3, + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Interlock Objects/GO_PermissiveCfg" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_PermissiveCfg4" + }, + "position": { + "height": 20, + "width": 269, + "x": 6, + "y": 145 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "permissiveNumber": 4, + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Interlock Objects/GO_PermissiveCfg" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_PermissiveCfg5" + }, + "position": { + "height": 20, + "width": 269, + "x": 6, + "y": 168 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "permissiveNumber": 5, + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Interlock Objects/GO_PermissiveCfg" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_PermissiveCfg6" + }, + "position": { + "height": 20, + "width": 269, + "x": 6, + "y": 191 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "permissiveNumber": 6, + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Interlock Objects/GO_PermissiveCfg" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_PermissiveCfg7" + }, + "position": { + "height": 20, + "width": 269, + "x": 6, + "y": 214 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "permissiveNumber": 7, + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Interlock Objects/GO_PermissiveCfg" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_PermissiveCfg8" + }, + "position": { + "height": 20, + "width": 269, + "x": 6, + "y": 237 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "permissiveNumber": 8, + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Interlock Objects/GO_PermissiveCfg" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_PermissiveCfg9" + }, + "position": { + "height": 20, + "width": 269, + "x": 6, + "y": 260 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "permissiveNumber": 9, + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Interlock Objects/GO_PermissiveCfg" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_PermissiveCfg10" + }, + "position": { + "height": 20, + "width": 269, + "x": 6, + "y": 283 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "permissiveNumber": 10, + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Interlock Objects/GO_PermissiveCfg" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_PermissiveCfg11" + }, + "position": { + "height": 20, + "width": 269, + "x": 6, + "y": 306 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "permissiveNumber": 11, + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Interlock Objects/GO_PermissiveCfg" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_PermissiveCfg12" + }, + "position": { + "height": 20, + "width": 269, + "x": 6, + "y": 329 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "permissiveNumber": 12, + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Interlock Objects/GO_PermissiveCfg" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_PermissiveCfg13" + }, + "position": { + "height": 20, + "width": 269, + "x": 6, + "y": 352 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "permissiveNumber": 13, + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Interlock Objects/GO_PermissiveCfg" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_PermissiveCfg14" + }, + "position": { + "height": 20, + "width": 269, + "x": 6, + "y": 375 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "permissiveNumber": 14, + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Interlock Objects/GO_PermissiveCfg" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_PermissiveCfg15" + }, + "position": { + "height": 20, + "width": 269, + "x": 6, + "y": 398 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "permissiveNumber": 15, + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Interlock Objects/GO_PermissiveCfg" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Engineering1" + }, + "position": { + "height": 453, + "width": 344, + "x": 5, + "y": 49 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Engineering" + }, + "position": { + "height": 502, + "width": 350, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 0)", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 459, + "width": 350, + "y": 42 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab" + }, + "position": { + "height": 39, + "width": 40, + "x": 39, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 501, + "width": 350 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "GO_Desc_Label_Tag" + }, + "position": { + "height": 68.00000000000001, + "width": 340, + "x": 5, + "y": 3.99 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigHMI": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Desc_Label_Tag" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_Area" + }, + "position": { + "height": 20, + "width": 340, + "x": 5, + "y": 70.987 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityConfigSecurity": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_Area" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TextConfig" + }, + "position": { + "height": 200, + "width": 350, + "y": 47 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_HMI" + }, + "position": { + "height": 503, + "width": 350, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d 1", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 459, + "width": 350, + "y": 42 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab" + }, + "position": { + "height": 39, + "width": 40, + "x": 306, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 500, + "width": 350 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 145, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "caption": "P_Perm_Advanced", + "label": "Popup Name:" + }, + "meta": { + "name": "PopupID" + }, + "position": { + "height": 18, + "width": 292, + "x": 48, + "y": 406 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 145, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "PlantPAX Version:" + }, + "meta": { + "name": "PlantPAX Version" + }, + "position": { + "height": 18, + "width": 292, + "x": 48, + "y": 429 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/version\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 145, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "UDT Version:" + }, + "meta": { + "name": "UDTVersion" + }, + "position": { + "height": 18, + "width": 292, + "x": 48, + "y": 452 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Prime Version\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 145, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "Popup Version:" + }, + "meta": { + "name": "PopupVersion" + }, + "position": { + "height": 18, + "width": 292, + "x": 48, + "y": 475 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "path": "view.custom.popupVersion" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Version" + }, + "position": { + "height": 501, + "width": 350, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d -1", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonEngineering" + }, + "position": { + "height": 35, + "width": 35, + "x": 2 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Eng.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 1" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonHMI" + }, + "position": { + "height": 35, + "width": 35, + "x": 42 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_HMI.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d -1" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonHelp" + }, + "position": { + "height": 32, + "rotate": { + "angle": "180deg" + }, + "width": 32, + "x": 311 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Faults.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 23, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_EU\") || tag({view.params.tagPath} + \"/Err_Raw\") || tag({view.params.tagPath} + \"/Err_Filt\")" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupTabButtons" + }, + "position": { + "height": 35, + "width": 346, + "x": 3, + "y": 5 + }, + "type": "ia.container.coord" + } + ], + "events": { + "system": { + "onStartup": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_VSD/P_VSD/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_VSD/P_VSD/resource.json new file mode 100644 index 0000000..0ba077b --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_VSD/P_VSD/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "98b52bb6faa316941d61b8c1b8809d096e44cfe73e0d4d44f9cee06653fb4e5c", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_VSD/P_VSD/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_VSD/P_VSD/thumbnail.png new file mode 100644 index 0000000..3c247d7 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_VSD/P_VSD/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_VSD/P_VSD/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_VSD/P_VSD/view.json new file mode 100644 index 0000000..0fdecdc --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_VSD/P_VSD/view.json @@ -0,0 +1,8382 @@ +{ + "custom": { + "cmdSrcTitle": "F_11 - F_11", + "popupVersion": " 1.0 " + }, + "params": { + "securityBypassFeedback": true, + "securityBypassInterlocks": true, + "securityDeviceConfigLimits": true, + "securityEnableSimulation": true, + "securityEnterOperSettings": true, + "securityOperateEquipment": true, + "securityOverrideInputs": true, + "selectedTab": 3, + "tagPath": "[DH1]Block 1/Process/Motor/F_11", + "userHasBasic": true + }, + "propConfig": { + "custom.cmdSrcTitle": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_Tag\") + \" - \" + tag({view.params.tagPath}+\"/Cfg_Label\")" + }, + "type": "expr" + }, + "persistent": true + }, + "custom.popupVersion": { + "persistent": true + }, + "params.securityBypassFeedback": { + "binding": { + "config": { + "expression": "\"securityBypassFeedback\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityBypassInterlocks": { + "binding": { + "config": { + "expression": "\"securityBypassInterlocks\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityDeviceConfigLimits": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigLimits\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityEnableSimulation": { + "binding": { + "config": { + "expression": "\"securityEnableSimulation\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityEnterOperSettings": { + "binding": { + "config": { + "expression": "\"securityEnterOperSettings\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityOperateEquipment": { + "binding": { + "config": { + "expression": "\"securityOperateEquipment\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityOverrideInputs": { + "binding": { + "config": { + "expression": "\"securityOverrideInputs\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.selectedTab": { + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 300, + "width": 392 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Tab1" + }, + "position": { + "height": 37, + "width": 39 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab2" + }, + "position": { + "height": 37, + "width": 39, + "y": 40 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab3" + }, + "position": { + "height": 37, + "width": 39, + "y": 80 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab4" + }, + "position": { + "height": 37, + "width": 39, + "y": 120 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "InactiveTabs" + }, + "position": { + "height": 157, + "width": 40, + "x": 4, + "y": 4 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 300, + "width": 353, + "x": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 300, + "width": 392 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "StatusText_Ready" + }, + "position": { + "height": 16, + "width": 42, + "x": 6, + "y": 2 + }, + "props": { + "text": "Ready", + "textStyle": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d image_path.format(states[SrcQ_IO][0])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 330, + "x": 20 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][1]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.textStyle.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][3]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][2]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "CommStatus" + }, + "position": { + "height": 20, + "width": 350 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\t\n\tSrcQ_IO \u003d value\n\t\n\tif (SrcQ_IO \u003e\u003d 8):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][3]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "custom": { + "parameterName": "NRdy_PrioStop" + }, + "meta": { + "name": "GONoticeNRdy_PrioStop" + }, + "position": { + "height": 21, + "width": 398 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {this.custom.parameterName}), true, false)" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{this.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#3F3F3F", + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameterName": "NRdy_Trip" + }, + "meta": { + "name": "GONoticeNRdy_Trip" + }, + "position": { + "height": 21, + "width": 398 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {this.custom.parameterName}), true, false)" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{this.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#3F3F3F", + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameterName": "NRdy_Fail" + }, + "meta": { + "name": "GONoticeNRdy_Fail" + }, + "position": { + "height": 21, + "width": 398 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {this.custom.parameterName}), true, false)" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{this.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#3F3F3F", + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameterName": "NRdy_DriveNR" + }, + "meta": { + "name": "GONoticeNRdy_DriveNR" + }, + "position": { + "height": 21, + "width": 398 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {this.custom.parameterName}), true, false)" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{this.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#3F3F3F", + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameterName": "NRdy_Perm" + }, + "meta": { + "name": "GONoticeNRdy_Perm" + }, + "position": { + "height": 21, + "width": 398 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {this.custom.parameterName}), true, false)" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{this.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#3F3F3F", + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameterName": "NRdy_Intlk" + }, + "meta": { + "name": "GONoticeNRdy_Intlk" + }, + "position": { + "height": 21, + "width": 398 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {this.custom.parameterName}), true, false)" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{this.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#3F3F3F", + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameterName": "NRdy_IOFault" + }, + "meta": { + "name": "GONoticeNRdy_IOFault" + }, + "position": { + "height": 21, + "width": 398 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {this.custom.parameterName}), true, false)" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{this.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#3F3F3F", + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameterName": "NRdy_OoS" + }, + "meta": { + "name": "GONoticeNRdy_OoS" + }, + "position": { + "height": 21, + "width": 398 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {this.custom.parameterName}), true, false)" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{this.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#3F3F3F", + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameterName": "NRdy_CfgErr" + }, + "meta": { + "name": "GONoticeNRdy_CfgErr" + }, + "position": { + "height": 21, + "width": 398 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {this.custom.parameterName}), true, false)" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{this.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#3F3F3F", + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "NRdyNotices" + }, + "position": { + "height": 21, + "width": 402 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "AlarmSeverityIndicator" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "AlarmText" + }, + "position": { + "height": 16, + "width": 367, + "x": 22, + "y": 2 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Cfg_Cond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "alarmParameterName": "FailToStop" + }, + "meta": { + "name": "AlarmNotify_FailToStop" + }, + "position": { + "height": 20, + "width": 402 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {this.custom.alarmParameterName} + \"/Val_Notify\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tVal_Notify \u003d value\n\tVal_UnackAlmC \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_UnackAlmC\"])[0].value\n\t\n\tif (Val_Notify \u003e 0) and ((Val_UnackAlmC \u003d\u003d 0) or ((Val_Notify \u0026 1) \u003d\u003d 1)):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "AlarmSeverityIndicator" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "AlarmText" + }, + "position": { + "height": 16, + "width": 367, + "x": 22, + "y": 2 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Cfg_Cond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "alarmParameterName": "FailToStart" + }, + "meta": { + "name": "AlarmNotify_FailToStart" + }, + "position": { + "height": 20, + "width": 402 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {this.custom.alarmParameterName} + \"/Val_Notify\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tVal_Notify \u003d value\n\tVal_UnackAlmC \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_UnackAlmC\"])[0].value\n\t\n\tif (Val_Notify \u003e 0) and ((Val_UnackAlmC \u003d\u003d 0) or ((Val_Notify \u0026 1) \u003d\u003d 1)):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "AlarmSeverityIndicator" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "AlarmText" + }, + "position": { + "height": 16, + "width": 367, + "x": 22, + "y": 2 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Cfg_Cond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "alarmParameterName": "IntlkTrip" + }, + "meta": { + "name": "AlarmNotify_IntlkTrip" + }, + "position": { + "height": 20, + "width": 402 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {this.custom.alarmParameterName} + \"/Val_Notify\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tVal_Notify \u003d value\n\tVal_UnackAlmC \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_UnackAlmC\"])[0].value\n\t\n\tif (Val_Notify \u003e 0) and ((Val_UnackAlmC \u003d\u003d 0) or ((Val_Notify \u0026 1) \u003d\u003d 1)):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "AlarmSeverityIndicator" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "AlarmText" + }, + "position": { + "height": 16, + "width": 367, + "x": 22, + "y": 2 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Cfg_Cond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "alarmParameterName": "DriveFault" + }, + "meta": { + "name": "AlarmNotify_DriveFault" + }, + "position": { + "height": 20, + "width": 402 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {this.custom.alarmParameterName} + \"/Val_Notify\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tVal_Notify \u003d value\n\tVal_UnackAlmC \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_UnackAlmC\"])[0].value\n\t\n\tif (Val_Notify \u003e 0) and ((Val_UnackAlmC \u003d\u003d 0) or ((Val_Notify \u0026 1) \u003d\u003d 1)):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "AlarmSeverityIndicator" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "AlarmText" + }, + "position": { + "height": 16, + "width": 367, + "x": 22, + "y": 2 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Cfg_Cond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "alarmParameterName": "IOFault" + }, + "meta": { + "name": "AlarmNotify_IOFault" + }, + "position": { + "height": 20, + "width": 402 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {this.custom.alarmParameterName} + \"/Val_Notify\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tVal_Notify \u003d value\n\tVal_UnackAlmC \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_UnackAlmC\"])[0].value\n\t\n\tif (Val_Notify \u003e 0) and ((Val_UnackAlmC \u003d\u003d 0) or ((Val_Notify \u0026 1) \u003d\u003d 1)):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "AlarmNotices" + }, + "position": { + "height": 20, + "width": 402 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "AbnormalSeparatorLine" + }, + "position": { + "height": 2, + "width": 352, + "y": 20 + }, + "props": { + "style": { + "borderColor": "#6A6A6A", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ResetAckAll" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_AlmAckAllReset_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "DisabledAckResetButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 302, + "y": 5 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ResetAckAll" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_AlmAckAllReset.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_ResetAckAll\", 1)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveAckResetButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 302, + "y": 5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/ORdy_ResetAckAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tORdy_ResetAckAll \u003d value\n\tVal_UnackAlmC \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_UnackAlmC\"])[0].value\n\t\n\tif (self.view.params.userHasBasic) and (ORdy_ResetAckAll):\n\t\tret_value \u003d True \n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Content1" + }, + "position": { + "height": 45, + "width": 403, + "x": 44 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "GOValStsVSD", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 20, + "width": 190 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Val_Sts\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\tCfg_FwdText \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_FwdText\"])[0].value\n\tCfg_RevText \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_RevText\"])[0].value\n\t\n\tstates \u003d {\n\t0: \"Powerup\",\n\t1: \"Stopped\",\n\t2: \"Running \" + Cfg_FwdText,\n\t3: \"Running \" + Cfg_RevText,\n\t4: \"Running Slow\",\n\t5: \"Starting \" + Cfg_FwdText,\n\t6: \"Starting \" + Cfg_RevText,\n\t7: \"Starting Slow\",\n\t8: \"Jogging \" + Cfg_FwdText,\n\t9: \"Jogging \" + Cfg_RevText,\n\t10: \"Stopping\",\n\t14: \"Horn\"\n\t}\n\t\n\tVal_Sts \u003d value\n\tindex \u003d Val_Sts\n\t\n\tret_value \u003d states[index]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#D4D4D4", + "color": "#2A4191", + "fontSize": "11pt", + "fontWeight": "bold", + "outlineStyle": "none", + "textAlign": "Left" + }, + "textStyle": { + "classes": "States/DigitalInput/on" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "CommBad" + }, + "position": { + "height": 17, + "width": 17, + "x": 100, + "y": 14 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_IOFault\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_CommBad.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "AccelDecel" + }, + "position": { + "height": 17, + "width": 17 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_IOFault\"), true, false)" + }, + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Accel\") || tag({view.params.tagPath} + \"/Sts_Decel\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d -1\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/Sts_CommBad.png\"\n\timages \u003d {\n\t0: \"Sts_Accel\",\n\t1: \"Sts_Decel\"\n\t}\n\t\n\tSts_Accel \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Accel\"])[0].value\n\tSts_Decel \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Decel\"])[0].value\n\t\n\tif (Sts_Accel):\n\t\tindex \u003d 0\n\telif (Sts_Decel):\n\t\tindex \u003d 1 \n\t\n\tif (index \u003e\u003d 0):\n\t\tret_val \u003d image_path.format(images[index])\n\telse:\n\t\tret_val \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 14, + "width": 32, + "x": 28 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "8pt" + }, + "text": "Speed" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericDisplay", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 18, + "width": 88, + "y": 13 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Val_SpeedFdbk\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tCfg_PVDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_DecPlcs\"] )[0].value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/Val_SpeedFdbk\"), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#2A4191", + "fontWeight": "bold", + "textAlign": "right" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "11pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "godsData_EU", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 14, + "width": 22, + "x": 88, + "y": 15 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Cfg_SpeedFdbkEU\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#919191", + "fontWeight": "bold", + "outlineStyle": "none", + "paddingLeft": 5, + "textAlign": "left" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "8pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "pnddValSpeedFdbk" + }, + "position": { + "height": 33, + "width": 115, + "x": 2.5, + "y": 0.5 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "ValSpeedFdbk" + }, + "position": { + "height": 36, + "width": 120 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Tick0" + }, + "position": { + "height": 5, + "width": 1, + "x": 1.0024, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tick1" + }, + "position": { + "height": 5, + "width": 1, + "x": 26, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tick2" + }, + "position": { + "height": 5, + "width": 1, + "x": 51, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tick3" + }, + "position": { + "height": 5, + "width": 1, + "x": 76, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tick4" + }, + "position": { + "height": 5, + "width": 1, + "x": 101, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick0" + }, + "position": { + "height": 2, + "width": 1, + "x": 5, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick1" + }, + "position": { + "height": 2, + "width": 1, + "x": 10, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick2" + }, + "position": { + "height": 2, + "width": 1, + "x": 15, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick3" + }, + "position": { + "height": 2, + "width": 1, + "x": 20, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick4" + }, + "position": { + "height": 2, + "width": 1, + "x": 30, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick5" + }, + "position": { + "height": 2, + "width": 1, + "x": 35, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick6" + }, + "position": { + "height": 2, + "width": 1, + "x": 40, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick7" + }, + "position": { + "height": 2, + "width": 1, + "x": 45, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick8" + }, + "position": { + "height": 2, + "width": 1, + "x": 55, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick9" + }, + "position": { + "height": 2, + "width": 1, + "x": 60, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick10" + }, + "position": { + "height": 2, + "width": 1, + "x": 65, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick11" + }, + "position": { + "height": 2, + "width": 1, + "x": 70, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick12" + }, + "position": { + "height": 2, + "width": 1, + "x": 80, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick13" + }, + "position": { + "height": 2, + "width": 1, + "x": 85, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick14" + }, + "position": { + "height": 2, + "width": 1, + "x": 90, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick15" + }, + "position": { + "height": 2, + "width": 1, + "x": 95, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Scale" + }, + "position": { + "height": 8, + "width": 103, + "x": 5, + "y": 15.0048 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "ActualSpeedIndicator" + }, + "position": { + "height": 12, + "rotate": { + "angle": "90deg" + }, + "width": 13, + "y": -3 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_SpeedFdbk\") ||\r\ntag({view.params.tagPath} + \"/Cfg_MinSpdRef\") ||\r\ntag({view.params.tagPath} + \"/Cfg_MaxSpdRef\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d 0\n\t\n\tVal_SpeedFdbk \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_SpeedFdbk\"])[0].value\n\tCfg_MinSpdRef \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_MinSpdRef\"])[0].value\n\tCfg_MaxSpdRef \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_MaxSpdRef\"])[0].value\n\t\n\tDisplayMin \u003d 0\n\tDisplayMax \u003d 100\n\t\n\tret_value \u003d ((DisplayMax - DisplayMin) / (Cfg_MaxSpdRef - Cfg_MinSpdRef)) * (Val_SpeedFdbk - Cfg_MinSpdRef) + DisplayMin\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "color": "#2A4191", + "path": "material/play_arrow" + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "SetpointSpeedIndicator" + }, + "position": { + "height": 12, + "rotate": { + "angle": -90 + }, + "width": 13, + "y": 13 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_SpeedRefEU\") \u003d tag({view.params.tagPath} + \"/Cfg_SpeedFdbkEU\"), true, false)" + }, + "type": "expr" + } + }, + "position.x": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_SpeedRef\") ||\r\ntag({view.params.tagPath} + \"/Cfg_MinSpdRef\") ||\r\ntag({view.params.tagPath} + \"/Cfg_MaxSpdRef\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d 0\n\t\n\tVal_SpeedRef \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_SpeedRef\"])[0].value\n\tCfg_MinSpdRef \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_MinSpdRef\"])[0].value\n\tCfg_MaxSpdRef \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_MaxSpdRef\"])[0].value\n\t\n\tDisplayMin \u003d 0\n\tDisplayMax \u003d 100\n\t\n\tret_value \u003d ((DisplayMax - DisplayMin) / (Cfg_MaxSpdRef - Cfg_MinSpdRef)) * (Val_SpeedRef - Cfg_MinSpdRef) + DisplayMin\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "color": "#3F3F3F", + "path": "material/play_arrow" + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "BarGraphBorder" + }, + "position": { + "height": 8, + "width": 101, + "x": 6, + "y": 7.0048 + }, + "props": { + "style": { + "borderColor": "#A0A0A4", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "BarGraphGroup" + }, + "position": { + "height": 27, + "width": 119, + "y": 40 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 14, + "width": 49, + "x": 22 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "8pt" + }, + "text": "Setpoint" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericDisplay", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 16, + "width": 72, + "x": 9, + "y": 13 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Val_SpeedRef\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tCfg_PVDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_DecPlcs\"] )[0].value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/Val_SpeedRef\"), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#2A4191", + "fontWeight": "normal", + "textAlign": "right" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "11pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "godsData_EU", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 14, + "width": 22, + "x": 81, + "y": 15 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Cfg_SpeedFdbkEU\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#919191", + "fontWeight": "bold", + "outlineStyle": "none", + "paddingLeft": 5, + "textAlign": "left" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "8pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "pnddValSpeedRef" + }, + "position": { + "height": 32, + "width": 107 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Clamped" + }, + "position": { + "height": 16, + "width": 16, + "x": 86.0036, + "y": 13.0036 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_SpeedLimited\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_Clamped.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "Setpoint" + }, + "position": { + "height": 32, + "width": 110 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "height": 20, + "width": 76 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityEnterOperSettings} \u0026\u0026 {view.params.userHasBasic} \u0026\u0026 tag({view.params.tagPath} + \"/ORdy_SpeedRef\")" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_DecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_MaxSpdRef\"" + }, + "type": "tag" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_MinSpdRef\"" + }, + "type": "tag" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/OSet_SpeedRef\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "ndeOSet_SpeedRef" + }, + "position": { + "height": 24, + "width": 101, + "x": 4, + "y": 33 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "SpeedSetpoint" + }, + "position": { + "height": 57, + "width": 115, + "x": 8, + "y": 72 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GOSpeedFdbkAndSetpoint" + }, + "position": { + "height": 131, + "width": 123, + "y": 27 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "PrimaryDisplayValues" + }, + "position": { + "height": 161, + "width": 190 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 14, + "width": 49, + "x": 22 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_InpDatalinkLabel\")" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"s...s\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "8pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericDisplay", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 16, + "width": 72, + "y": 13 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Val_InpDatalink\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tCfg_PVDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_InpDLDecPlcs\"])[0].value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/Val_InpDatalink\"), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#2A4191", + "fontWeight": "normal", + "textAlign": "right" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "11pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "godsData_EU", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 14, + "width": 22, + "x": 70, + "y": 15 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Cfg_InpDatalinkEU\")" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"s..s\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#919191", + "fontWeight": "bold", + "outlineStyle": "none", + "paddingLeft": 5, + "textAlign": "left" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "8pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "nddValInpDatalink" + }, + "position": { + "height": 32, + "width": 99 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasInpDatalink\"), true, false)" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 14, + "width": 49, + "x": 22 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_OutDatalinkLabel\")" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"s...s\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "8pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericDisplay", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 16, + "width": 72, + "y": 13 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Val_OutDatalink\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tCfg_PVDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_OutDLDecPlcs\"])[0].value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/Val_OutDatalink\"), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#2A4191", + "fontWeight": "normal", + "textAlign": "right" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "11pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "godsData_EU", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 14, + "width": 22, + "x": 70, + "y": 15 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Cfg_OutDatalinkEU\")" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"s..s\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#919191", + "fontWeight": "bold", + "outlineStyle": "none", + "paddingLeft": 5, + "textAlign": "left" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "8pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "nddValOutDatalink" + }, + "position": { + "height": 32, + "width": 98 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasInpDatalink\"), true, false)" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "height": 20, + "width": 76 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityEnterOperSettings} \u0026\u0026 {view.params.userHasBasic} \u0026\u0026 tag({view.params.tagPath} + \"/ORdy_OSet\")" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_OutDLDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_OutDLDecPlcs \u003d value\n\t\n\tif (Cfg_OutDLDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_OutDLDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_OutDatalinkMax\"" + }, + "type": "tag" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_OutDatalinkMin\"" + }, + "type": "tag" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/OSet_OutDatalink\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "ndeOSet_OutDatalink" + }, + "position": { + "height": 27, + "width": 110, + "x": 4, + "y": 33 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "OutputDataLink" + }, + "position": { + "height": 62.00000000000001, + "width": 126, + "y": 38.01 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasInpDatalink\"), true, false)" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "DisplayValues" + }, + "position": { + "height": 100, + "width": 127, + "x": 190, + "y": 21 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "InformationSection" + }, + "position": { + "height": 161, + "width": 319 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFaceDisabled" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_JogRev_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "InactiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_JogRev.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onMouseDown": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_JogRev\", True)" + }, + "scope": "G", + "type": "script" + }, + "onMouseUp": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_JogRev\", False)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{view.params.userHasBasic} \u0026\u0026 {view.params.securityOperateEquipment} \u0026\u0026 tag({view.params.tagPath} + \"/ORdy_JogRev\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GO_JogRevButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 25.9952 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_HasJog\") \u0026\u0026 tag({view.params.tagPath} + \"/Cfg_HasReverse\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFaceDisabled" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_RunRev_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "InactiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_RunRev.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_StartRev\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{view.params.userHasBasic} \u0026\u0026 {view.params.securityOperateEquipment} \u0026\u0026 tag({view.params.tagPath} + \"/ORdy_StartRev\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GO_StartRevButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 69 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_HasReverse\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFaceDisabled" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_Stop_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "InactiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_Stop.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_Stop\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{view.params.userHasBasic} \u0026\u0026 {view.params.securityOperateEquipment} \u0026\u0026 tag({view.params.tagPath} + \"/ORdy_Stop\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GO_StopButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 112 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFaceDisabled" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_RunFwd_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "InactiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_RunFwd.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_StartFwd\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{view.params.userHasBasic} \u0026\u0026 {view.params.securityOperateEquipment} \u0026\u0026 tag({view.params.tagPath} + \"/ORdy_StartFwd\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GO_StartFwdButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 155 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFaceDisabled" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_JogFwd_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "InactiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_JogFwd.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onMouseDown": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_Jog\", True)" + }, + "scope": "G", + "type": "script" + }, + "onMouseUp": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_JogFwd\", False)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{view.params.userHasBasic} \u0026\u0026 {view.params.securityOperateEquipment} \u0026\u0026 tag({view.params.tagPath} + \"/ORdy_JogFwd\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GO_JogFwdButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 198 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasJog\"), true, false)" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "CommandButtons" + }, + "position": { + "height": 40, + "width": 240, + "x": 100.988, + "y": 1 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 40, + "width": 140, + "x": 2.5, + "y": 2.5 + }, + "props": { + "style": { + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 112, + "x": 30.5, + "y": 6.5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Sts_eSrc\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d value\n\t\n\t# id: [image name, caption]\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t0: [\"\", \"Logic Not In Use\"],\n\t4: [\"Sts_CmdSrcHand\", \"Hand\"],\n\t8: [\"Sts_CmdSrcMaint\", \"Maintenance\"],\n\t16: [\"Sts_CmdSrcOvrd\", \"Override\"],\n\t32: [\"Sts_CmdSrcProgram\", \"Program\"],\n\t33: [\"Sts_CmdSrcProgLocked\", \"Program (locked)\"],\n\t34: [\"Sts_CmdSrcProgram\", \"Program\"],\n\t64: [\"Sts_CmdSrcOper\", \"Operator\"],\n\t65: [\"Sts_CmdSrcOperLocked\", \"Operator (locked)\"],\n\t66: [\"Sts_CmdSrcOper\", \"Operator\"],\n\t128: [\"Sts_CmdSrcOoS\", \"Maint. Out Of Service\"],\n\t129: [\"Sts_CmdSrcOoS\", \"Logic Out of Service\"],\n\t256: [\"Sts_CmdSrcExt\", \"External\"]\t\n\t}\n\t\n\ttry:\n\t\tret_value \u003d states[index][1]\n\texcept:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "CmdSrcImage" + }, + "position": { + "height": 38, + "width": 18, + "x": 8, + "y": 4 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Sts_eSrc\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d value\n\t\n\t# id: [image name, caption]\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t0: [\"\", \"Logic Not In Use\"],\n\t4: [\"Sts_CmdSrcHand\", \"Hand\"],\n\t8: [\"Sts_CmdSrcMaint\", \"Maintenance\"],\n\t16: [\"Sts_CmdSrcOvrd\", \"Override\"],\n\t32: [\"Sts_CmdSrcProgram\", \"Program\"],\n\t33: [\"Sts_CmdSrcProgLocked\", \"Program (locked)\"],\n\t34: [\"Sts_CmdSrcProgram\", \"Program\"],\n\t64: [\"Sts_CmdSrcOper\", \"Operator\"],\n\t65: [\"Sts_CmdSrcOperLocked\", \"Operator (locked)\"],\n\t66: [\"Sts_CmdSrcOper\", \"Operator\"],\n\t128: [\"Sts_CmdSrcOoS\", \"Maint. Out Of Service\"],\n\t129: [\"Sts_CmdSrcOoS\", \"Logic Out of Service\"],\n\t256: [\"Sts_CmdSrcExt\", \"External\"]\t\n\t}\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(states[index][0])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "contain" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "draggable": true, + "id": "{view.params.tagPath}_CmdSrc", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "{/root.custom.cmdSrcTitle}", + "type": "open", + "viewParams": { + "selectedTab": "0", + "tagPath": "{view.params.tagPath}/CmdSrc" + }, + "viewPath": "Plant PAX/Popups/P_CmdSrc/P_CmdSrc", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "CmdSrcNavButton" + }, + "position": { + "height": 40, + "width": 140, + "x": 2.5, + "y": 2.5 + }, + "props": { + "image": { + "style": { + "backgroundColor": "#FFFFFF00" + } + }, + "style": { + "backgroundColor": "#FFFFFF00", + "outlineStyle": "none" + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "CmdSrcNotNormal" + }, + "position": { + "height": 16, + "width": 16, + "x": 127 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/CmdSrc/Sts_Normal\"), false, true)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_CmdSrcNotNorm.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GOCmdSrcDisplayWithNav" + }, + "position": { + "height": 45, + "width": 145, + "y": 44 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasRevPermObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Inp_RevPermOK\") || \r\ntag({view.params.tagPath} + \"/Inp_RevNBPermOK\") || \r\ntag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Nav_PermOK\",\n\t1: \"Nav_PermOKBypassed\",\n\t2: \"Nav_PermNonBypOK\",\n\t3: \"Nav_PermNotOK\"\n\t}\n\t\n\tInp_PermOK \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_RevPermOK\"])[0].value \t\t\t#102\n\tInp_NBPermOK \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_RevNBPermOK\"])[0].value\t\t#103\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\t\t\t#104\n\t\n\tif (not (Inp_NBPermOK)) or (not (Inp_PermOK or Sts_BypActive)):\n\t\tindex \u003d 3\n\telif (not (Inp_PermOK)):\n\t\tindex \u003d 2\n\telse:\n\t\tindex \u003d Sts_BypActive\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "paddingLeft": 4, + "paddingTop": 4 + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "P_Perm", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "P_Perm", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}_RevPerm" + }, + "viewPath": "Plant PAX/Popups/P_Perm/P_Perm", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "NavButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasRevPermObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GOPermissivesButtonRev" + }, + "position": { + "height": 40, + "width": 40, + "x": 6.02403 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_HasReverse\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasIntlkObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Inp_IntlkOK\") || \r\ntag({view.params.tagPath} + \"/Inp_NBIntlkOK\") || \r\ntag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Nav_IntlkOK\",\n\t1: \"Nav_IntlkOKBypassed\",\n\t2: \"Nav_IntlkNonBypOK\",\n\t3: \"Nav_IntlkNotOK\"\n\t}\n\t\n\tInp_IntlkOK \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_IntlkOK\"])[0].value \t\t\t#102\n\tInp_NBIntlkOK \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_NBIntlkOK\"])[0].value\t\t#103\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\t\t\t#104\n\t\n\tif (not (Inp_NBIntlkOK)) or (not (Inp_IntlkOK or Sts_BypActive)):\n\t\tindex \u003d 3\n\telif (not (Inp_IntlkOK)):\n\t\tindex \u003d 2\n\telse:\n\t\tindex \u003d Sts_BypActive\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "paddingLeft": 4, + "paddingTop": 4 + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "P_Intlk", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "P_Intlk", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}_Intlk" + }, + "viewPath": "Plant PAX/Popups/P_Intlk/P_Intlk", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "NavButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasIntlkObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GOInterlockButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 49 + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasFwdPermObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Inp_FwdPermOK\") || \r\ntag({view.params.tagPath} + \"/Inp_FwdNBPermOK\") || \r\ntag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Nav_PermOK\",\n\t1: \"Nav_PermOKBypassed\",\n\t2: \"Nav_PermNonBypOK\",\n\t3: \"Nav_PermNotOK\"\n\t}\n\t\n\tInp_PermOK \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_FwdPermOK\"])[0].value \t\t\t#102\n\tInp_NBPermOK \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_FwdNBPermOK\"])[0].value\t\t#103\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\t\t\t#104\n\t\n\tif (not (Inp_NBPermOK)) or (not (Inp_PermOK or Sts_BypActive)):\n\t\tindex \u003d 3\n\telif (not (Inp_PermOK)):\n\t\tindex \u003d 2\n\telse:\n\t\tindex \u003d Sts_BypActive\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "paddingLeft": 4, + "paddingTop": 4 + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "P_Perm", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "P_Perm", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}_FwdPerm" + }, + "viewPath": "Plant PAX/Popups/P_Perm/P_Perm", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "NavButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasFwdPermObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GOPermissivesButtonFwd" + }, + "position": { + "height": 40, + "width": 40, + "x": 92 + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "InterlocksAndPermissives" + }, + "position": { + "height": 40, + "width": 140, + "x": 164, + "y": 46.5 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Commands" + }, + "position": { + "height": 90, + "width": 343, + "y": 172 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Content2" + }, + "position": { + "height": 265, + "width": 346, + "x": 43, + "y": 35 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Home" + }, + "position": { + "height": 300, + "width": 392, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 0)", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 300, + "width": 353, + "x": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "y": 43 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 300, + "width": 392 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "AdvancedProperties" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Properties.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tblock_label \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_Label\"])[0].value\n\ttitle \u003d \"{0} - {1}\".format(block_label, \"Advanced\")\n\t\n\tparams \u003d {\u0027tagPath\u0027: self.view.params.tagPath}\n\t\n\tsystem.perspective.openPopup({self.view.params.tagPath},\u0027Plant PAX/Popups/P_VSD/P_VSD_Advanced\u0027, params, title, showCloseIcon \u003d True, resizable \u003d False)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "AdvancedPropertiesButton" + }, + "position": { + "height": 40, + "width": 40, + "y": 1 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BadConfig" + }, + "position": { + "height": 16, + "width": 16, + "x": 22 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_Timer\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupNavToAdvanced" + }, + "position": { + "height": 42, + "width": 42 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Accum.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GORuntimeButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 47, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasRunTimeObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": "1px", + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_ResInh.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GORestartInhibitButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 92, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasResInhObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": "1px", + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "MtceNavButtons" + }, + "position": { + "height": 42, + "width": 190, + "x": 45.9974, + "y": 2 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "SeparatorLine" + }, + "position": { + "height": 2, + "width": 340, + "y": 7 + }, + "props": { + "style": { + "borderColor": "#E0E0E0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "MaintBypass" + }, + "position": { + "height": 16, + "width": 16, + "x": 193, + "y": 17 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_SubstPV\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_MaintByp.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 182 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold" + }, + "text": "Speed Setpoint Limits" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 58, + "y": 2 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt" + }, + "text": "Maximum" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "height": 20, + "width": 76, + "x": 103 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigLimits} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_DecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_MinSpdRef\"" + }, + "type": "tag" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_MaxSpdRef\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967295 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "ndeCfgMaxSpdRef" + }, + "position": { + "height": 26, + "width": 195, + "x": 2, + "y": 3 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 58, + "y": 2 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt" + }, + "text": "Minimum" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "height": 20, + "width": 76, + "x": 103 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigLimits} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_DecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_MaxSpdRef\"" + }, + "type": "tag" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_MinSpdRef\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "minimum": -4294967295 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "ndeCfgMinSpdRef" + }, + "position": { + "height": 26, + "width": 195, + "x": 2.00961, + "y": 30.0096 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ErrOutline" + }, + "position": { + "height": 53, + "width": 189 + }, + "props": { + "style": { + "borderColor": "#000000", + "borderRadius": "5px", + "borderStyle": "solid", + "borderWidth": 3 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BadConfig" + }, + "position": { + "height": 16, + "width": 16, + "x": 183.01 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "ndeError" + }, + "position": { + "height": 53, + "width": 200 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_RefLim\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Group" + }, + "position": { + "height": 61, + "width": 200, + "y": 30 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "SpeedReference" + }, + "position": { + "height": 105, + "width": 340, + "x": 46.007211685180664, + "y": 89 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "SeparatorLine" + }, + "position": { + "height": 2, + "width": 340 + }, + "props": { + "style": { + "borderColor": "#E0E0E0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_UseRunFdbk\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityOverrideInputs} \u0026\u0026 {view.params.userHasBasic}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 319, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Use Run Feedback" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "MaintBypass" + }, + "position": { + "height": 16, + "width": 16, + "y": -1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "!!(tag({view.params.tagPath} + \"/Cfg_UseRunFdbk\") xor tag({view.params.tagPath} + \"/Cfg_HasRunFdbk\"))" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_MaintByp.png" + }, + "type": "ia.display.image" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_UseRunFdbk\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_UseRunFdbk\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 343, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityBypassFeedback} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "GOCfgUseRunFdbk" + }, + "position": { + "height": 32, + "width": 345, + "y": 5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasRunFdbk\"), true, false)" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Configuration" + }, + "position": { + "height": 76, + "width": 345, + "x": 41.5, + "y": 55 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasRevPermObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Inp_RevPermOK\") || \r\ntag({view.params.tagPath} + \"/Inp_RevNBPermOK\") || \r\ntag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Nav_PermOK\",\n\t1: \"Nav_PermOKBypassed\",\n\t2: \"Nav_PermNonBypOK\",\n\t3: \"Nav_PermNotOK\"\n\t}\n\t\n\tInp_PermOK \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_RevPermOK\"])[0].value \t\t\t#102\n\tInp_NBPermOK \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_RevNBPermOK\"])[0].value\t\t#103\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\t\t\t#104\n\t\n\tif (not (Inp_NBPermOK)) or (not (Inp_PermOK or Sts_BypActive)):\n\t\tindex \u003d 3\n\telif (not (Inp_PermOK)):\n\t\tindex \u003d 2\n\telse:\n\t\tindex \u003d Sts_BypActive\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "paddingLeft": 4, + "paddingTop": 4 + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "P_Perm", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "P_Perm", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}_RevPerm" + }, + "viewPath": "Plant PAX/Popups/P_Perm/P_Perm", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "NavButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasRevPermObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GOPermissivesButtonRev" + }, + "position": { + "height": 40, + "width": 40, + "x": 6.02403 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_HasReverse\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasIntlkObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Inp_IntlkOK\") || \r\ntag({view.params.tagPath} + \"/Inp_NBIntlkOK\") || \r\ntag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Nav_IntlkOK\",\n\t1: \"Nav_IntlkOKBypassed\",\n\t2: \"Nav_IntlkNonBypOK\",\n\t3: \"Nav_IntlkNotOK\"\n\t}\n\t\n\tInp_IntlkOK \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_IntlkOK\"])[0].value \t\t\t#102\n\tInp_NBIntlkOK \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_NBIntlkOK\"])[0].value\t\t#103\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\t\t\t#104\n\t\n\tif (not (Inp_NBIntlkOK)) or (not (Inp_IntlkOK or Sts_BypActive)):\n\t\tindex \u003d 3\n\telif (not (Inp_IntlkOK)):\n\t\tindex \u003d 2\n\telse:\n\t\tindex \u003d Sts_BypActive\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "paddingLeft": 4, + "paddingTop": 4 + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "P_Intlk", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "P_Intlk", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}_Intlk" + }, + "viewPath": "Plant PAX/Popups/P_Intlk/P_Intlk", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "NavButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasIntlkObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GOInterlockButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 49 + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasFwdPermObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Inp_FwdPermOK\") || \r\ntag({view.params.tagPath} + \"/Inp_FwdNBPermOK\") || \r\ntag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Nav_PermOK\",\n\t1: \"Nav_PermOKBypassed\",\n\t2: \"Nav_PermNonBypOK\",\n\t3: \"Nav_PermNotOK\"\n\t}\n\t\n\tInp_PermOK \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_FwdPermOK\"])[0].value \t\t\t#102\n\tInp_NBPermOK \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_FwdNBPermOK\"])[0].value\t\t#103\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\t\t\t#104\n\t\n\tif (not (Inp_NBPermOK)) or (not (Inp_PermOK or Sts_BypActive)):\n\t\tindex \u003d 3\n\telif (not (Inp_PermOK)):\n\t\tindex \u003d 2\n\telse:\n\t\tindex \u003d Sts_BypActive\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "paddingLeft": 4, + "paddingTop": 4 + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "P_Perm", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "P_Perm", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}_FwdPerm" + }, + "viewPath": "Plant PAX/Popups/P_Perm/P_Perm", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "NavButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasFwdPermObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GOPermissivesButtonFwd" + }, + "position": { + "height": 40, + "width": 40, + "x": 92 + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "InterlocksAndPermissivesButtons" + }, + "position": { + "height": 40, + "width": 140, + "x": 160, + "y": 58.5 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SeparatorLine" + }, + "position": { + "height": 2, + "width": 340, + "y": 7 + }, + "props": { + "style": { + "borderColor": "#E0E0E0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "MaintBypass" + }, + "position": { + "height": 16, + "width": 16, + "x": 193, + "y": 17 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_SubstPV\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_MaintByp.png" + }, + "type": "ia.display.image" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Track" + }, + "position": { + "height": 8, + "width": 32, + "x": 2, + "y": 4 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderBottomLeftRadius": "15%", + "borderBottomRightRadius": "15%", + "borderColor": "#6B6B6B", + "borderStyle": "solid", + "borderTopLeftRadius": "15%", + "borderTopRightRadius": "15%", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Fill" + }, + "position": { + "height": 8, + "width": 32, + "x": 2, + "y": 4 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_Bypass\"), false, true)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#008080", + "borderBottomLeftRadius": "15%", + "borderBottomRightRadius": "15%", + "borderColor": "#6A6A6A", + "borderStyle": "solid", + "borderTopLeftRadius": "15%", + "borderTopRightRadius": "15%", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Indicator" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Bypass\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d 0\n\t\n\tSts_SubstPV \u003d value\n\t\n\tif (Sts_SubstPV):\n\t\tret_value \u003d 20\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#F0F0F0", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#6A6A6A", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "ToggleIndicator" + }, + "position": { + "height": 16, + "width": 37, + "x": 34, + "y": 7 + }, + "type": "ia.container.coord" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/MCmd_Check\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "OffButton", + "tooltip": { + "tail": false + } + }, + "position": { + "height": 25, + "width": 50, + "x": 2, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityBypassInterlocks} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + } + }, + "props": { + "align": "start", + "justify": "start", + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "No" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/MCmd_Bypass\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "OnButton", + "tooltip": { + "tail": false + } + }, + "position": { + "height": 25, + "width": 50, + "x": 56, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityBypassInterlocks} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + } + }, + "props": { + "align": "end", + "justify": "end", + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Yes" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "ToggleControl" + }, + "position": { + "height": 28, + "width": 110, + "x": 133, + "y": 3 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 101, + "y": 7 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt" + }, + "text": "Bypass Enabled" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "BypassEnabled" + }, + "position": { + "height": 33, + "width": 243, + "y": 26 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 182 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold" + }, + "text": "Interlocks and Permissives" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "IntlkAndPerm" + }, + "position": { + "height": 105, + "width": 340, + "x": 46.5, + "y": 195 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Maintenance" + }, + "position": { + "height": 300, + "width": 392, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d 1", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 300, + "width": 353, + "x": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "y": 83 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 300, + "width": 392 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d image_path.format(states[SrcQ_IO][0])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 330, + "x": 20 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][1]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.textStyle.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][3]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][2]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "CommStatus" + }, + "position": { + "height": 20, + "width": 350, + "y": 275 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\t\n\tSrcQ_IO \u003d value\n\t\n\tif (SrcQ_IO \u003e\u003d 8):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][3]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 180.99999999999997 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold" + }, + "text": "Device Not Ready Reasons" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFaceDisabled" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_Reset_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "InactiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_Reset.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_Reset\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{view.params.userHasBasic} \u0026\u0026 {view.params.securityOperateEquipment} \u0026\u0026 tag({view.params.tagPath} + \"/ORdy_Reset\") \u0026\u0026 tag({view.params.tagPath} + \"/Sts_NotRdy\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GO_ResetButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 293.019, + "y": 1 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.parameterName})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tif (value):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 317, + "x": 21 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "parameterName": "NRdy_OoS" + }, + "meta": { + "name": "GONotRdy_OoS" + }, + "position": { + "height": 17, + "width": 340, + "x": -0.01953125, + "y": 20.99609375 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.parameterName})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tif (value):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 317, + "x": 21 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "parameterName": "NRdy_CfgErr" + }, + "meta": { + "name": "GONotRdy_CfgErr" + }, + "position": { + "height": 17, + "width": 340, + "x": -0.0195313, + "y": 40.9961 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.parameterName})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tif (value):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 317, + "x": 21 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "parameterName": "NRdy_Intlk" + }, + "meta": { + "name": "GONotRdy_Intlk" + }, + "position": { + "height": 17, + "width": 340, + "x": -0.0195313, + "y": 60.9961 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.parameterName})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tif (value):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 317, + "x": 21 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "parameterName": "NRdy_Perm" + }, + "meta": { + "name": "GONotRdy_Perm" + }, + "position": { + "height": 17, + "width": 340, + "x": -0.0195313, + "y": 80.9961 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.parameterName})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tif (value):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 317, + "x": 21 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "parameterName": "NRdy_IOFault" + }, + "meta": { + "name": "GONotRdy_IOFault" + }, + "position": { + "height": 17, + "width": 340, + "x": -0.0195313, + "y": 100.9961 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.parameterName})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tif (value):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 317, + "x": 21 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "parameterName": "NRdy_DriveNR" + }, + "meta": { + "name": "GONotRdy_DriveNR" + }, + "position": { + "height": 17, + "width": 340, + "x": -0.0195313, + "y": 120.996 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.parameterName})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tif (value):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 317, + "x": 21 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "parameterName": "NRdy_Fail" + }, + "meta": { + "name": "GONotRdy_Fail" + }, + "position": { + "height": 17, + "width": 340, + "x": -0.0195313, + "y": 140.996 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.parameterName})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tif (value):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 317, + "x": 21 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "parameterName": "NRdy_Trip" + }, + "meta": { + "name": "GONotRdy_Trip" + }, + "position": { + "height": 17, + "width": 340, + "x": -0.0195313, + "y": 160.996 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.parameterName})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tif (value):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 317, + "x": 21 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "parameterName": "NRdy_PrioStop" + }, + "meta": { + "name": "GONotRdy_PrioStop" + }, + "position": { + "height": 17, + "width": 340, + "x": -0.0195313, + "y": 180.996 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "NotRdyHeader_0" + }, + "position": { + "height": 16, + "width": 334, + "x": 2.02, + "y": 200 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontStyle": "italic", + "fontWeight": "normal" + }, + "text": "* A reset is required to clear this condition" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "NotReadyReasons" + }, + "position": { + "height": 234, + "width": 340, + "x": 6 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "FaultCodeInfo" + }, + "position": { + "height": 14, + "width": 344 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_FaultDesc\") ||\r\ntag({view.params.tagPath} + \"/Sts_DriveFault\") ||\r\ntag({view.params.tagPath} + \"/Val_LastFaultCode\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\tVal_FaultDesc \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_FaultDesc\"])[0].value\t\t\t\t#101\n\tSts_DriveFault \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_DriveFault\"])[0].value\t\t\t#102\n\tVal_LastFaultCode \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_LastFaultCode\"])[0].value\t\t#103\n\t\n\tstates \u003d {\n\t0: \"Most Recent Fault Code: {0}\".format(\"%d\" % Val_LastFaultCode),\n\t1: \"Active Fault Code: {0}\".format(\"%d\" % Val_LastFaultCode),\n\t}\n\t\n\tif (Sts_DriveFault):\n\t\tindex \u003d 1\n\t\n\treturn states[index]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FaultDescription" + }, + "position": { + "height": 14, + "width": 344, + "x": 0.015625, + "y": 17 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_FaultDesc\")" + }, + "transforms": [ + { + "code": "\treturn value if (value !\u003d None) else \"s..s\"", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "GOFaultInfo" + }, + "position": { + "height": 35, + "width": 344, + "y": 239 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_LastFaultCode\") \u003e 0" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "DiagnosticsContent" + }, + "position": { + "height": 295, + "width": 350, + "x": 40.9936, + "y": 0.00000190735 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Diagnostics" + }, + "position": { + "height": 300, + "width": 392, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d 2", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 300, + "width": 353, + "x": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "y": 123 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 300, + "width": 392 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ResetAckAll" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_AlmAckAllReset_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "DisabledAckResetButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 300 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ResetAckAll" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_AlmAckAllReset.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_ResetAckAll\", 1)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveAckResetButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 300 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/ORdy_ResetAckAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tORdy_ResetAckAll \u003d value\n\tVal_UnackAlmC \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_UnackAlmC\"])[0].value\n\t\n\tif (self.view.params.userHasBasic) and (ORdy_ResetAckAll):\n\t\tret_value \u003d True \n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "GO_AlarmDisplay_DriveFault" + }, + "position": { + "height": 34, + "width": 291 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "alarmName": "DriveFault" + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Alarm Objects/GO_AlarmDisplay" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_AlarmDisplay_IOFault" + }, + "position": { + "height": 34, + "width": 291, + "y": 37 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "alarmName": "IOFault" + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Alarm Objects/GO_AlarmDisplay" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_AlarmDisplay_IntlkTrip" + }, + "position": { + "height": 34, + "width": 291, + "y": 74 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "alarmName": "IntlkTrip" + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Alarm Objects/GO_AlarmDisplay" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_AlarmDisplay_FailToStart" + }, + "position": { + "height": 34, + "width": 291, + "y": 111 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "alarmName": "FailToStart" + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Alarm Objects/GO_AlarmDisplay" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_AlarmDisplay_FailToStop" + }, + "position": { + "height": 34, + "width": 291, + "y": 148 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "alarmName": "FailToStop" + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Alarm Objects/GO_AlarmDisplay" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Alarms" + }, + "position": { + "height": 187, + "width": 291 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "AlarmContent" + }, + "position": { + "height": 290, + "width": 340, + "x": 43, + "y": 5 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Alarm" + }, + "position": { + "height": 300, + "width": 392, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d 3", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 300, + "width": 353, + "x": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "y": 253 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 300, + "width": 392 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 108, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "caption": "P_VSD", + "label": "Popup Name:" + }, + "meta": { + "name": "PopupID" + }, + "position": { + "height": 18, + "width": 255, + "x": 125, + "y": 206 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 108, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "PlantPAX Version:" + }, + "meta": { + "name": "PlantPAX Version" + }, + "position": { + "height": 18, + "width": 255, + "x": 125, + "y": 229 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/version\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 108, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "UDT Version:" + }, + "meta": { + "name": "UDTVersion" + }, + "position": { + "height": 18, + "width": 255, + "x": 125, + "y": 252 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Prime Version\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 108, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "Popup Version:" + }, + "meta": { + "name": "PopupVersion" + }, + "position": { + "height": 18, + "width": 255, + "x": 125, + "y": 275 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "path": "view.custom.popupVersion" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Version" + }, + "position": { + "height": 300, + "width": 392, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d -1", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "AlarmPolygon" + }, + "position": { + "height": 39, + "width": 39, + "y": 117 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\tret_value \u003d ret_value and (self.view.params.selectedTab !\u003d 3)\t# Show it only if active tab different than alarm tab \n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d value\n\t\n\tcolors \u003d [\"\",\n\t\"#FFFFFF\",\n\t\"#916AAD\",\n\t\"#916AAD\",\n\t\"#F5DF1B\",\n\t\"#F5DF1B\",\n\t\"#EC8729\",\n\t\"#EC8729\",\n\t\"#E22028\",\n\t\"#E22028\",\n\t\"\"]\n\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d colors[Val_NotifyAll]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "borderBottomStyle": "solid", + "borderBottomWidth": 2, + "borderLeftStyle": "solid", + "borderLeftWidth": 2, + "borderRightStyle": "none", + "borderTopStyle": "solid", + "borderTopWidth": 2 + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonHome" + }, + "position": { + "height": 35, + "width": 35, + "x": 2 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Home.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 1" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonMaintenance" + }, + "position": { + "height": 35, + "width": 35, + "x": 2, + "y": 40 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Maint.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 2" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonDiagnostics" + }, + "position": { + "height": 35, + "width": 35, + "x": 2, + "y": 80 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Diag.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 3" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonAlarm" + }, + "position": { + "height": 35, + "width": 35, + "x": 2, + "y": 120 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Alm.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tblock_label \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_Label\"])[0].value\n\t\t\n\ttitle \u003d \"{0} - {1}\".format(block_label, \"PVwSP Trend\")\n\t\n\tparams \u003d {\n\t\"tagPath\": self.view.params.tagPath,\n\t\"maximumParameterName\": \"Val_SpeedFdbkEUMax\",\n\t\"minimumParameterName\": \"Val_SpeedFdbkEUMin\",\n\t\"euParameterName\": \"Cfg_SpeedFdbkEU\",\n\t\"pvParameterName\": \"Val_SpeedFdbk\",\n\t\"spParameterName\": \"Val_SpeedRef\",\n\t}\n\t\n\tsystem.perspective.openPopup({self.view.params.tagPath},\u0027Plant PAX/Popups/00_Trend_Popups/Process_PVwSP\u0027, params, title, showCloseIcon \u003d True, resizable \u003d False)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonTrend" + }, + "position": { + "height": 32, + "width": 32, + "x": 2, + "y": 210 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Trend.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d -1" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonHelp" + }, + "position": { + "height": 32, + "rotate": { + "angle": "180deg" + }, + "width": 32, + "x": 2, + "y": 250 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Faults.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "MaintBypass" + }, + "position": { + "height": 16, + "width": 16, + "y": 37 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_HasRunFdbk\") ||\r\ntag({view.params.tagPath} + \"/Cfg_UseRunFdbk\") ||\r\ntag({view.params.tagPath} + \"/Sts_Bypass\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tCfg_HasRunFdbk \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_HasRunFdbk\"])[0].value\n\tCfg_UseRunFdbk \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_UseRunFdbk\"])[0].value\n\tSts_Bypass \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Bypass\"])[0].value\n\t\n\tif ((Cfg_HasRunFdbk) and not (Cfg_UseRunFdbk)) or (Sts_Bypass):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_MaintByp.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "AlarmInh" + }, + "position": { + "height": 16, + "width": 16, + "y": 116.99519348144531 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_AlmInh\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Alm_Inhibit.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 23, + "y": 37 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_Timer\") || tag({view.params.tagPath} + \"/Err_RefLim\") || tag({view.params.tagPath} + \"/Err_OutDLLim\") || \r\ntag({view.params.tagPath} + \"/Err_FdbkEU\") || tag({view.params.tagPath} + \"/Err_FdbkRaw\") || tag({view.params.tagPath} + \"/Err_RefEU\") || \r\ntag({view.params.tagPath} + \"/Err_RefRaw\") || tag({view.params.tagPath} + \"/Err_InpDLEU\") || tag({view.params.tagPath} + \"/Err_InpDLRaw\") || \r\ntag({view.params.tagPath} + \"/Err_OutDLEU\") || tag({view.params.tagPath} + \"/Err_OutDLRaw\") || tag({view.params.tagPath} + \"/Err_Sim\") " + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "BadConfigAlarm" + }, + "position": { + "height": 16, + "width": 16, + "x": 23, + "y": 118 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Err_Alarm\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotReady" + }, + "position": { + "height": 16, + "width": 16, + "y": 99 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_NotRdy\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_NotReady.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupTabButtons" + }, + "position": { + "height": 287, + "width": 39, + "x": 3, + "y": 5 + }, + "type": "ia.container.coord" + } + ], + "events": { + "system": { + "onStartup": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "propConfig": { + "custom.cmdSrcTitle": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_Tag\") + \" - \" + tag({view.params.tagPath}+\"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_VSD/P_VSD_Advanced/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_VSD/P_VSD_Advanced/resource.json new file mode 100644 index 0000000..a778463 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_VSD/P_VSD_Advanced/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "f2dbf7432033ff97222f67c9ca8ff9116fb3660bc68617f231f5a9d75abcb3bd", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_VSD/P_VSD_Advanced/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_VSD/P_VSD_Advanced/thumbnail.png new file mode 100644 index 0000000..f935f90 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_VSD/P_VSD_Advanced/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_VSD/P_VSD_Advanced/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_VSD/P_VSD_Advanced/view.json new file mode 100644 index 0000000..9399238 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_VSD/P_VSD_Advanced/view.json @@ -0,0 +1,8597 @@ +{ + "custom": { + "popupVersion": " 1.0 " + }, + "params": { + "securityDeviceConfigBehavior": true, + "securityDeviceConfigFailTimers": true, + "securityDeviceConfigHMI": true, + "securityDeviceConfigLimits": true, + "securityDeviceConfigTimers": true, + "securityEnableSimulation": true, + "securityEnterOperSettings": true, + "securityOverrideInputs": true, + "selectedTab": 0, + "tagPath": "[default]Test_Tags/P_VSD", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "custom.popupVersion": { + "persistent": true + }, + "params.securityDeviceConfigBehavior": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigBehavior\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityDeviceConfigFailTimers": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigFailTimers\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityDeviceConfigHMI": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigHMI\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityDeviceConfigLimits": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigLimits\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityDeviceConfigTimers": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigTimers\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityEnableSimulation": { + "binding": { + "config": { + "expression": "\"securityEnableSimulation\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityEnterOperSettings": { + "binding": { + "config": { + "expression": "\"securityEnterOperSettings\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityOverrideInputs": { + "binding": { + "config": { + "expression": "\"securityOverrideInputs\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.selectedTab": { + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 442, + "width": 350 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Tab1" + }, + "position": { + "height": 39, + "width": 37 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab2" + }, + "position": { + "height": 39, + "width": 37, + "x": 40 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab3" + }, + "position": { + "height": 39, + "width": 37, + "x": 80 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "InactiveTabs" + }, + "position": { + "height": 39, + "width": 117, + "x": 4, + "y": 4 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 403, + "width": 350, + "y": 42 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab" + }, + "position": { + "height": 39, + "width": 40, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 442, + "width": 350 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ErrOutline" + }, + "position": { + "height": 136, + "width": 83, + "y": 10.5 + }, + "props": { + "style": { + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "2px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 68, + "y": -4.5 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "ndeErr_1" + }, + "position": { + "height": 151, + "width": 83, + "x": 255, + "y": 5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_Timer\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "GO_Cfg_ResetPulseT" + }, + "position": { + "height": 32, + "width": 340, + "x": 1.5, + "y": 12 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_ResetPulseT" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_StartStopFailTimers" + }, + "position": { + "height": 74, + "width": 340, + "x": 1.5, + "y": 48 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigFailTimers": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_StartStopFailTimers" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_MaxJogT" + }, + "position": { + "height": 32, + "width": 340, + "x": 1.5, + "y": 122 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_MaxJogT" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SeparatorLine" + }, + "position": { + "height": 2, + "width": 340, + "x": 2, + "y": 175 + }, + "props": { + "style": { + "borderColor": "#E0E0E0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label3" + }, + "position": { + "height": 31, + "width": 171, + "x": 7, + "y": 159.5 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "bold", + "textAlign": "left" + }, + "text": "(Output Datalink) Limits" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "GroupTimer" + }, + "position": { + "height": 394, + "width": 343, + "x": 2, + "y": 45 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ErrOutline" + }, + "position": { + "height": 63, + "width": 188, + "y": 1.5 + }, + "props": { + "style": { + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "2px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 174, + "y": -0.5 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "ndeErr_1" + }, + "position": { + "height": 70, + "width": 190, + "x": 6, + "y": 5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_OutDLLim\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Minimum Level" + }, + "position": { + "height": 16, + "width": 89, + "x": 12, + "y": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + }, + "text": "Maximum" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "MaximumLabel" + }, + "position": { + "height": 16, + "width": 89, + "x": 12, + "y": 12 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + }, + "text": "Maximum" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "MinRaw" + }, + "position": { + "height": 20, + "width": 70, + "x": 114, + "y": 35 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigLimits} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_OutDLDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_OutDatalinkMin\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": -4294967296 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "MaxRaw" + }, + "position": { + "height": 20, + "width": 70, + "x": 114, + "y": 11 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigLimits} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_OutDLDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_OutDatalinkMax\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": -4294967296 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "GroupOutDataLink" + }, + "position": { + "height": 160, + "width": 343, + "x": 2, + "y": 234 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_HasOutDatalink\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Maintenance" + }, + "position": { + "height": 442, + "width": 350, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 0)", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 403, + "width": 350, + "y": 42 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab" + }, + "position": { + "height": 39, + "width": 40, + "x": 39, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 442, + "width": 350 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "LineHor2" + }, + "position": { + "height": -6, + "width": 35.999999999999986, + "x": 102.01, + "y": 73.5 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineVer0" + }, + "position": { + "height": 290, + "width": 1, + "x": 137.01, + "y": 22.5 + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px", + "borderRightStyle": "none", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor1" + }, + "position": { + "height": 1, + "width": 142, + "x": 174.01, + "y": 320.5 + }, + "props": { + "style": { + "borderTopColor": "#FFFFFF", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineVer1" + }, + "position": { + "height": 30, + "width": 0, + "x": 102.01, + "y": 59 + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px", + "borderRightStyle": "none", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor3" + }, + "position": { + "height": 1, + "width": 36, + "x": 67.0104, + "y": 58.5 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor4" + }, + "position": { + "height": 1, + "width": 36, + "x": 67.0104, + "y": 88.5 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor7" + }, + "position": { + "height": 1, + "width": 90, + "x": 168.01, + "y": 223.5 + }, + "props": { + "style": { + "borderTopColor": "#FFFFFF", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor9" + }, + "position": { + "height": 1, + "width": 36, + "x": 102.009, + "y": 257.497 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineVer5" + }, + "position": { + "height": 30, + "width": 70.99702453613281, + "x": 102.009, + "y": 242.497 + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px", + "borderRightStyle": "none", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor10" + }, + "position": { + "height": 1, + "width": 36, + "x": 67.0089, + "y": 241.497 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor11" + }, + "position": { + "height": 1, + "width": 36, + "x": 67.0089, + "y": 271.497 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image_11" + }, + "position": { + "height": 21, + "width": 33, + "x": 121.01, + "y": 247.507 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_Function.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_0" + }, + "position": { + "height": 17, + "width": 16, + "x": 299, + "y": -2.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "(tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasMaint\") \u0026\u0026 (tag({view.params.tagPath} + \"/Sts_Maint\") || (!tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasOper\") \u0026\u0026 !tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasOperLocked\"))))" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_CmdSrcMaint.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_1" + }, + "position": { + "height": 18, + "width": 16, + "x": 298.01, + "y": 20.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasExt\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_CmdSrcExt.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "LineHor12" + }, + "position": { + "height": 1, + "rotate": { + "angle": "-45deg" + }, + "width": 55, + "x": 145.01, + "y": 82.51 + }, + "props": { + "style": { + "borderTopColor": "#FFFFFF", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image_12" + }, + "position": { + "height": 22, + "width": 33, + "x": 120.51, + "y": 102.502 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_Function.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_13" + }, + "position": { + "height": 22, + "width": 33, + "x": 120.51, + "y": 64.5024 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_Function.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "LineVer9" + }, + "position": { + "height": 30.000000000000014, + "width": 1, + "x": 172.01, + "y": 100.49 + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px", + "borderRightStyle": "none", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor17" + }, + "position": { + "height": 1, + "width": 36, + "x": 172.01, + "y": 99.494 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor18" + }, + "position": { + "height": 1, + "width": 36, + "x": 172.01, + "y": 129.494 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor19" + }, + "position": { + "height": 1, + "width": 19, + "x": 153.01, + "y": 113.494 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor20" + }, + "position": { + "height": 1, + "width": 36, + "x": 172.004, + "y": 274.486 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor21" + }, + "position": { + "height": 1, + "width": 36, + "x": 172.004, + "y": 304.486 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineVer10" + }, + "position": { + "height": 30, + "width": 1, + "x": 172.004, + "y": 274.486 + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px", + "borderRightStyle": "none", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor22" + }, + "position": { + "height": 1, + "width": 19, + "x": 153.004, + "y": 289.486 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image_14" + }, + "position": { + "height": 21, + "width": 33, + "x": 121.509, + "y": 279.506 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_Function.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "LineVer2" + }, + "position": { + "height": 308, + "width": 1, + "x": 315.509, + "y": 12.5057 + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftColor": "#FFFFFF", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px", + "borderRightStyle": "none", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor5" + }, + "position": { + "height": 1, + "width": 142, + "x": 174, + "y": 11.5057 + }, + "props": { + "style": { + "borderTopColor": "#FFFFFF", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineVer6" + }, + "position": { + "height": 183, + "width": 1, + "x": 290.509, + "y": 63.505700000000004 + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftColor": "#FFFFFF", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px", + "borderRightStyle": "none", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor13" + }, + "position": { + "height": 0, + "width": 106, + "x": 184.51, + "y": 246.51 + }, + "props": { + "style": { + "borderTopColor": "#FFFFFF", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor8" + }, + "position": { + "height": 1, + "width": 99, + "x": 191.509, + "y": 63.5057 + }, + "props": { + "style": { + "borderTopColor": "#FFFFFF", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineVer7" + }, + "position": { + "height": 70, + "width": 1, + "x": 265.509, + "y": 151.506 + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftColor": "#FFFFFF", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px", + "borderRightStyle": "none", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor14" + }, + "position": { + "height": 1, + "width": 97, + "x": 168.50852394104004, + "y": 151.50568199157715 + }, + "props": { + "style": { + "borderTopColor": "#FFFFFF", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineVer8" + }, + "position": { + "height": 20, + "width": 1, + "x": 167.5, + "y": 151.506 + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftColor": "#FFFFFF", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px", + "borderRightStyle": "none", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineVer11" + }, + "position": { + "height": 20, + "width": 1, + "x": 167.5, + "y": 203.506 + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftColor": "#FFFFFF", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px", + "borderRightStyle": "none", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor15" + }, + "position": { + "height": 1, + "rotate": { + "angle": "-45deg" + }, + "width": 15, + "x": 172.509, + "y": 251.506 + }, + "props": { + "style": { + "borderTopColor": "#FFFFFF", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor16" + }, + "position": { + "height": 1, + "width": 22, + "x": 153.509, + "y": 257.506 + }, + "props": { + "style": { + "borderTopColor": "#FFFFFF", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "LinesAndImages" + }, + "position": { + "height": 327, + "width": 341, + "x": 1, + "y": 2.5 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Input" + }, + "position": { + "height": 16, + "width": 89, + "x": 3.5028419494628906, + "y": 6.005683898925781 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "center" + }, + "text": "Input" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "SpeedFeedback" + }, + "position": { + "height": 16, + "width": 89, + "x": 16.5, + "y": 36 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "bold", + "textAlign": "center" + }, + "text": "Input" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "ErrOutline" + }, + "position": { + "height": 55, + "width": 73, + "x": 1, + "y": 2.5 + }, + "props": { + "style": { + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "2px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 71, + "y": 1.5 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "ndeErr_1" + }, + "position": { + "height": 61, + "width": 89, + "x": 24, + "y": 47 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_FdbkRaw\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Cfg_SpeedFdbkRawMin" + }, + "position": { + "height": 20, + "width": 70, + "x": 26, + "y": 80 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "2//tag({view.params.tagPath} + \"/Cfg_DecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_SpeedFdbkRawMin\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": -4294967296 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Cfg_SpeedFdbkRawMax" + }, + "position": { + "height": 20, + "width": 70, + "x": 26, + "y": 54 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "2//tag({view.params.tagPath} + \"/Cfg_DecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_SpeedFdbkRawMax\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": -4294967296 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "custom": { + "parameter": "Inp_SpeedFdbk" + }, + "meta": { + "name": "Inp_SpeedFdbk" + }, + "position": { + "height": 20, + "width": 70, + "x": 105.009, + "y": 5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/\" + {this.custom.parameter})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tDecPlcs \u003d 0#system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_DecPlcs\"] )[0].value\n\t\n\tif (DecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/\" + {this.custom.parameter}), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#475CA7", + "fontSize": "10pt", + "paddingRight": "3px", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "SpeedFeedbackScaled" + }, + "position": { + "height": 16, + "width": 89, + "x": 186.499, + "y": 75.9986 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "bold", + "textAlign": "center" + }, + "text": "Scaled" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "ErrOutline" + }, + "position": { + "height": 55, + "width": 73, + "x": 1, + "y": 2.5 + }, + "props": { + "style": { + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "2px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 71, + "y": 1.5 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "ndeErr_2" + }, + "position": { + "height": 61, + "width": 89, + "x": 194.499, + "y": 86.999 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_FdbkEU\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Cfg_SpeedFdbkEUMin" + }, + "position": { + "height": 20, + "width": 70, + "x": 196.499, + "y": 119.999 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_DecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_SpeedFdbkEUMin\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": -4294967296 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Cfg_SpeedFdbkEUMax" + }, + "position": { + "height": 20, + "width": 70, + "x": 196.499, + "y": 93.999 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_DecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_SpeedFdbkEUMax\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": -4294967296 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "FeedabckLabel" + }, + "position": { + "height": 16, + "width": 89, + "x": 4.50284, + "y": 167.006 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "center" + }, + "text": "Feedback" + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameter": "Val_SpeedFdbk" + }, + "meta": { + "name": "Val_SpeedFdbk" + }, + "position": { + "height": 20, + "width": 70, + "x": 105.503, + "y": 165 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/\" + {this.custom.parameter})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_DecPlcs\"] )[0].value\n\t\n\tif (DecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/\" + {this.custom.parameter}), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#475CA7", + "fontSize": "10pt", + "paddingRight": "3px", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "GO_Cfg_EUx" + }, + "position": { + "height": 20, + "width": 70, + "x": 182.503, + "y": 165 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "parameterName": "Cfg_SpeedFdbkEU", + "securityDeviceConfigHMI": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_EUx" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Reference" + }, + "position": { + "height": 16, + "width": 89, + "x": 5.50284, + "y": 194.006 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "center" + }, + "text": "Reference" + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameter": "Val_SpeedRef" + }, + "meta": { + "name": "Val_SpeedRef" + }, + "position": { + "height": 20, + "width": 70, + "x": 105.503, + "y": 192 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/\" + {this.custom.parameter})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_DecPlcs\"] )[0].value\n\t\n\tif (DecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/\" + {this.custom.parameter}), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#475CA7", + "fontSize": "10pt", + "paddingRight": "3px", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "GO_Cfg_EUx_0" + }, + "position": { + "height": 20, + "width": 70, + "x": 183.503, + "y": 192 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "parameterName": "Cfg_SpeedRefEU", + "securityDeviceConfigHMI": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_EUx" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "SpeedReferenceEU" + }, + "position": { + "height": 16, + "width": 89, + "x": 7.4986, + "y": 217.994 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "bold", + "textAlign": "center" + }, + "text": "EU" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "ErrOutline" + }, + "position": { + "height": 55, + "width": 73, + "x": 1, + "y": 2.5 + }, + "props": { + "style": { + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "2px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 71, + "y": 1.5 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "ndeErr_3" + }, + "position": { + "height": 61, + "width": 89, + "x": 16.4986, + "y": 228.994 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_RefEU\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Cfg_SpeedRefEUMin" + }, + "position": { + "height": 20, + "width": 70, + "x": 17.4986, + "y": 261.994 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_DecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_SpeedRefEUMin\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": -4294967296 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Cfg_SpeedRefEUMax" + }, + "position": { + "height": 20, + "width": 70, + "x": 17.4986, + "y": 235.994 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_DecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_SpeedRefEUMax\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": -4294967296 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "SpeedReferenceEU_0" + }, + "position": { + "height": 16, + "width": 89, + "x": 185.493, + "y": 250.99 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "bold", + "textAlign": "center" + }, + "text": "Output" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "ErrOutline" + }, + "position": { + "height": 55, + "width": 73, + "x": 1, + "y": 2.5 + }, + "props": { + "style": { + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "2px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 71, + "y": 1.5 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "ndeErr_4" + }, + "position": { + "height": 61, + "width": 89, + "x": 194.493, + "y": 261.99 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_RefRaw\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Cfg_SpeedRefRawMin" + }, + "position": { + "height": 20, + "width": 70, + "x": 195.493, + "y": 294.99 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "2//tag({view.params.tagPath} + \"/Cfg_DecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_SpeedRefRawMin\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": -4294967296 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Cfg_SpeedRefRawMax" + }, + "position": { + "height": 20, + "width": 70, + "x": 195.493, + "y": 268.99 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "2//tag({view.params.tagPath} + \"/Cfg_DecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_SpeedRefRawMax\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": -4294967296 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "custom": { + "parameter": "Out_SpeedRef" + }, + "meta": { + "name": "Out_SpeedRef" + }, + "position": { + "height": 20, + "width": 70, + "x": 105.50284194946289, + "y": 312.00568199157715 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/\" + {this.custom.parameter})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tDecPlcs \u003d 0#system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_DecPlcs\"] )[0].value\n\t\n\tif (DecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/\" + {this.custom.parameter}), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#475CA7", + "fontSize": "10pt", + "paddingRight": "3px", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Loopback" + }, + "position": { + "height": 16, + "width": 70, + "x": 256.5, + "y": 235.01 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "center" + }, + "text": "Loopback" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 0 + }, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "!(tag({view.params.tagPath} + \"/Cfg_SimScaleRaw\") || tag({view.params.tagPath} + \"/Cfg_SimScaleEU\"))" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 9.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_SimScaleRaw\", False)\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_SimScaleEU\", False)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 22, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "rb_SimScale" + }, + "position": { + "height": 35, + "width": 25, + "x": 255, + "y": 209 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 0 + }, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_SimScaleEU\")" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 9.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_SimScaleRaw\", False)\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_SimScaleEU\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 22, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "rb_SimScaleEU" + }, + "position": { + "height": 35, + "width": 25, + "x": 280, + "y": 209 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 0 + }, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_SimScaleRaw\")" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 9.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_SimScaleRaw\", True)\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_SimScaleEU\", False)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 22, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "rb_SimScaleRaw" + }, + "position": { + "height": 35, + "width": 25, + "x": 305, + "y": 209 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GroupScaling" + }, + "position": { + "height": 334, + "width": 342 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "PageEngineering1" + }, + "position": { + "height": 334, + "width": 345, + "x": 2.5, + "y": 46 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{parent.custom.pageTabSelected}" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 0)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasRunFdbk\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 306, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Drive has Run Feedback" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_HasRunFdbk\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_HasRunFdbk\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "cb_Cfg_SkipRoCLim" + }, + "position": { + "height": 33, + "width": 340, + "x": 2.5, + "y": -1 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasSpeedFdbk\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 306, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Drive has Speed Feedback" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_HasSpeedFdbk\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_HasSpeedFdbk\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "cb_Cfg_HasSpeedFdbk" + }, + "position": { + "height": 33, + "width": 340, + "x": 2.5, + "y": 32 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_UseSpeedFdbk\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 281, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Use Speed Feedback \u003e 0 to imply running if Run Feedback not used" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_UseSpeedFdbk\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_UseSpeedFdbk\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 310, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "cb_Cfg_UseSpeedFdbk" + }, + "position": { + "height": 33, + "width": 315, + "x": 22.5, + "y": 65 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_HasSpeedFdbk\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "GO_Cfg_OCmdResets" + }, + "position": { + "height": 32, + "width": 340, + "x": 2.5, + "y": 96.002 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_OCmdResets" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_XCmdResets" + }, + "position": { + "height": 32, + "width": 340, + "x": 2.5, + "y": 128 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_XCmdResets" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_HasJog" + }, + "position": { + "height": 32, + "width": 340, + "x": 2.5, + "y": 160 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_HasJog" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_HasReverse" + }, + "position": { + "height": 32, + "width": 340, + "x": 2.5, + "y": 192 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_HasReverse" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_OvrdPermIntlk" + }, + "position": { + "height": 32, + "width": 340, + "x": 2.5, + "y": 228 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_OvrdPermIntlk" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_OperStopPrio" + }, + "position": { + "height": 32, + "width": 340, + "x": 2.5, + "y": 266 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_OperStopPrio" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_ExtStopPrio" + }, + "position": { + "height": 32, + "width": 340, + "x": 2.5, + "y": 298 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_ExtStopPrio" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "PageEngineering2" + }, + "position": { + "height": 334, + "width": 345, + "x": 2.5, + "y": 46 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{parent.custom.pageTabSelected}" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 1)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "SeparatorLine" + }, + "position": { + "height": 2, + "width": 340, + "x": 2, + "y": 39 + }, + "props": { + "style": { + "borderColor": "#E0E0E0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label2" + }, + "position": { + "height": 16, + "width": 155, + "x": 8.51, + "y": 119 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Stop Drive:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "GO_Cfg_ShedOnIOFault" + }, + "position": { + "height": 32, + "width": 280, + "x": 12.5, + "y": 136.002 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnIOFault" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_ShedOnInterlockTrip" + }, + "position": { + "height": 32, + "width": 280, + "x": 12.5, + "y": 200 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnInterlockTrip" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_AllowLocal" + }, + "position": { + "height": 32, + "width": 340, + "x": 2.5, + "y": 4.0017 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_AllowLocal", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_SetTrack" + }, + "position": { + "height": 32, + "width": 340, + "x": 2.5, + "y": 38 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_SetTrack" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_SetTrackOvrdHand" + }, + "position": { + "height": 32, + "width": 340, + "x": 2.5, + "y": 72 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_SetTrackOvrdHand", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_ShedOnFailToStart" + }, + "position": { + "height": 32, + "width": 280, + "x": 12.5, + "y": 167.002 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnFailToStart" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "PageEngineering3" + }, + "position": { + "height": 334, + "width": 345, + "x": 2.5, + "y": 46 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{parent.custom.pageTabSelected}" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 2)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label2" + }, + "position": { + "height": 31, + "width": 271, + "x": 4.5, + "y": 29.5 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "These controls can be configured to not follow the Command Source Selection" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "SeparatorLine" + }, + "position": { + "height": 2, + "width": 340, + "x": 2, + "y": 14 + }, + "props": { + "style": { + "borderColor": "#E0E0E0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label0" + }, + "position": { + "height": 19, + "width": 165, + "x": 4.5, + "y": 5 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "bold", + "textAlign": "left" + }, + "text": "Command Source Exceptions" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FollowSource" + }, + "position": { + "height": 34, + "width": 56, + "x": 149, + "y": 67 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "bold", + "textAlign": "center" + }, + "text": "Follow Source" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "LineHor0" + }, + "position": { + "height": 1, + "width": 30, + "x": 162, + "y": 101 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "On_1" + }, + "position": { + "height": 34, + "width": 51, + "x": 196, + "y": 67 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "bold", + "textAlign": "center" + }, + "text": "Only Oper" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "LineHor1" + }, + "position": { + "height": 1, + "width": 30, + "x": 206.5, + "y": 101 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor2" + }, + "position": { + "height": 1, + "width": 30, + "x": 251.5, + "y": 101 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "On_2" + }, + "position": { + "height": 34, + "width": 51, + "x": 241, + "y": 67 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "bold", + "textAlign": "center" + }, + "text": "Only Prog" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "LineHor3" + }, + "position": { + "height": 1, + "width": 30, + "x": 297, + "y": 101 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "On_3" + }, + "position": { + "height": 34, + "width": 44, + "x": 289, + "y": 67 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "bold", + "textAlign": "center" + }, + "text": "Only Ext" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label3" + }, + "position": { + "height": 16, + "width": 119, + "x": 3.5, + "y": 110 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Speed Reference:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label4" + }, + "position": { + "height": 16, + "width": 134, + "x": 3.5, + "y": 141 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "\u0027Start\u0027, \u0027Stop\u0027, \u0026 \u0027Jog\u0027" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label5" + }, + "position": { + "height": 16, + "width": 134, + "x": 3.50521, + "y": 177 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Output Datalink Settings" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "GO_ProgOperKeep" + }, + "position": { + "height": 35, + "width": 195, + "x": 147.5, + "y": 100.5 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "bitNumber": 0, + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_ProgOperKeep" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_ProgOperKeep_0" + }, + "position": { + "height": 35, + "width": 195, + "x": 147.5, + "y": 131.5 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "bitNumber": 1, + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_ProgOperKeep" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_ProgOperKeep_1" + }, + "position": { + "height": 35, + "width": 195, + "x": 147.5, + "y": 167.5 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "bitNumber": 3, + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_ProgOperKeep" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_StartHornT_0" + }, + "position": { + "height": 32, + "width": 340, + "x": 2.5, + "y": 227.0017318725586 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_StartHornT" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_SimRampT" + }, + "position": { + "height": 32, + "width": 340, + "x": 2.5, + "y": 266.002 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigTimers": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_Cfg_SimRampT" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "PageEngineering4" + }, + "position": { + "height": 334, + "width": 345, + "x": 2.5, + "y": 46 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{parent.custom.pageTabSelected}" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 3)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "SeparatorLine" + }, + "position": { + "height": 2, + "width": 340, + "x": 2, + "y": 19 + }, + "props": { + "style": { + "borderColor": "#E0E0E0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label1" + }, + "position": { + "height": 16, + "width": 123.99999999999999, + "x": 7.51, + "y": 5 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "left" + }, + "text": "Input Datalink" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasInpDatalink\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 294, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Drive has Input Datalink" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_HasInpDatalink\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_HasInpDatalink\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "cb_Cfg_HasInpDatalink" + }, + "position": { + "height": 32, + "width": 340, + "x": 2.5, + "y": 20 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ErrOutline" + }, + "position": { + "height": 55, + "width": 73, + "x": 1, + "y": 2.5 + }, + "props": { + "style": { + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "2px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 71, + "y": 1.5 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "ndeErr" + }, + "position": { + "height": 61, + "width": 89, + "x": 106, + "y": 21 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_InpDLRaw\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ErrOutline" + }, + "position": { + "height": 55, + "width": 73, + "x": 1, + "y": 2.5 + }, + "props": { + "style": { + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "2px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 71, + "y": 1.5 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "ndeErr_0" + }, + "position": { + "height": 61, + "width": 89, + "x": 242.5, + "y": 21 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_InpDLEU\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "InputLabel" + }, + "position": { + "height": 16, + "width": 89, + "x": 106.5, + "y": 7 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "center", + "textDecoration": "underline" + }, + "text": "Input" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "ScaledLabel" + }, + "position": { + "height": 16, + "width": 89, + "x": 243.5, + "y": 7 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "center", + "textDecoration": "underline" + }, + "text": "Scaled" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Cfg_InpDatalinkRawMax" + }, + "position": { + "height": 20, + "width": 70, + "x": 116, + "y": 25 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "2" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_InpDatalinkRawMax\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": -4294967296 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Cfg_InpDatalinkRawMin" + }, + "position": { + "height": 20, + "width": 70, + "x": 116, + "y": 57 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "2" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_InpDatalinkRawMin\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": -4294967296 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Cfg_InpDatalinkEUMax" + }, + "position": { + "height": 20, + "width": 70, + "x": 252.5, + "y": 25 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_InpDLDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_InpDatalinkEUMax\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": -4294967296 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Cfg_InpDatalinkEUMin" + }, + "position": { + "height": 20, + "width": 70, + "x": 252.5, + "y": 57 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_InpDLDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_InpDatalinkEUMin\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": -4294967296 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Label3" + }, + "position": { + "height": 16, + "width": 88, + "x": 8.5, + "y": 57 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Minimum" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label2" + }, + "position": { + "height": 16, + "width": 88, + "x": 8.5, + "y": 27 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Maximum" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label4" + }, + "position": { + "height": 16, + "width": 88, + "x": 159.5, + "y": 90 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + }, + "text": "Units" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "GO_Cfg_EUx" + }, + "position": { + "height": 20, + "width": 70, + "x": 252.5, + "y": 88 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "parameterName": "Cfg_InpDatalinkEU", + "securityDeviceConfigHMI": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_EUx" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Line4" + }, + "position": { + "height": 60, + "rotate": { + "angle": "90deg" + }, + "width": 3, + "x": 217.966, + "y": 23.014 + }, + "props": { + "style": { + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 21, + "width": 33, + "x": 205, + "y": 41 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_TimeFunction.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Icon_3" + }, + "position": { + "height": 13, + "rotate": { + "angle": "-90deg" + }, + "width": 30, + "x": 187, + "y": 45.5 + }, + "props": { + "path": "material/keyboard_arrow_down" + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "Icon_4" + }, + "position": { + "height": 13, + "rotate": { + "angle": "-90deg" + }, + "width": 30, + "x": 232, + "y": 44.5 + }, + "props": { + "path": "material/keyboard_arrow_down" + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "InputScaling" + }, + "position": { + "height": 119, + "width": 345, + "y": 44 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_HasInpDatalink\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label2" + }, + "position": { + "height": 16, + "width": 124, + "x": 8.5, + "y": 163 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "left" + }, + "text": "Output Datalink" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasOutDatalink\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 294, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Drive has Output Datalink" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_HasOutDatalink\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_HasOutDatalink\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "cb_Cfg_HasOutDatalink" + }, + "position": { + "height": 32, + "width": 340, + "x": 3.5, + "y": 182 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ErrOutline" + }, + "position": { + "height": 55, + "width": 73, + "x": 1, + "y": 2.5 + }, + "props": { + "style": { + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "2px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 71, + "y": 1.5 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "ndeErr" + }, + "position": { + "height": 61, + "width": 89, + "x": 106, + "y": 21 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_OutDLEU\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ErrOutline" + }, + "position": { + "height": 55, + "width": 73, + "x": 1, + "y": 2.5 + }, + "props": { + "style": { + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "2px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 71, + "y": 1.5 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "ndeErr_0" + }, + "position": { + "height": 61, + "width": 89, + "x": 242.5, + "y": 21 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_OutDLRaw\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "ScaledLabel" + }, + "position": { + "height": 16, + "width": 89, + "x": 106.5, + "y": 7 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "center", + "textDecoration": "underline" + }, + "text": "Scaled" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "OutputLabel" + }, + "position": { + "height": 16, + "width": 89, + "x": 243.5, + "y": 7 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "center", + "textDecoration": "underline" + }, + "text": "Output" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Cfg_OutDatalinkEUMax" + }, + "position": { + "height": 20, + "width": 70, + "x": 116, + "y": 25 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_OutDLDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_OutDatalinkEUMax\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": -4294967296 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Cfg_OutDatalinkEUMin" + }, + "position": { + "height": 20, + "width": 70, + "x": 116, + "y": 57 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_OutDLDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_OutDatalinkEUMin\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": -4294967296 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Cfg_OutDatalinkRawMax" + }, + "position": { + "height": 20, + "width": 70, + "x": 252.5, + "y": 25 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "2//tag({view.params.tagPath} + \"/Cfg_InpDLDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_OutDatalinkRawMax\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": -4294967296 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Cfg_OutDatalinkRawMin" + }, + "position": { + "height": 20, + "width": 70, + "x": 252.5, + "y": 57 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "2//tag({view.params.tagPath} + \"/Cfg_InpDLDecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_OutDatalinkRawMin\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": -4294967296 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Label3" + }, + "position": { + "height": 16, + "width": 88, + "x": 8.5, + "y": 57 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Minimum" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label2" + }, + "position": { + "height": 16, + "width": 88, + "x": 8.5, + "y": 27 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Maximum" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label4" + }, + "position": { + "height": 16, + "width": 88, + "x": 21.5, + "y": 90 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + }, + "text": "Units" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "GO_Cfg_EUx" + }, + "position": { + "height": 20, + "width": 70, + "x": 116, + "y": 88 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "parameterName": "Cfg_OutDatalinkEU", + "securityDeviceConfigHMI": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_EUx" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Line4" + }, + "position": { + "height": 60, + "rotate": { + "angle": "90deg" + }, + "width": 3, + "x": 217.966, + "y": 23.014 + }, + "props": { + "style": { + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 21, + "width": 33, + "x": 205, + "y": 41 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_TimeFunction.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Icon_3" + }, + "position": { + "height": 13, + "rotate": { + "angle": "-90deg" + }, + "width": 30, + "x": 187, + "y": 45.5 + }, + "props": { + "path": "material/keyboard_arrow_down" + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "Icon_4" + }, + "position": { + "height": 13, + "rotate": { + "angle": "-90deg" + }, + "width": 30, + "x": 232, + "y": 44.5 + }, + "props": { + "path": "material/keyboard_arrow_down" + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "OutputScaling" + }, + "position": { + "height": 119, + "width": 345, + "y": 203 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_HasOutDatalink\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "PageEngineering5" + }, + "position": { + "height": 334, + "width": 345, + "x": 2.5, + "y": 46 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{parent.custom.pageTabSelected}" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 4)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageTabSelected \u003d self.parent.custom.pageTabSelected\n\tmaxNumberOfTabs \u003d self.parent.custom.maxNumberOfTabs - 1\n\t\n\tnewTab \u003d pageTabSelected - 1\n\t\n\tif (newTab \u003e\u003d 0):\n\t\tself.parent.custom.pageTabSelected \u003d newTab" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "PrevButton" + }, + "position": { + "height": 36, + "width": 30, + "x": 68.5 + }, + "props": { + "fit": { + "mode": "contain" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Prev.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 20, + "x": 3, + "y": 8 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if({parent.custom.currentTabNumber} \u003d {parent.custom.tabNumber}, \"#A3A3A3FF\", \"#A3A3A300\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.tabNumber} + 1" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 1, + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "tabNumber": 0 + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.currentTabNumber \u003d self.custom.tabNumber" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Page1Button" + }, + "position": { + "height": 36, + "width": 26, + "x": 96.5 + }, + "propConfig": { + "custom.currentTabNumber": { + "binding": { + "config": { + "bidirectional": true, + "path": "parent.custom.pageTabSelected" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 20, + "x": 3, + "y": 8 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if({parent.custom.currentTabNumber} \u003d {parent.custom.tabNumber}, \"#A3A3A3FF\", \"#A3A3A300\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.tabNumber} + 1" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 1, + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "tabNumber": 1 + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.currentTabNumber \u003d self.custom.tabNumber" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Page2Button" + }, + "position": { + "height": 36, + "width": 26, + "x": 122.5 + }, + "propConfig": { + "custom.currentTabNumber": { + "binding": { + "config": { + "bidirectional": true, + "path": "parent.custom.pageTabSelected" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 20, + "x": 3, + "y": 8 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if({parent.custom.currentTabNumber} \u003d {parent.custom.tabNumber}, \"#A3A3A3FF\", \"#A3A3A300\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.tabNumber} + 1" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 1, + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "tabNumber": 2 + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.currentTabNumber \u003d self.custom.tabNumber" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Page3Button" + }, + "position": { + "height": 36, + "width": 26, + "x": 147.5 + }, + "propConfig": { + "custom.currentTabNumber": { + "binding": { + "config": { + "bidirectional": true, + "path": "parent.custom.pageTabSelected" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 20, + "x": 3, + "y": 8 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if({parent.custom.currentTabNumber} \u003d {parent.custom.tabNumber}, \"#A3A3A3FF\", \"#A3A3A300\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.tabNumber} + 1" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 1, + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "tabNumber": 3 + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.currentTabNumber \u003d self.custom.tabNumber" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Page4Button" + }, + "position": { + "height": 36, + "width": 26, + "x": 172.5 + }, + "propConfig": { + "custom.currentTabNumber": { + "binding": { + "config": { + "bidirectional": true, + "path": "parent.custom.pageTabSelected" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 20, + "x": 3, + "y": 8 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if({parent.custom.currentTabNumber} \u003d {parent.custom.tabNumber}, \"#A3A3A3FF\", \"#A3A3A300\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.tabNumber} + 1" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 1, + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "tabNumber": 4 + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.currentTabNumber \u003d self.custom.tabNumber" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Page5Button" + }, + "position": { + "height": 36, + "width": 26, + "x": 197.5 + }, + "propConfig": { + "custom.currentTabNumber": { + "binding": { + "config": { + "bidirectional": true, + "path": "parent.custom.pageTabSelected" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageTabSelected \u003d self.parent.custom.pageTabSelected\n\tmaxNumberOfTabs \u003d self.parent.custom.maxNumberOfTabs - 1\n\t\n\tnewTab \u003d pageTabSelected + 1\n\t\n\tif (newTab \u003c\u003d maxNumberOfTabs):\n\t\tself.parent.custom.pageTabSelected \u003d newTab" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "NextButton" + }, + "position": { + "height": 36, + "width": 30, + "x": 222.5 + }, + "props": { + "fit": { + "mode": "contain" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Next.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + } + ], + "custom": { + "maintenanceTabSelected": 0, + "maxNumberOfTabs": 5 + }, + "meta": { + "name": "PageButtons" + }, + "position": { + "height": 36, + "width": 321, + "x": 14, + "y": 393 + }, + "propConfig": { + "custom.pageTabSelected": { + "binding": { + "config": { + "bidirectional": true, + "path": "parent.custom.pageTabSelected" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 18, + "width": 16, + "x": 180.005, + "y": 389 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_Sim\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "custom": { + "pageTabSelected": 0 + }, + "meta": { + "name": "TabPage_Engineering" + }, + "position": { + "height": 442, + "width": 350, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d 1", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 402, + "width": 350, + "y": 42 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "x": 80, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 442, + "width": 350 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "GO_Desc_Label_Tag" + }, + "position": { + "height": 68.00000000000001, + "width": 340, + "x": 5, + "y": 3.99 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigHMI": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Desc_Label_Tag" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_Area" + }, + "position": { + "height": 20, + "width": 340, + "x": 5, + "y": 70.987 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityConfigSecurity": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_Area" + }, + "type": "ia.display.view" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 169, + "x": 16.1, + "y": 2 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Forward Text: " + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "TextField" + }, + "position": { + "height": 20, + "width": 147, + "x": 186 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigHMI} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_FwdText\"" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "borderStyle": "solid", + "borderWidth": "1px", + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.input.text-field" + } + ], + "meta": { + "name": "sde_Cfg_FwdText" + }, + "position": { + "height": 20, + "width": 350, + "y": 94 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 168, + "x": 16.1, + "y": 2 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Reverse Text:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "TextField" + }, + "position": { + "height": 20, + "width": 147, + "x": 186 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigHMI} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_RevText\"" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "borderStyle": "solid", + "borderWidth": "1px", + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.input.text-field" + } + ], + "meta": { + "name": "sde_Cfg_RevText" + }, + "position": { + "height": 20, + "width": 350, + "y": 118 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_HasReverse\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 168, + "x": 16.1, + "y": 2 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Input Datalink Label:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "TextField" + }, + "position": { + "height": 20, + "width": 147, + "x": 186 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigHMI} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_InpDataLinkLabel\"" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "borderStyle": "solid", + "borderWidth": "1px", + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.input.text-field" + } + ], + "meta": { + "name": "sde_Cfg_InpDataLinkLabel" + }, + "position": { + "height": 20, + "width": 350, + "y": 142.00595092773438 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_HasInpDatalink\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 168, + "x": 16.1, + "y": 2 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Output Datalink Label:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "TextField" + }, + "position": { + "height": 20, + "width": 147, + "x": 186 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigHMI} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_OutDataLinkLabel\"" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "borderStyle": "solid", + "borderWidth": "1px", + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.input.text-field" + } + ], + "meta": { + "name": "sde_Cfg_OutDataLinkLabel" + }, + "position": { + "height": 20, + "width": 350, + "y": 167.00595092773438 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_HasOutDatalink\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TextConfig" + }, + "position": { + "height": 193, + "width": 350, + "y": 1 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "GO_PVDecimalPlaces" + }, + "position": { + "height": 32, + "width": 340, + "x": 5, + "y": 13.2946 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "parameterName": "Cfg_DecPlcs", + "securityDeviceConfigHMI": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Motor Objects/GO_PVDecimalPlaces" + }, + "type": "ia.display.view" + }, + { + "children": [ + { + "meta": { + "name": "NumericInput" + }, + "position": { + "height": 20, + "width": 36, + "x": 293, + "y": 7 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigHMI} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "0" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_InpDLDecPlcs\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 6, + "minimum": 0 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 277, + "x": 11, + "y": 8 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Number of Decimal Places for Input Datalink" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "nde_Cfg_InpDLDecPlcs" + }, + "position": { + "height": 32, + "width": 340, + "x": 5, + "y": 50 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "NumericInput" + }, + "position": { + "height": 20, + "width": 36, + "x": 293, + "y": 7 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigHMI} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "0" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_OutDLDecPlcs\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 6, + "minimum": 0 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 277, + "x": 11, + "y": 8 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Number of Decimal Places for Output Datalink" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "nde_Cfg_InpDLDecPlcs_0" + }, + "position": { + "height": 32, + "width": 340, + "x": 5, + "y": 86.0089111328125 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "HMIConfig" + }, + "position": { + "height": 136, + "width": 350, + "y": 192 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "PageHMI1" + }, + "position": { + "height": 334, + "width": 350, + "y": 46 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{parent.custom.pageTabSelected}" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 0)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "GO_Cfg_HasFwdPermObj" + }, + "position": { + "height": 32, + "width": 340, + "x": 5, + "y": 7.003 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigHMI": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_HasFwdPermObj" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_HasRevPermObj" + }, + "position": { + "height": 32, + "width": 340, + "x": 5, + "y": 45.003 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigHMI": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_HasRevPermObj" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_HasIntlkObj" + }, + "position": { + "height": 32, + "width": 340, + "x": 5, + "y": 84.003 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigHMI": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_HasIntlkObj" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "PageHMI2" + }, + "position": { + "height": 334, + "width": 350, + "y": 46 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{parent.custom.pageTabSelected}" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 1)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageTabSelected \u003d self.parent.custom.pageTabSelected\n\tmaxNumberOfTabs \u003d self.parent.custom.maxNumberOfTabs - 1\n\t\n\tnewTab \u003d pageTabSelected - 1\n\t\n\tif (newTab \u003e\u003d 0):\n\t\tself.parent.custom.pageTabSelected \u003d newTab" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "PrevButton" + }, + "position": { + "height": 36, + "width": 30, + "x": 103.5 + }, + "props": { + "fit": { + "mode": "contain" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Prev.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 20, + "x": 3, + "y": 8 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if({parent.custom.currentTabNumber} \u003d {parent.custom.tabNumber}, \"#A3A3A3FF\", \"#A3A3A300\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.tabNumber} + 1" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 1, + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "tabNumber": 0 + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.currentTabNumber \u003d self.custom.tabNumber" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Page1Button" + }, + "position": { + "height": 36, + "width": 26, + "x": 131.5 + }, + "propConfig": { + "custom.currentTabNumber": { + "binding": { + "config": { + "bidirectional": true, + "path": "parent.custom.pageTabSelected" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 20, + "x": 3, + "y": 8 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if({parent.custom.currentTabNumber} \u003d {parent.custom.tabNumber}, \"#A3A3A3FF\", \"#A3A3A300\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.tabNumber} + 1" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 1, + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "tabNumber": 1 + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.currentTabNumber \u003d self.custom.tabNumber" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Page2Button" + }, + "position": { + "height": 36, + "width": 26, + "x": 157.5 + }, + "propConfig": { + "custom.currentTabNumber": { + "binding": { + "config": { + "bidirectional": true, + "path": "parent.custom.pageTabSelected" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageTabSelected \u003d self.parent.custom.pageTabSelected\n\tmaxNumberOfTabs \u003d self.parent.custom.maxNumberOfTabs - 1\n\t\n\tnewTab \u003d pageTabSelected + 1\n\t\n\tif (newTab \u003c\u003d maxNumberOfTabs):\n\t\tself.parent.custom.pageTabSelected \u003d newTab" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "NextButton" + }, + "position": { + "height": 36, + "width": 30, + "x": 187.5 + }, + "props": { + "fit": { + "mode": "contain" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Next.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + } + ], + "custom": { + "maintenanceTabSelected": 0, + "maxNumberOfTabs": 2 + }, + "meta": { + "name": "PageButtons" + }, + "position": { + "height": 36, + "width": 321, + "x": 14, + "y": 393 + }, + "propConfig": { + "custom.pageTabSelected": { + "binding": { + "config": { + "bidirectional": true, + "path": "parent.custom.pageTabSelected" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + } + ], + "custom": { + "pageTabSelected": 0 + }, + "meta": { + "name": "TabPage_HMI" + }, + "position": { + "height": 442, + "width": 350, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d 2", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 403, + "width": 350, + "y": 42 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab" + }, + "position": { + "height": 39, + "width": 40, + "x": 306, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 442, + "width": 350 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 145, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "caption": "P_VSD_Advanced", + "label": "Popup Name:" + }, + "meta": { + "name": "PopupID" + }, + "position": { + "height": 18, + "width": 292, + "x": 48, + "y": 346 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 145, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "PlantPAX Version:" + }, + "meta": { + "name": "PlantPAX Version" + }, + "position": { + "height": 18, + "width": 292, + "x": 48, + "y": 369 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/version\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 145, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "UDT Version:" + }, + "meta": { + "name": "UDTVersion" + }, + "position": { + "height": 18, + "width": 292, + "x": 48, + "y": 392 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Prime Version\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 145, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "Popup Version:" + }, + "meta": { + "name": "PopupVersion" + }, + "position": { + "height": 18, + "width": 292, + "x": 48, + "y": 415 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "path": "view.custom.popupVersion" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Version" + }, + "position": { + "height": 442, + "width": 350, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d -1", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonMaintenance" + }, + "position": { + "height": 35, + "width": 35, + "x": 2 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Maint.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 1" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonEngineering" + }, + "position": { + "height": 35, + "width": 35, + "x": 42 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Eng.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 2" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonHMI" + }, + "position": { + "height": 35, + "width": 35, + "x": 81 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_HMI.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d -1" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonHelp" + }, + "position": { + "height": 32, + "rotate": { + "angle": "180deg" + }, + "width": 32, + "x": 311 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Faults.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 23, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_Timer\") || tag({view.params.tagPath} + \"/Err_OutDLLim\")" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "BadConfigEng" + }, + "position": { + "height": 16, + "width": 16, + "x": 63, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_FdbkEU\") || tag({view.params.tagPath} + \"/Err_FdbkRaw\") || tag({view.params.tagPath} + \"/Err_RefRaw\") ||\r\ntag({view.params.tagPath} + \"/Err_RefEU\") || tag({view.params.tagPath} + \"/Err_InpDLEU\") || tag({view.params.tagPath} + \"/Err_InpDLRaw\") ||\r\ntag({view.params.tagPath} + \"/Err_OutDLEU\") || tag({view.params.tagPath} + \"/Err_OutDLRaw\") || tag({view.params.tagPath} + \"/Err_Sim\")" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupTabButtons" + }, + "position": { + "height": 35, + "width": 346, + "x": 3, + "y": 5 + }, + "type": "ia.container.coord" + } + ], + "events": { + "system": { + "onStartup": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 0\n\tself.getChild(\"TabPage_Engineering\").custom.pageTabSelected \u003d 0\n\tself.getChild(\"TabPage_HMI\").custom.pageTabSelected \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_ValveC/P_ValveC/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_ValveC/P_ValveC/resource.json new file mode 100644 index 0000000..a59b7e2 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_ValveC/P_ValveC/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "594236acb8923cfe1b3203fef9b2dc19a8d5523d52ad21fc4d4cec162949e7e4", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_ValveC/P_ValveC/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_ValveC/P_ValveC/thumbnail.png new file mode 100644 index 0000000..3c247d7 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_ValveC/P_ValveC/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_ValveC/P_ValveC/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_ValveC/P_ValveC/view.json new file mode 100644 index 0000000..e405e69 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_ValveC/P_ValveC/view.json @@ -0,0 +1,7453 @@ +{ + "custom": { + "cmdSrcTitle": " - ", + "popupVersion": " 1.0 " + }, + "params": { + "securityBypassFeedback": true, + "securityBypassInterlocks": true, + "securityDeviceConfigLimits": true, + "securityEnableSimulation": true, + "securityOperateEquipment": true, + "securityOverrideInputs": true, + "selectedTab": 3, + "tagPath": "[default]Test_Tags/P_Valve_C", + "userHasBasic": true + }, + "propConfig": { + "custom.cmdSrcTitle": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_Tag\") + \" - \" + tag({view.params.tagPath}+\"/Cfg_Label\")" + }, + "type": "expr" + }, + "persistent": true + }, + "custom.popupVersion": { + "persistent": true + }, + "params.securityBypassFeedback": { + "binding": { + "config": { + "expression": "\"securityBypassFeedback\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityBypassInterlocks": { + "binding": { + "config": { + "expression": "\"securityBypassInterlocks\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityDeviceConfigLimits": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigLimits\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityEnableSimulation": { + "binding": { + "config": { + "expression": "\"securityEnableSimulation\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityOperateEquipment": { + "binding": { + "config": { + "expression": "\"securityOperateEquipment\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityOverrideInputs": { + "binding": { + "config": { + "expression": "\"securityOverrideInputs\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.selectedTab": { + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 300, + "width": 392 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Tab1" + }, + "position": { + "height": 37, + "width": 39 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab2" + }, + "position": { + "height": 37, + "width": 39, + "y": 40 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab3" + }, + "position": { + "height": 37, + "width": 39, + "y": 80 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab4" + }, + "position": { + "height": 37, + "width": 39, + "y": 120 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "InactiveTabs" + }, + "position": { + "height": 157, + "width": 40, + "x": 4, + "y": 4 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 300, + "width": 353, + "x": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 300, + "width": 392 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "StatusText_Ready" + }, + "position": { + "height": 16, + "width": 42, + "x": 6, + "y": 2 + }, + "props": { + "text": "Ready", + "textStyle": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d image_path.format(states[SrcQ_IO][0])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 330, + "x": 20 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][1]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.textStyle.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][3]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][2]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "CommStatus" + }, + "position": { + "height": 20, + "width": 350 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\t\n\tSrcQ_IO \u003d value\n\t\n\tif (SrcQ_IO \u003e\u003d 8):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][3]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "custom": { + "parameterName": "NRdy_Intlk" + }, + "meta": { + "name": "GONoticeNRdy_Intlk" + }, + "position": { + "height": 21, + "width": 398 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {this.custom.parameterName}), true, false)" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{this.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#3F3F3F", + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameterName": "NRdy_IOFault" + }, + "meta": { + "name": "GONoticeNRdy_IOFault" + }, + "position": { + "height": 21, + "width": 398 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {this.custom.parameterName}), true, false)" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{this.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#3F3F3F", + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameterName": "NRdy_OoS" + }, + "meta": { + "name": "GONoticeNRdy_OoS" + }, + "position": { + "height": 21, + "width": 398 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {this.custom.parameterName}), true, false)" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{this.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#3F3F3F", + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameterName": "NRdy_CfgErr" + }, + "meta": { + "name": "GONoticeNRdy_CfgErr" + }, + "position": { + "height": 21, + "width": 398 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {this.custom.parameterName}), true, false)" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{this.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#3F3F3F", + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "NRdyNotices" + }, + "position": { + "height": 21, + "width": 402 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "AlarmSeverityIndicator" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "AlarmText" + }, + "position": { + "height": 16, + "width": 367, + "x": 22, + "y": 2 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Cfg_Cond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "alarmParameterName": "ActuatorFault" + }, + "meta": { + "name": "AlarmNotify_ActuatorFault" + }, + "position": { + "height": 20, + "width": 402 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {this.custom.alarmParameterName} + \"/Val_Notify\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tVal_Notify \u003d value\n\tVal_UnackAlmC \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_UnackAlmC\"])[0].value\n\t\n\tif (Val_Notify \u003e 0) and ((Val_UnackAlmC \u003d\u003d 0) or ((Val_Notify \u0026 1) \u003d\u003d 1)):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "AlarmSeverityIndicator" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "AlarmText" + }, + "position": { + "height": 16, + "width": 367, + "x": 22, + "y": 2 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Cfg_Cond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "alarmParameterName": "IntlkTrip" + }, + "meta": { + "name": "AlarmNotify_IntlkTrip" + }, + "position": { + "height": 20, + "width": 402 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {this.custom.alarmParameterName} + \"/Val_Notify\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tVal_Notify \u003d value\n\tVal_UnackAlmC \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_UnackAlmC\"])[0].value\n\t\n\tif (Val_Notify \u003e 0) and ((Val_UnackAlmC \u003d\u003d 0) or ((Val_Notify \u0026 1) \u003d\u003d 1)):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "AlarmSeverityIndicator" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "AlarmText" + }, + "position": { + "height": 16, + "width": 367, + "x": 22, + "y": 2 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Cfg_Cond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "alarmParameterName": "IOFault" + }, + "meta": { + "name": "AlarmNotify_IOFault" + }, + "position": { + "height": 20, + "width": 402 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {this.custom.alarmParameterName} + \"/Val_Notify\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tVal_Notify \u003d value\n\tVal_UnackAlmC \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_UnackAlmC\"])[0].value\n\t\n\tif (Val_Notify \u003e 0) and ((Val_UnackAlmC \u003d\u003d 0) or ((Val_Notify \u0026 1) \u003d\u003d 1)):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "AlarmNotices" + }, + "position": { + "height": 20, + "width": 402 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "AbnormalSeparatorLine" + }, + "position": { + "height": 2, + "width": 352, + "y": 20 + }, + "props": { + "style": { + "borderColor": "#6A6A6A", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ResetAckAll" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_AlmAckAllReset_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "DisabledAckResetButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 302, + "y": 5 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ResetAckAll" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_AlmAckAllReset.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_ResetAckAll\", 1)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveAckResetButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 302, + "y": 5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/ORdy_ResetAckAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tORdy_ResetAckAll \u003d value\n\tVal_UnackAlmC \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_UnackAlmC\"])[0].value\n\t\n\tif (self.view.params.userHasBasic) and (ORdy_ResetAckAll):\n\t\tret_value \u003d True \n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 350 + }, + "props": { + "text": "Limit Switch Failure", + "textStyle": { + "backgroundColor": "#3F3F3F", + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "GOLSFail" + }, + "position": { + "height": 20, + "width": 350 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_LSFail\")" + }, + "type": "expr" + } + }, + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][3]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Content1" + }, + "position": { + "height": 45, + "width": 403, + "x": 44 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "GOValStsAOut", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 20, + "width": 190 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Val_Sts\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\tstates \u003d {\n\t0: \"At Target\",\n\t1: \"Ramping Down\",\n\t2: \"Ramping Up\",\n\t3: \"Clamped at Min\",\n\t4: \"Clamped at Max\",\n\t5: \"Bumping Close\",\n\t6: \"Bumping Open\",\n\t}\n\t\n\tVal_Sts \u003d value\n\tindex \u003d Val_Sts\n\t\n\tret_value \u003d states[index]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#D4D4D4", + "color": "#2A4191", + "fontSize": "11pt", + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "Left" + }, + "textStyle": { + "classes": "States/DigitalInput/on" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "CommBad" + }, + "position": { + "height": 17, + "width": 17, + "x": 100, + "y": 14 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_IOFault\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_CommBad.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "AccelDecel" + }, + "position": { + "height": 17, + "width": 17 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_IOFault\"), true, false)" + }, + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Accel\") || tag({view.params.tagPath} + \"/Sts_Decel\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d -1\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/Sts_CommBad.png\"\n\timages \u003d {\n\t0: \"Sts_Accel\",\n\t1: \"Sts_Decel\"\n\t}\n\t\n\tSts_Accel \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Accel\"])[0].value\n\tSts_Decel \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Decel\"])[0].value\n\t\n\tif (Sts_Accel):\n\t\tindex \u003d 0\n\telif (Sts_Decel):\n\t\tindex \u003d 1 \n\t\n\tif (index \u003e\u003d 0):\n\t\tret_val \u003d image_path.format(images[index])\n\telse:\n\t\tret_val \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 14, + "width": 32, + "x": 28 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "8pt" + }, + "text": "Speed" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericDisplay", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 18, + "width": 88, + "y": 13 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Val_SpeedFdbk\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tCfg_PVDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_DecPlcs\"] )[0].value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/Val_SpeedFdbk\"), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#2A4191", + "fontWeight": "bold", + "textAlign": "right" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "11pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "godsData_EU", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 14, + "width": 22, + "x": 88, + "y": 15 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Cfg_SpeedFdbkEU\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#919191", + "fontWeight": "bold", + "outlineStyle": "none", + "paddingLeft": 5, + "textAlign": "left" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "8pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "pnddValSpeedFdbk" + }, + "position": { + "height": 33, + "width": 115, + "x": 2.5, + "y": 0.5 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "ValSpeedFdbk" + }, + "position": { + "height": 36, + "width": 120 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Tick0" + }, + "position": { + "height": 5, + "width": 1, + "x": 1.0024, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tick1" + }, + "position": { + "height": 5, + "width": 1, + "x": 26, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tick2" + }, + "position": { + "height": 5, + "width": 1, + "x": 51, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tick3" + }, + "position": { + "height": 5, + "width": 1, + "x": 76, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tick4" + }, + "position": { + "height": 5, + "width": 1, + "x": 101, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick0" + }, + "position": { + "height": 2, + "width": 1, + "x": 5, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick1" + }, + "position": { + "height": 2, + "width": 1, + "x": 10, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick2" + }, + "position": { + "height": 2, + "width": 1, + "x": 15, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick3" + }, + "position": { + "height": 2, + "width": 1, + "x": 20, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick4" + }, + "position": { + "height": 2, + "width": 1, + "x": 30, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick5" + }, + "position": { + "height": 2, + "width": 1, + "x": 35, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick6" + }, + "position": { + "height": 2, + "width": 1, + "x": 40, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick7" + }, + "position": { + "height": 2, + "width": 1, + "x": 45, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick8" + }, + "position": { + "height": 2, + "width": 1, + "x": 55, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick9" + }, + "position": { + "height": 2, + "width": 1, + "x": 60, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick10" + }, + "position": { + "height": 2, + "width": 1, + "x": 65, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick11" + }, + "position": { + "height": 2, + "width": 1, + "x": 70, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick12" + }, + "position": { + "height": 2, + "width": 1, + "x": 80, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick13" + }, + "position": { + "height": 2, + "width": 1, + "x": 85, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick14" + }, + "position": { + "height": 2, + "width": 1, + "x": 90, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick15" + }, + "position": { + "height": 2, + "width": 1, + "x": 95, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Scale" + }, + "position": { + "height": 8, + "width": 103, + "x": 5, + "y": 15.0048 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "ActualSpeedIndicator" + }, + "position": { + "height": 12, + "rotate": { + "angle": "90deg" + }, + "width": 13, + "y": -3 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_SpeedFdbk\") ||\r\ntag({view.params.tagPath} + \"/Cfg_MinSpdRef\") ||\r\ntag({view.params.tagPath} + \"/Cfg_MaxSpdRef\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d 0\n\t\n\tVal_SpeedFdbk \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_SpeedFdbk\"])[0].value\n\tCfg_MinSpdRef \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_MinSpdRef\"])[0].value\n\tCfg_MaxSpdRef \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_MaxSpdRef\"])[0].value\n\t\n\tDisplayMin \u003d 0\n\tDisplayMax \u003d 100\n\t\n\tret_value \u003d ((DisplayMax - DisplayMin) / (Cfg_MaxSpdRef - Cfg_MinSpdRef)) * (Val_SpeedFdbk - Cfg_MinSpdRef) + DisplayMin\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "color": "#2A4191", + "path": "material/play_arrow" + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "SetpointSpeedIndicator" + }, + "position": { + "height": 12, + "rotate": { + "angle": -90 + }, + "width": 13, + "y": 13 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_SpeedRefEU\") \u003d tag({view.params.tagPath} + \"/Cfg_SpeedFdbkEU\"), true, false)" + }, + "type": "expr" + } + }, + "position.x": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_SpeedRef\") ||\r\ntag({view.params.tagPath} + \"/Cfg_MinSpdRef\") ||\r\ntag({view.params.tagPath} + \"/Cfg_MaxSpdRef\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d 0\n\t\n\tVal_SpeedRef \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_SpeedRef\"])[0].value\n\tCfg_MinSpdRef \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_MinSpdRef\"])[0].value\n\tCfg_MaxSpdRef \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_MaxSpdRef\"])[0].value\n\t\n\tDisplayMin \u003d 0\n\tDisplayMax \u003d 100\n\t\n\tret_value \u003d ((DisplayMax - DisplayMin) / (Cfg_MaxSpdRef - Cfg_MinSpdRef)) * (Val_SpeedRef - Cfg_MinSpdRef) + DisplayMin\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "color": "#3F3F3F", + "path": "material/play_arrow" + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "BarGraphBorder" + }, + "position": { + "height": 8, + "width": 101, + "x": 6, + "y": 7.0048 + }, + "props": { + "style": { + "borderColor": "#A0A0A4", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "BarGraphGroup" + }, + "position": { + "height": 27, + "width": 119, + "y": 40 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 14, + "width": 49, + "x": 22 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "8pt" + }, + "text": "Setpoint" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericDisplay", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 16, + "width": 72, + "x": 9, + "y": 13 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Val_SpeedRef\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tCfg_PVDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_DecPlcs\"] )[0].value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/Val_SpeedRef\"), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#2A4191", + "fontWeight": "normal", + "textAlign": "right" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "11pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "godsData_EU", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 14, + "width": 22, + "x": 81, + "y": 15 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Cfg_SpeedFdbkEU\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#919191", + "fontWeight": "bold", + "outlineStyle": "none", + "paddingLeft": 5, + "textAlign": "left" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "8pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "pnddValSpeedRef" + }, + "position": { + "height": 32, + "width": 107 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Clamped" + }, + "position": { + "height": 16, + "width": 16, + "x": 86.0036, + "y": 13.0036 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_SpeedLimited\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_Clamped.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "Setpoint" + }, + "position": { + "height": 32, + "width": 110 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "height": 20, + "width": 76 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityEnterOperSettings} \u0026\u0026 {view.params.userHasBasic} \u0026\u0026 tag({view.params.tagPath} + \"/ORdy_SpeedRef\")" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_DecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_MaxSpdRef\"" + }, + "type": "tag" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_MinSpdRef\"" + }, + "type": "tag" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/OSet_SpeedRef\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "ndeOSet_SpeedRef" + }, + "position": { + "height": 24, + "width": 101, + "x": 4, + "y": 33 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "SpeedSetpoint" + }, + "position": { + "height": 57, + "width": 115, + "x": 8, + "y": 72 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GOSpeedFdbkAndSetpoint", + "visible": false + }, + "position": { + "height": 131, + "width": 123, + "y": 27 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "BarGraphBorder" + }, + "position": { + "height": 12, + "width": 180, + "x": 5.5, + "y": 14.3 + }, + "props": { + "style": { + "borderColor": "#A0A0A4", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Tick0" + }, + "position": { + "height": 5, + "width": 1, + "x": 1.0024, + "y": 0.004809999999999981 + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tick1" + }, + "position": { + "height": 5, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.25" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tick2" + }, + "position": { + "height": 5, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.5" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tick3" + }, + "position": { + "height": 5, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.75" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tick4" + }, + "position": { + "height": 5, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 1" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick0" + }, + "position": { + "height": 2, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.05" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick1" + }, + "position": { + "height": 2, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.1" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick2" + }, + "position": { + "height": 2, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.15" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick3" + }, + "position": { + "height": 2, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.20" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick4" + }, + "position": { + "height": 2, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.30" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick5" + }, + "position": { + "height": 2, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.35" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick6" + }, + "position": { + "height": 2, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.40" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick7" + }, + "position": { + "height": 2, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.45" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick8" + }, + "position": { + "height": 2, + "width": 1, + "y": 0.00481 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.55" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick9" + }, + "position": { + "height": 2, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.60" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick10" + }, + "position": { + "height": 2, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.65" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick11" + }, + "position": { + "height": 2, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.70" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick12" + }, + "position": { + "height": 2, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.80" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick13" + }, + "position": { + "height": 2, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.85" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick14" + }, + "position": { + "height": 2, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.90" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "SmallTick15" + }, + "position": { + "height": 2, + "width": 1, + "y": 0.004809999999999981 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "{parent.custom.length} * 0.95" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderLeftColor": "#A0A0A4", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "custom": { + "length": 180 + }, + "meta": { + "name": "Scale" + }, + "position": { + "height": 8, + "width": 184, + "x": 4.5, + "y": 26.3 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "CVIndicator" + }, + "position": { + "height": 20, + "rotate": { + "angle": "90deg" + }, + "width": 20, + "y": -1.1 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_CVOut\") ||\r\ntag({view.params.tagPath} + \"/Val_CVEUMin\") ||\r\ntag({view.params.tagPath} + \"/Val_CVEUMax\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d 0\n\t\n\tVal_CVOut \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_CVOut\"])[0].value\n\tVal_CVEUMin \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_CVEUMin\"])[0].value\n\tVal_CVEUMax \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_CVEUMax\"])[0].value\n\t\n\tDisplayMin \u003d -4\n\tDisplayMax \u003d 175\n\t\n\tret_value \u003d ((DisplayMax - DisplayMin) / (Val_CVEUMax - Val_CVEUMin)) * (Val_CVOut - Val_CVEUMin) + DisplayMin\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "color": "#2A4191", + "path": "material/play_arrow" + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "CVSet" + }, + "position": { + "height": 20, + "width": 3, + "y": 14.3 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_CVSet\") ||\r\ntag({view.params.tagPath} + \"/Val_CVEUMin\") ||\r\ntag({view.params.tagPath} + \"/Val_CVEUMax\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d 0\n\t\n\tVal_CVOut \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_CVOut\"])[0].value\n\tVal_CVEUMin \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_CVEUMin\"])[0].value\n\tVal_CVEUMax \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_CVEUMax\"])[0].value\n\t\n\tDisplayMin \u003d 5\n\tDisplayMax \u003d 183\n\t\n\tret_value \u003d ((DisplayMax - DisplayMin) / (Val_CVEUMax - Val_CVEUMin)) * (Val_CVOut - Val_CVEUMin) + DisplayMin\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#3F3F3F", + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "BarGraphGroup" + }, + "position": { + "height": 36, + "width": 190, + "x": 20, + "y": 2 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GOCVBarGraph" + }, + "position": { + "height": 41, + "width": 228, + "y": 36 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "NumericDisplay", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 16, + "width": 72, + "x": 17.5, + "y": 2 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Val_CVOut\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tCfg_PVDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_DecPlcs\"] )[0].value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/Val_CVOut\"), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#2A4191", + "fontWeight": "bold", + "textAlign": "center" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "11pt" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Units" + }, + "position": { + "height": 14, + "width": 49, + "x": 29, + "y": 17 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_EU\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#919191", + "fontSize": "8pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "pnddValSpeedRef" + }, + "position": { + "height": 32, + "width": 107 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Clamped" + }, + "position": { + "height": 16, + "width": 16, + "x": 86.0036, + "y": 2.0036 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_Clamped\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_Clamped.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "ControlVariable" + }, + "position": { + "height": 32, + "width": 110, + "x": 60, + "y": 73 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 14, + "width": 49, + "x": 11.5 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "8pt" + }, + "text": "Position" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericDisplay", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 16, + "width": 64, + "x": 4, + "y": 13 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Val_Pos\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tCfg_PVDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_DecPlcs\"] )[0].value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/Val_Pos\"), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#2A4191", + "fontWeight": "normal", + "textAlign": "right" + }, + "textStyle": { + "classes": "States/DigitalInput/on", + "fontSize": "11pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "pnddValPos" + }, + "position": { + "height": 32, + "width": 107, + "y": 110 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_HasPosFdbk\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "NumericEntryField" + }, + "position": { + "height": 20, + "width": 76 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.userHasBasic} \u0026\u0026 tag({view.params.tagPath} + \"/ORdy_CV\")" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_DecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_CVEUMax\"" + }, + "type": "tag" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_CVEUMin\"" + }, + "type": "tag" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/OSet_CV\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "GOOSetCV" + }, + "position": { + "height": 24, + "width": 101, + "x": 75, + "y": 120 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "InformationSection" + }, + "position": { + "height": 171, + "width": 252 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFaceDisabled" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_BumpOpen_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "InactiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_BumpOpen.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_BumpOpen\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{view.params.userHasBasic} \u0026\u0026 {view.params.securityOperateEquipment} \u0026\u0026 tag({view.params.tagPath} + \"/ORdy_BumpOpen\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GO_BumpOpenButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 46.039, + "y": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_IOFault\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFaceDisabled" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_BumpClose_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "InactiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_BumpClose.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_BumpClose\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{view.params.userHasBasic} \u0026\u0026 {view.params.securityOperateEquipment} \u0026\u0026 tag({view.params.tagPath} + \"/ORdy_BumpClose\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GO_BumpCloseButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 2.038, + "y": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_IOFault\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasIntlkObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Inp_IntlkOK\") || \r\ntag({view.params.tagPath} + \"/Inp_NBIntlkOK\") || \r\ntag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Nav_IntlkOK\",\n\t1: \"Nav_IntlkOKBypassed\",\n\t2: \"Nav_IntlkNonBypOK\",\n\t3: \"Nav_IntlkNotOK\"\n\t}\n\t\n\tInp_IntlkOK \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_IntlkOK\"])[0].value \t\t\t#102\n\tInp_NBIntlkOK \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_NBIntlkOK\"])[0].value\t\t#103\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\t\t\t#104\n\t\n\tif (not (Inp_NBIntlkOK)) or (not (Inp_IntlkOK or Sts_BypActive)):\n\t\tindex \u003d 3\n\telif (not (Inp_IntlkOK)):\n\t\tindex \u003d 2\n\telse:\n\t\tindex \u003d Sts_BypActive\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "paddingLeft": 4, + "paddingTop": 4 + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "P_Intlk", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "P_Intlk", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}_Intlk" + }, + "viewPath": "Plant PAX/Popups/P_Intlk/P_Intlk", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "NavButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasIntlkObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GOInterlockButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 91, + "y": 3 + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "CommandButtons" + }, + "position": { + "height": 44, + "width": 140, + "x": 197.99, + "y": 57 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 40, + "width": 140, + "x": 2.5, + "y": 2.5 + }, + "props": { + "style": { + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 112, + "x": 30.5, + "y": 6.5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Sts_eSrc\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d value\n\t\n\t# id: [image name, caption]\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t0: [\"\", \"Logic Not In Use\"],\n\t4: [\"Sts_CmdSrcHand\", \"Hand\"],\n\t8: [\"Sts_CmdSrcMaint\", \"Maintenance\"],\n\t16: [\"Sts_CmdSrcOvrd\", \"Override\"],\n\t32: [\"Sts_CmdSrcProgram\", \"Program\"],\n\t33: [\"Sts_CmdSrcProgLocked\", \"Program (locked)\"],\n\t34: [\"Sts_CmdSrcProgram\", \"Program\"],\n\t64: [\"Sts_CmdSrcOper\", \"Operator\"],\n\t65: [\"Sts_CmdSrcOperLocked\", \"Operator (locked)\"],\n\t66: [\"Sts_CmdSrcOper\", \"Operator\"],\n\t128: [\"Sts_CmdSrcOoS\", \"Maint. Out Of Service\"],\n\t129: [\"Sts_CmdSrcOoS\", \"Logic Out of Service\"],\n\t256: [\"Sts_CmdSrcExt\", \"External\"]\t\n\t}\n\t\n\ttry:\n\t\tret_value \u003d states[index][1]\n\texcept:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "CmdSrcImage" + }, + "position": { + "height": 38, + "width": 18, + "x": 8, + "y": 4 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Sts_eSrc\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d value\n\t\n\t# id: [image name, caption]\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t0: [\"\", \"Logic Not In Use\"],\n\t4: [\"Sts_CmdSrcHand\", \"Hand\"],\n\t8: [\"Sts_CmdSrcMaint\", \"Maintenance\"],\n\t16: [\"Sts_CmdSrcOvrd\", \"Override\"],\n\t32: [\"Sts_CmdSrcProgram\", \"Program\"],\n\t33: [\"Sts_CmdSrcProgLocked\", \"Program (locked)\"],\n\t34: [\"Sts_CmdSrcProgram\", \"Program\"],\n\t64: [\"Sts_CmdSrcOper\", \"Operator\"],\n\t65: [\"Sts_CmdSrcOperLocked\", \"Operator (locked)\"],\n\t66: [\"Sts_CmdSrcOper\", \"Operator\"],\n\t128: [\"Sts_CmdSrcOoS\", \"Maint. Out Of Service\"],\n\t129: [\"Sts_CmdSrcOoS\", \"Logic Out of Service\"],\n\t256: [\"Sts_CmdSrcExt\", \"External\"]\t\n\t}\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(states[index][0])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "contain" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "draggable": true, + "id": "{view.params.tagPath}_CmdSrc", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "{/root.custom.cmdSrcTitle}", + "type": "open", + "viewParams": { + "selectedTab": "0", + "tagPath": "{view.params.tagPath}/CmdSrc" + }, + "viewPath": "Plant PAX/Popups/P_CmdSrc/P_CmdSrc", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "CmdSrcNavButton" + }, + "position": { + "height": 40, + "width": 140, + "x": 2.5, + "y": 2.5 + }, + "props": { + "image": { + "style": { + "backgroundColor": "#FFFFFF00" + } + }, + "style": { + "backgroundColor": "#FFFFFF00", + "outlineStyle": "none" + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "CmdSrcNotNormal" + }, + "position": { + "height": 16, + "width": 16, + "x": 127 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/CmdSrc/Sts_Normal\"), false, true)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_CmdSrcNotNorm.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GOCmdSrcDisplayWithNav" + }, + "position": { + "height": 45, + "width": 145, + "y": 59 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Commands" + }, + "position": { + "height": 108, + "width": 340, + "y": 157 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Content2" + }, + "position": { + "height": 265, + "width": 340, + "x": 43, + "y": 35 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Home" + }, + "position": { + "height": 300, + "width": 392, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 0)", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 300, + "width": 353, + "x": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "y": 43 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 300, + "width": 392 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "AdvancedProperties" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Properties.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tblock_label \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_Label\"])[0].value\n\ttitle \u003d \"{0} - {1}\".format(block_label, \"Advanced\")\n\t\n\tparams \u003d {\u0027tagPath\u0027: self.view.params.tagPath}\n\t\n\tsystem.perspective.openPopup({self.view.params.tagPath},\u0027Plant PAX/Popups/P_ValveC/P_ValveC_Advanced\u0027, params, title, showCloseIcon \u003d True, resizable \u003d False)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "AdvancedPropertiesButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BadConfig" + }, + "position": { + "height": 16, + "width": 16, + "x": 22 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_Timer\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "NavButtons" + }, + "position": { + "height": 42, + "width": 127, + "x": 50, + "y": 3 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "SeparatorLine" + }, + "position": { + "height": 2, + "width": 340, + "y": 7 + }, + "props": { + "style": { + "borderColor": "#E0E0E0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "MaintBypass" + }, + "position": { + "height": 16, + "width": 16, + "x": 229, + "y": 56 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_Bypass\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_MaintByp.png" + }, + "type": "ia.display.image" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Track" + }, + "position": { + "height": 8, + "width": 32, + "x": 2, + "y": 4 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderBottomLeftRadius": "15%", + "borderBottomRightRadius": "15%", + "borderColor": "#6B6B6B", + "borderStyle": "solid", + "borderTopLeftRadius": "15%", + "borderTopRightRadius": "15%", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Fill" + }, + "position": { + "height": 8, + "width": 32, + "x": 2, + "y": 4 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_Bypass\"), false, true)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#008080", + "borderBottomLeftRadius": "15%", + "borderBottomRightRadius": "15%", + "borderColor": "#6A6A6A", + "borderStyle": "solid", + "borderTopLeftRadius": "15%", + "borderTopRightRadius": "15%", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Indicator" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Bypass\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d 0\n\t\n\tSts_SubstPV \u003d value\n\t\n\tif (Sts_SubstPV):\n\t\tret_value \u003d 20\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#F0F0F0", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#6A6A6A", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "ToggleIndicator" + }, + "position": { + "height": 16, + "width": 37, + "x": 34, + "y": 7 + }, + "type": "ia.container.coord" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/MCmd_Check\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "OffButton", + "tooltip": { + "tail": false + } + }, + "position": { + "height": 25, + "width": 50, + "x": 2, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityBypassInterlocks} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + } + }, + "props": { + "align": "start", + "justify": "start", + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "No" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/MCmd_Bypass\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "OnButton", + "tooltip": { + "tail": false + } + }, + "position": { + "height": 25, + "width": 50, + "x": 56, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityBypassInterlocks} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + } + }, + "props": { + "align": "end", + "justify": "end", + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Yes" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "ToggleControl" + }, + "position": { + "height": 28, + "width": 110, + "x": 133, + "y": 3 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 101, + "y": 7 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt" + }, + "text": "Bypass Enabled" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "BypassEnabled" + }, + "position": { + "height": 33, + "width": 243, + "y": 59 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 182, + "y": 40 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold" + }, + "text": "Interlocks" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasIntlkObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Inp_IntlkOK\") || \r\ntag({view.params.tagPath} + \"/Inp_NBIntlkOK\") || \r\ntag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Nav_IntlkOK\",\n\t1: \"Nav_IntlkOKBypassed\",\n\t2: \"Nav_IntlkNonBypOK\",\n\t3: \"Nav_IntlkNotOK\"\n\t}\n\t\n\tInp_IntlkOK \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_IntlkOK\"])[0].value \t\t\t#102\n\tInp_NBIntlkOK \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_NBIntlkOK\"])[0].value\t\t#103\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\t\t\t#104\n\t\n\tif (not (Inp_NBIntlkOK)) or (not (Inp_IntlkOK or Sts_BypActive)):\n\t\tindex \u003d 3\n\telif (not (Inp_IntlkOK)):\n\t\tindex \u003d 2\n\telse:\n\t\tindex \u003d Sts_BypActive\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "paddingLeft": 4, + "paddingTop": 4 + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "P_Intlk", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "P_Intlk", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}_Intlk" + }, + "viewPath": "Plant PAX/Popups/P_Intlk/P_Intlk", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "NavButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasIntlkObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GOInterlockButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 3 + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "InterlocksAndPermissives" + }, + "position": { + "height": 40, + "width": 47, + "x": 282, + "y": 56.5 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "IntlkAndPerm" + }, + "position": { + "height": 105, + "width": 340, + "x": 46.5, + "y": 195 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "SeparatorLine" + }, + "position": { + "height": 2, + "width": 340 + }, + "props": { + "style": { + "borderColor": "#E0E0E0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_UseClosedLS\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityOverrideInputs} \u0026\u0026 {view.params.userHasBasic}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 319, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Use Valve Closed limit switch for failure checking" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "MaintBypass" + }, + "position": { + "height": 16, + "width": 16, + "y": -1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Cfg_UseClosedLS\") \u003d 1, false, true)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_MaintByp.png" + }, + "type": "ia.display.image" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_UseClosedLS\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_UseClosedLS\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 343, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": " {view.params.securityBypassFeedback} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "UseClosedLS" + }, + "position": { + "height": 32, + "width": 345, + "y": 5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasClosedLS\"), true, false)" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_UseOpenLS\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityOverrideInputs} \u0026\u0026 {view.params.userHasBasic}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 319, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Use Valve Open limit switch for failure checking" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "MaintBypass" + }, + "position": { + "height": 16, + "width": 16, + "y": -1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Cfg_UseOpenLS\") \u003d 1, false, true)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_MaintByp.png" + }, + "type": "ia.display.image" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_UseOpenLS\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_UseOpenLS\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 343, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityBypassFeedback} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "UseOpenLS" + }, + "position": { + "height": 32, + "width": 345, + "y": 43 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasOpenLS\"), true, false)" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Configuration" + }, + "position": { + "height": 76, + "width": 345, + "x": -0.5, + "y": 29 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 257, + "y": 4 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Position above which valve is assumed open if limit switches not used" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntry" + }, + "position": { + "height": 20, + "width": 70, + "x": 258, + "y": 10 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigLimits} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_DecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_CVEUMax\")" + }, + "type": "expr" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_CVEUMin\")" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_MaxClosedPos\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "ndeCfgMaxClosedPos" + }, + "position": { + "height": 40, + "width": 340, + "x": 3, + "y": 119 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "PageMaintenance1" + }, + "position": { + "height": 195, + "width": 345, + "x": 42, + "y": 26 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{parent.custom.maintenanceTabSelected}" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 0) or (value !\u003d 1)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 257, + "y": 24 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "CV Rate of Change Limits" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 267, + "y": 4 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "\"Maximum Rate of Increase (\" + tag({view.params.tagPath} + \"/Cfg_EU\") + \"/sec)\"" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntry" + }, + "position": { + "height": 20, + "width": 70, + "x": 266, + "y": 10 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigLimits} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_DecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "pow(2, 32)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_CVRoCLimInc\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "minimum": 0 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "ndeCfgCVRoCLimInc" + }, + "position": { + "height": 40, + "width": 340, + "x": 3, + "y": 69 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 267, + "y": 4 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "\"Maximum Rate of Decrease (\" + tag({view.params.tagPath} + \"/Cfg_EU\") + \"/sec)\"" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericEntry" + }, + "position": { + "height": 20, + "width": 70, + "x": 266, + "y": 10 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigLimits} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_DecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "pow(2, 32)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_CVRoCLimDec\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "minimum": 0 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "ndeCfgCVRoCLimDec" + }, + "position": { + "height": 40, + "width": 340, + "x": 3, + "y": 116 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "PageMaintenance2" + }, + "position": { + "height": 195, + "width": 345, + "x": 42, + "y": 26 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{parent.custom.maintenanceTabSelected}" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 1)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tmaintenanceTabSelected \u003d self.parent.custom.maintenanceTabSelected\n\tmaxNumberOfTabs \u003d self.parent.custom.maxNumberOfTabs - 1\n\t\n\tnewTab \u003d maintenanceTabSelected - 1\n\t\n\tif (newTab \u003e\u003d 0):\n\t\tself.parent.custom.maintenanceTabSelected \u003d newTab" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "PrevButton" + }, + "position": { + "height": 36, + "width": 30 + }, + "props": { + "fit": { + "mode": "contain" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Prev.png", + "style": { + "curor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 20, + "x": 3, + "y": 8 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if({parent.custom.currentTabNumber} \u003d {parent.custom.tabNumber}, \"#A3A3A3FF\", \"#A3A3A300\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.tabNumber} + 1" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 1, + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "tabNumber": 0 + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.currentTabNumber \u003d self.custom.tabNumber" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Page1Button" + }, + "position": { + "height": 36, + "width": 26, + "x": 28 + }, + "propConfig": { + "custom.currentTabNumber": { + "binding": { + "config": { + "bidirectional": true, + "path": "parent.custom.maintenanceTabSelected" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 20, + "x": 3, + "y": 8 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if({parent.custom.currentTabNumber} \u003d {parent.custom.tabNumber}, \"#A3A3A3FF\", \"#A3A3A300\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.tabNumber} + 1" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 1, + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "tabNumber": 1 + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.currentTabNumber \u003d self.custom.tabNumber" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Page2Button" + }, + "position": { + "height": 36, + "width": 26, + "x": 58 + }, + "propConfig": { + "custom.currentTabNumber": { + "binding": { + "config": { + "bidirectional": true, + "path": "parent.custom.maintenanceTabSelected" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tmaintenanceTabSelected \u003d self.parent.custom.maintenanceTabSelected\n\tmaxNumberOfTabs \u003d self.parent.custom.maxNumberOfTabs - 1\n\t\n\tnewTab \u003d maintenanceTabSelected + 1\n\t\n\tif (newTab \u003c\u003d maxNumberOfTabs):\n\t\tself.parent.custom.maintenanceTabSelected \u003d newTab" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "NextButton" + }, + "position": { + "height": 36, + "width": 30, + "x": 82 + }, + "props": { + "fit": { + "mode": "contain" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Next.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "MaintBypass" + }, + "position": { + "height": 16, + "width": 16, + "x": 24 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_HasOpenLS\") ||\r\ntag({view.params.tagPath} + \"/Cfg_UseOpenLS\") ||\r\ntag({view.params.tagPath} + \"/Cfg_HasClosedLS\") ||\r\ntag({view.params.tagPath} + \"/Cfg_UseClosedLS\") ||\r\ntag({view.params.tagPath} + \"/Sts_Bypass\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tCfg_HasOpenLS \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_HasOpenLS\"])[0].value\n\tCfg_UseOpenLS \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_UseOpenLS\"])[0].value\n\tCfg_HasClosedLS \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_HasClosedLS\"])[0].value\n\tCfg_UseClosedLS \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_UseClosedLS\"])[0].value\n\tSts_Bypass \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Bypass\"])[0].value\n\t\n\tif ((Cfg_HasOpenLS) and not (Cfg_UseOpenLS)) or ((Cfg_HasClosedLS) and not (Cfg_UseClosedLS)) or (Sts_Bypass):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_MaintByp.png" + }, + "type": "ia.display.image" + } + ], + "custom": { + "maxNumberOfTabs": 2 + }, + "meta": { + "name": "MaintenancePageButtons" + }, + "position": { + "height": 36, + "width": 112, + "x": 152, + "y": 213 + }, + "propConfig": { + "custom.maintenanceTabSelected": { + "binding": { + "config": { + "bidirectional": true, + "path": "parent.custom.maintenanceTabSelected" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + } + ], + "custom": { + "maintenanceTabSelected": 0 + }, + "meta": { + "name": "TabPage_Maintenance" + }, + "position": { + "height": 300, + "width": 392, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d 1", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 300, + "width": 353, + "x": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "y": 83 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 300, + "width": 392 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d image_path.format(states[SrcQ_IO][0])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 330, + "x": 20 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][1]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.textStyle.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][3]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][2]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "CommStatus" + }, + "position": { + "height": 20, + "width": 350, + "y": 275 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\t\n\tSrcQ_IO \u003d value\n\t\n\tif (SrcQ_IO \u003e\u003d 8):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][3]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 180.99999999999997 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold" + }, + "text": "Device Not Ready Reasons" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFaceDisabled" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_Reset_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "InactiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_Reset.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_Reset\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{view.params.userHasBasic} \u0026\u0026 {view.params.securityOperateEquipment} \u0026\u0026 tag({view.params.tagPath} + \"/ORdy_Reset\") \u0026\u0026 tag({view.params.tagPath} + \"/Sts_NotRdy\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GO_ResetButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 293.019, + "y": 1 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.parameterName})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tif (value):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 317, + "x": 21 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "parameterName": "NRdy_OoS" + }, + "meta": { + "name": "GONotRdy_OoS" + }, + "position": { + "height": 17, + "width": 340, + "x": -0.01953125, + "y": 20.99609375 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.parameterName})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tif (value):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 317, + "x": 21 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "parameterName": "NRdy_CfgErr" + }, + "meta": { + "name": "GONotRdy_CfgErr" + }, + "position": { + "height": 17, + "width": 340, + "x": -0.0195313, + "y": 40.9961 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.parameterName})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tif (value):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 317, + "x": 21 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "parameterName": "NRdy_Intlk" + }, + "meta": { + "name": "GONotRdy_Intlk" + }, + "position": { + "height": 17, + "width": 340, + "x": -0.0195313, + "y": 60.9961 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.parameterName})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tif (value):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 317, + "x": 21 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "parameterName": "NRdy_IOFault" + }, + "meta": { + "name": "GONotRdy_IOFault" + }, + "position": { + "height": 17, + "width": 340, + "x": -0.0195313, + "y": 80.996 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "NotRdyHeader_0" + }, + "position": { + "height": 16, + "width": 334, + "x": 2.02, + "y": 100 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontStyle": "italic", + "fontWeight": "normal" + }, + "text": "* A reset is required to clear this condition" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "NotReadyReasons" + }, + "position": { + "height": 178, + "width": 340, + "x": 6 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "DiagnosticsContent" + }, + "position": { + "height": 295, + "width": 350, + "x": 40.9936, + "y": 0.00000190735 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Diagnostics" + }, + "position": { + "height": 300, + "width": 392, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d 2", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 300, + "width": 353, + "x": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "y": 123 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 300, + "width": 392 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ResetAckAll" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_AlmAckAllReset_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "DisabledAckResetButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 300 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ResetAckAll" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_AlmAckAllReset.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_ResetAckAll\", 1)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveAckResetButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 300 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/ORdy_ResetAckAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tORdy_ResetAckAll \u003d value\n\tVal_UnackAlmC \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_UnackAlmC\"])[0].value\n\t\n\tif (self.view.params.userHasBasic) and (ORdy_ResetAckAll):\n\t\tret_value \u003d True \n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "GO_AlarmDisplay_IOFault" + }, + "position": { + "height": 34, + "width": 291 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "alarmName": "IOFault" + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Alarm Objects/GO_AlarmDisplay" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_AlarmDisplay_IntlkTrip" + }, + "position": { + "height": 34, + "width": 291, + "y": 37 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "alarmName": "IntlkTrip" + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Alarm Objects/GO_AlarmDisplay" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_AlarmDisplay_ActuatorFault" + }, + "position": { + "height": 34, + "width": 291, + "y": 74 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "alarmName": "ActuatorFault" + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Alarm Objects/GO_AlarmDisplay" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Alarms" + }, + "position": { + "height": 145, + "width": 291 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "AlarmContent" + }, + "position": { + "height": 145, + "width": 340, + "x": 43, + "y": 5 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Alarm" + }, + "position": { + "height": 300, + "width": 392, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d 3", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 300, + "width": 353, + "x": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "y": 253 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 300, + "width": 392 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 108, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "caption": "P_ValveC", + "label": "Popup Name:" + }, + "meta": { + "name": "PopupID" + }, + "position": { + "height": 18, + "width": 255, + "x": 125, + "y": 206 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 108, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "PlantPAX Version:" + }, + "meta": { + "name": "PlantPAX Version" + }, + "position": { + "height": 18, + "width": 255, + "x": 125, + "y": 229 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/version\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 108, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "UDT Version:" + }, + "meta": { + "name": "UDTVersion" + }, + "position": { + "height": 18, + "width": 255, + "x": 125, + "y": 252 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Prime Version\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 108, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "Popup Version:" + }, + "meta": { + "name": "PopupVersion" + }, + "position": { + "height": 18, + "width": 255, + "x": 125, + "y": 275 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "path": "view.custom.popupVersion" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Version" + }, + "position": { + "height": 300, + "width": 392, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d -1", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "AlarmPolygon" + }, + "position": { + "height": 39, + "width": 39, + "y": 117 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\tret_value \u003d ret_value and (self.view.params.selectedTab !\u003d 3)\t# Show it only if active tab different than alarm tab \n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d value\n\t\n\tcolors \u003d [\"\",\n\t\"#FFFFFF\",\n\t\"#916AAD\",\n\t\"#916AAD\",\n\t\"#F5DF1B\",\n\t\"#F5DF1B\",\n\t\"#EC8729\",\n\t\"#EC8729\",\n\t\"#E22028\",\n\t\"#E22028\",\n\t\"\"]\n\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d colors[Val_NotifyAll]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "borderBottomStyle": "solid", + "borderBottomWidth": 2, + "borderLeftStyle": "solid", + "borderLeftWidth": 2, + "borderRightStyle": "none", + "borderTopStyle": "solid", + "borderTopWidth": 2 + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonHome" + }, + "position": { + "height": 35, + "width": 35, + "x": 2 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Home.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 1" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonMaintenance" + }, + "position": { + "height": 35, + "width": 35, + "x": 2, + "y": 40 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Maint.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 2" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonDiagnostics" + }, + "position": { + "height": 35, + "width": 35, + "x": 2, + "y": 80 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Diag.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 3" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonAlarm" + }, + "position": { + "height": 35, + "width": 35, + "x": 2, + "y": 120 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Alm.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d -1" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonHelp" + }, + "position": { + "height": 32, + "rotate": { + "angle": "180deg" + }, + "width": 32, + "x": 2, + "y": 250 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Faults.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "MaintBypass" + }, + "position": { + "height": 16, + "width": 16, + "y": 37 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_HasOpenLS\") ||\r\ntag({view.params.tagPath} + \"/Cfg_UseOpenLS\") ||\r\ntag({view.params.tagPath} + \"/Cfg_HasClosedLS\") ||\r\ntag({view.params.tagPath} + \"/Cfg_UseClosedLS\") ||\r\ntag({view.params.tagPath} + \"/Sts_Bypass\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tCfg_HasOpenLS \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_HasOpenLS\"])[0].value\n\tCfg_UseOpenLS \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_UseOpenLS\"])[0].value\n\tCfg_HasClosedLS \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_HasClosedLS\"])[0].value\n\tCfg_UseClosedLS \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_UseClosedLS\"])[0].value\n\tSts_Bypass \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Bypass\"])[0].value\n\t\n\tif ((Cfg_HasOpenLS) and not (Cfg_UseOpenLS)) or ((Cfg_HasClosedLS) and not (Cfg_UseClosedLS)) or (Sts_Bypass):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_MaintByp.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "AlarmInh" + }, + "position": { + "height": 16, + "width": 16, + "y": 116.99519348144531 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_AlmInh\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Alm_Inhibit.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 23, + "y": 37 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_Limit\") || tag({view.params.tagPath} + \"/Err_EU\") || tag({view.params.tagPath} + \"/Err_Raw\") || tag({view.params.tagPath} + \"/Err_Fdbk\")" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "BadConfigAlarm" + }, + "position": { + "height": 16, + "width": 16, + "x": 23, + "y": 118 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Err_Alarm\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotReady" + }, + "position": { + "height": 16, + "width": 16, + "y": 99 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_NotRdy\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_NotReady.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupTabButtons" + }, + "position": { + "height": 287, + "width": 39, + "x": 3, + "y": 5 + }, + "type": "ia.container.coord" + } + ], + "events": { + "system": { + "onStartup": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "propConfig": { + "custom.cmdSrcTitle": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_Tag\") + \" - \" + tag({view.params.tagPath}+\"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_ValveC/P_ValveC_Advanced/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_ValveC/P_ValveC_Advanced/resource.json new file mode 100644 index 0000000..f1802c7 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_ValveC/P_ValveC_Advanced/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "03d6582739b1f45d18145d2ae07c3465bc20f598cec066e266f496b3da538cb5", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_ValveC/P_ValveC_Advanced/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_ValveC/P_ValveC_Advanced/thumbnail.png new file mode 100644 index 0000000..536ed1c Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_ValveC/P_ValveC_Advanced/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_ValveC/P_ValveC_Advanced/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_ValveC/P_ValveC_Advanced/view.json new file mode 100644 index 0000000..4b6b58b --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_ValveC/P_ValveC_Advanced/view.json @@ -0,0 +1,7152 @@ +{ + "custom": { + "popupVersion": " 1.0 " + }, + "params": { + "securityDeviceConfigBehavior": true, + "securityDeviceConfigHMI": true, + "securityDeviceConfigLimits": true, + "securityDeviceConfigTimers": true, + "securityEnableSimulation": true, + "securityEnterOperSettings": true, + "securityOverrideInputs": true, + "selectedTab": 0, + "tagPath": "[default]Test_Tags/P_Valve_C", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "custom.popupVersion": { + "persistent": true + }, + "params.securityDeviceConfigBehavior": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigBehavior\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityDeviceConfigHMI": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigHMI\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityDeviceConfigLimits": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigLimits\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityDeviceConfigTimers": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigTimers\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityEnableSimulation": { + "binding": { + "config": { + "expression": "\"securityEnableSimulation\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityEnterOperSettings": { + "binding": { + "config": { + "expression": "\"securityEnterOperSettings\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityOverrideInputs": { + "binding": { + "config": { + "expression": "\"securityOverrideInputs\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.selectedTab": { + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 442, + "width": 350 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Tab1" + }, + "position": { + "height": 39, + "width": 37 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab2" + }, + "position": { + "height": 39, + "width": 37, + "x": 40 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab3" + }, + "position": { + "height": 39, + "width": 37, + "x": 80 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "InactiveTabs" + }, + "position": { + "height": 39, + "width": 117, + "x": 4, + "y": 4 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 403, + "width": 350, + "y": 42 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab" + }, + "position": { + "height": 39, + "width": 40, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 442, + "width": 350 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "LineHor15" + }, + "position": { + "height": 1, + "width": 50, + "x": 199.01, + "y": 72.5074 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor14" + }, + "position": { + "height": 1, + "width": 50, + "x": 191.007, + "y": 93.5 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineVer7" + }, + "position": { + "height": 23, + "width": 1, + "x": 190.00745391845703, + "y": 71.5 + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px", + "borderRightStyle": "none", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineVer6" + }, + "position": { + "height": 32, + "width": 1, + "x": 190.01, + "y": 24.5074 + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px", + "borderRightStyle": "none", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor13" + }, + "position": { + "height": 1, + "width": 50, + "x": 191.01041412353516, + "y": 24.507434844970703 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor16" + }, + "position": { + "height": 1, + "width": 47, + "x": 214.01, + "y": 43.51 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasExt\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineVer8" + }, + "position": { + "height": 32, + "rotate": { + "angle": "45deg" + }, + "width": 1, + "x": 202.01, + "y": 38.5074 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasExt\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px", + "borderRightStyle": "none", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor2" + }, + "position": { + "height": -6, + "width": 35.999999999999986, + "x": 102.01, + "y": 88.5 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor0" + }, + "position": { + "height": 1, + "width": 50, + "x": 137.01, + "y": 67.5 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineVer0" + }, + "position": { + "height": 270, + "width": 1, + "x": 137.01, + "y": 67.5 + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px", + "borderRightStyle": "none", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor1" + }, + "position": { + "height": 1, + "width": 80, + "x": 137.01, + "y": 337.5 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineVer1" + }, + "position": { + "height": 30, + "width": 0, + "x": 102.01, + "y": 74 + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px", + "borderRightStyle": "none", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor3" + }, + "position": { + "height": 1, + "width": 36, + "x": 67.0104, + "y": 73.5 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor4" + }, + "position": { + "height": 1, + "width": 36, + "x": 67.0104, + "y": 103.5 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineVer2" + }, + "position": { + "height": 54, + "width": 1, + "x": 167.01, + "y": 67.5 + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px", + "borderRightStyle": "none", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor5" + }, + "position": { + "height": 1, + "width": 18, + "x": 150.0104160308838, + "y": 121.5 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor6" + }, + "position": { + "height": 1, + "width": 151, + "x": 150.0104160308838, + "y": 165.5 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor7" + }, + "position": { + "height": 1, + "width": 162, + "x": 138.01, + "y": 253.5 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineVer3" + }, + "position": { + "height": 88, + "width": 1, + "x": 300.01, + "y": 166.5 + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px", + "borderRightStyle": "none", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor8" + }, + "position": { + "height": 1, + "width": 53, + "x": 150.01041412353516, + "y": 206.51 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineVer4" + }, + "position": { + "height": 44, + "width": -2, + "x": 178.01, + "y": 163.51 + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px", + "borderRightStyle": "none", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor9" + }, + "position": { + "height": 1, + "width": 36, + "x": 102.0089340209961, + "y": 276.4970245361328 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineVer5" + }, + "position": { + "height": 30, + "width": 70.99702453613281, + "x": 102.0089340209961, + "y": 261.4970245361328 + }, + "props": { + "style": { + "borderBottomStyle": "none", + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px", + "borderRightStyle": "none", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor10" + }, + "position": { + "height": 1, + "width": 36, + "x": 67.0089340209961, + "y": 260.4970245361328 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LineHor11" + }, + "position": { + "height": 1, + "width": 36, + "x": 67.0089340209961, + "y": 290.4970245361328 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "solid", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image_11" + }, + "position": { + "height": 21, + "width": 33, + "x": 121.01041412353516, + "y": 266.5074348449707 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_RateLimiter.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 17, + "width": 16, + "x": 299, + "y": 12.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "!(tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasMaint\") \u0026\u0026 (tag({view.params.tagPath} + \"/Sts_Maint\") || (!tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasOper\") \u0026\u0026 !tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasOperLocked\"))))" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_CmdSrcOper.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_0" + }, + "position": { + "height": 17, + "width": 16, + "x": 299, + "y": 12.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "(tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasMaint\") \u0026\u0026 (tag({view.params.tagPath} + \"/Sts_Maint\") || (!tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasOper\") \u0026\u0026 !tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasOperLocked\"))))" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_CmdSrcMaint.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_1" + }, + "position": { + "height": 18, + "width": 16, + "x": 298.01, + "y": 35.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasExt\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_CmdSrcExt.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_2" + }, + "position": { + "height": 18, + "width": 16, + "x": 298.0104160308838, + "y": 59.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_CmdSrcProgram.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_3" + }, + "position": { + "height": 18, + "width": 16, + "x": 298.0104160308838, + "y": 83.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_CmdSrcOvrd.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_4" + }, + "position": { + "height": 27, + "width": 27, + "x": 177.01, + "y": 53.48958969116211 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_Transfer.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_5" + }, + "position": { + "height": 27, + "width": 27, + "x": 123.01, + "y": 107.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_Transfer.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_6" + }, + "position": { + "height": 27, + "width": 27, + "x": 123.01, + "y": 151.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_Transfer.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_7" + }, + "position": { + "height": 27, + "width": 27, + "x": 164.01, + "y": 151.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_Transfer.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_8" + }, + "position": { + "height": 27, + "width": 27, + "x": 123.01, + "y": 192.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_Transfer.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_9" + }, + "position": { + "height": 27, + "width": 27, + "x": 123.01041603088379, + "y": 296.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_Transfer.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image_10" + }, + "position": { + "height": 21, + "width": 33, + "x": 121.01, + "y": 77.5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProg\") || tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasProgLocked\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_HiLoLimiter.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "LineHor12" + }, + "position": { + "height": -2, + "rotate": { + "angle": "-45deg" + }, + "width": 25, + "x": 182.01, + "y": 148.51 + }, + "props": { + "style": { + "borderTopColor": "#6A6A6A", + "borderTopStyle": "dashed", + "borderTopWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "LinesAndImages" + }, + "position": { + "height": 389, + "width": 341, + "x": 1, + "y": 2.5 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "CVLimits" + }, + "position": { + "height": 16, + "width": 89, + "x": 16.5, + "y": 49 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "center" + }, + "text": "CV Limits" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "ErrOutline" + }, + "position": { + "height": 55, + "width": 73, + "x": 1, + "y": 2.5 + }, + "props": { + "style": { + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "2px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 71, + "y": 1.5 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "ndeErr_1" + }, + "position": { + "height": 61, + "width": 89, + "x": 24, + "y": 60 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_Limit\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "CVMax" + }, + "position": { + "height": 20, + "width": 70, + "x": 26, + "y": 67 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigLimits} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_DecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_MaxCV\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": -4294967296 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "CVMin" + }, + "position": { + "height": 20, + "width": 70, + "x": 26, + "y": 93 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigLimits} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_DecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_MinCV\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": -4294967296 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "RateOfChange" + }, + "position": { + "height": 16, + "width": 89, + "x": 16.493057250976562, + "y": 236.99305725097656 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "center" + }, + "text": "Rate of Change" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "RateOfChangeInc" + }, + "position": { + "height": 20, + "width": 70, + "x": 25.493057250976562, + "y": 254.99305725097656 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigLimits} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_DecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_CVRoCLimInc\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": -4294967296 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "RateOfChangeDec" + }, + "position": { + "height": 20, + "width": 70, + "x": 25.493057250976562, + "y": 280.99305725097656 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigLimits} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_DecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_CVRoCLimDec\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": -4294967296 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "RateOfChange_0" + }, + "position": { + "height": 16, + "width": 89, + "x": 215.5, + "y": 304 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "center" + }, + "text": "CV Out" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "GO_ControlVariable" + }, + "position": { + "height": 38, + "width": 88, + "x": 218.009, + "y": 321 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Analog Objects/GO_ControlVariable", + "style": { + "borderColor": "#91919141", + "borderStyle": "solid", + "borderWidth": "1px", + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "custom": { + "parameter": "Val_CVOut" + }, + "meta": { + "name": "Target" + }, + "position": { + "height": 20, + "width": 70, + "x": 203, + "y": 246.988 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/\" + {this.custom.parameter})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_DecPlcs\"] )[0].value\n\t\n\tif (DecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/\" + {this.custom.parameter}), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#475CA7", + "fontSize": "10pt", + "paddingRight": "3px", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "RateOfChange_1" + }, + "position": { + "height": 16, + "width": 89, + "x": 193.5, + "y": 229 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "center" + }, + "text": "Target" + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameter": "Val_Pos" + }, + "meta": { + "name": "Tieback" + }, + "position": { + "height": 20, + "width": 70, + "x": 28.498271942138672, + "y": 183.99307250976562 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/\" + {this.custom.parameter})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_DecPlcs\"] )[0].value\n\t\n\tif (DecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/\" + {this.custom.parameter}), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#475CA7", + "fontSize": "10pt", + "paddingRight": "3px", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "RateOfChange_2" + }, + "position": { + "height": 16, + "width": 89, + "x": 18.498271942138672, + "y": 165.99307250976562 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "center" + }, + "text": "Tieback" + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameter": "Inp_OvrdCV" + }, + "meta": { + "name": "OvrdCV" + }, + "position": { + "height": 20, + "width": 70, + "x": 225.0086784362793, + "y": 85 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/\" + {this.custom.parameter})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_DecPlcs\"] )[0].value\n\t\n\tif (DecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/\" + {this.custom.parameter}), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#475CA7", + "fontSize": "10pt", + "paddingRight": "3px", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameter": "PSet_CV" + }, + "meta": { + "name": "ProgCV" + }, + "position": { + "height": 20, + "width": 70, + "x": 225.0086784362793, + "y": 61 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/\" + {this.custom.parameter})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_DecPlcs\"] )[0].value\n\t\n\tif (DecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/\" + {this.custom.parameter}), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#475CA7", + "fontSize": "10pt", + "paddingRight": "3px", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameter": "XSet_CV" + }, + "meta": { + "name": "ExtSrcCV" + }, + "position": { + "height": 20, + "width": 70, + "x": 225, + "y": 37 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Cfg_HasExt\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/\" + {this.custom.parameter})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_DecPlcs\"] )[0].value\n\t\n\tif (DecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/\" + {this.custom.parameter}), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#475CA7", + "fontSize": "10pt", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "RateOfChangeInc_0" + }, + "position": { + "height": 20, + "width": 70, + "x": 203.471, + "y": 199.979 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_DecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_IntlkCV\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": -4294967296 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "RateOfChange_3" + }, + "position": { + "height": 16, + "width": 89, + "x": 194.009, + "y": 181 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "8pt", + "fontWeight": "normal", + "textAlign": "center" + }, + "text": "Interlock CV" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "GO_OSet_CV" + }, + "position": { + "height": 20, + "width": 70, + "x": 225, + "y": 14 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "({view.params.securityEnterOperSettings} \u0026\u0026 !({view.params.securityOverrideInputs} \u0026\u0026 tag({view.params.tagPath} + \"/MRdy_Rel\"))) ||\r\n({view.params.securityOverrideInputs} \u0026\u0026 tag({view.params.tagPath} + \"/MRdy_Rel\")) \u0026\u0026\r\ntag({view.params.tagPath} + \"/ORdy_CV\") \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_DecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.inputBounds.maximum": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_MaxCV\")" + }, + "type": "expr" + } + }, + "props.inputBounds.minimum": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_MinCV\")" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/OSet_CV\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": {}, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_ShedHold\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 13 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label_3" + }, + "position": { + "height": 32, + "width": 102, + "x": 25, + "y": 5 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Hold last good\nvalue" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_ShedHold\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_ShedHold\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 32, + "width": 119, + "x": 1, + "y": 6 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "HoldLastGoodValue" + }, + "position": { + "height": 43, + "width": 127.99999999999999, + "x": 201.01, + "y": 119.00999999999999 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GroupDiagram" + }, + "position": { + "height": 394, + "width": 343, + "x": -1, + "y": -1 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "PageMaintenance1" + }, + "position": { + "height": 393, + "width": 345, + "x": 2.5, + "y": 46 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{parent.custom.pageTabSelected}" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 0) or (value !\u003d 1)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ErrOutline" + }, + "position": { + "height": 156, + "width": 77, + "x": 1, + "y": 10.5 + }, + "props": { + "style": { + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "2px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 62, + "y": -4.5 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "ndeErr_1" + }, + "position": { + "height": 172, + "width": 79, + "x": 254, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_Timer\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 241, + "x": 11, + "y": 8 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Open and Close pulse output overall period\n(sec)" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericInput" + }, + "position": { + "height": 20, + "width": 70, + "x": 259, + "y": 7 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigLimits} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "3" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_CycleT\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": 0 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "nde_Cfg_CycleT" + }, + "position": { + "height": 42, + "width": 340, + "y": 10 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 241, + "x": 11, + "y": 8 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Additional time on first pulse after stop or\ndirection change (sec)" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericInput" + }, + "position": { + "height": 20, + "width": 70, + "x": 259, + "y": 7 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigLimits} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "3" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_Deadtime\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": 0 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "nde_Cfg_Deadtime" + }, + "position": { + "height": 42, + "width": 340, + "y": 53 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 241, + "x": 11, + "y": 8 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Open and Close pulse output maximum on\ntime (sec)" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericInput" + }, + "position": { + "height": 20, + "width": 70, + "x": 259, + "y": 7 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigLimits} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "3" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_MaxOnT\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": 0 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "nde_Cfg_MaxOnT" + }, + "position": { + "height": 42, + "width": 340, + "y": 96 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 241, + "x": 11, + "y": 8 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Open and Close pulse output minimum on\ntime (sec)" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericInput" + }, + "position": { + "height": 20, + "width": 70, + "x": 259, + "y": 7 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigLimits} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "3" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_MinOnT\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": 0 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "nde_Cfg_MinOnT" + }, + "position": { + "height": 42, + "width": 340, + "y": 139 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 241, + "x": 11, + "y": 8 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Time to bump valve open or closed (by Oper)\nwhen feedback is Bad (sec)" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericInput" + }, + "position": { + "height": 20, + "width": 70, + "x": 259, + "y": 7 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigLimits} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "3" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_BumpT\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": 0 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "nde_Cfg_BumpT" + }, + "position": { + "height": 42, + "width": 340, + "x": 0.5, + "y": 181 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "PageMaintenance2" + }, + "position": { + "height": 334, + "width": 345, + "x": 2.5, + "y": 46 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{parent.custom.pageTabSelected}" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 1)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageTabSelected \u003d self.parent.custom.pageTabSelected\n\tmaxNumberOfTabs \u003d self.parent.custom.maxNumberOfTabs - 1\n\t\n\tnewTab \u003d pageTabSelected - 1\n\t\n\tif (newTab \u003e\u003d 0):\n\t\tself.parent.custom.pageTabSelected \u003d newTab" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "PrevButton" + }, + "position": { + "height": 36, + "width": 30 + }, + "props": { + "fit": { + "mode": "contain" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Prev.png", + "style": { + "curor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 20, + "x": 3, + "y": 8 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if({parent.custom.currentTabNumber} \u003d {parent.custom.tabNumber}, \"#A3A3A3FF\", \"#A3A3A300\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.tabNumber} + 1" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 1, + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "tabNumber": 0 + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.currentTabNumber \u003d self.custom.tabNumber" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Page1Button" + }, + "position": { + "height": 36, + "width": 26, + "x": 28 + }, + "propConfig": { + "custom.currentTabNumber": { + "binding": { + "config": { + "bidirectional": true, + "path": "parent.custom.pageTabSelected" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 20, + "x": 3, + "y": 8 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if({parent.custom.currentTabNumber} \u003d {parent.custom.tabNumber}, \"#A3A3A3FF\", \"#A3A3A300\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.tabNumber} + 1" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 1, + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "tabNumber": 1 + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.currentTabNumber \u003d self.custom.tabNumber" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Page2Button" + }, + "position": { + "height": 36, + "width": 26, + "x": 58 + }, + "propConfig": { + "custom.currentTabNumber": { + "binding": { + "config": { + "bidirectional": true, + "path": "parent.custom.pageTabSelected" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageTabSelected \u003d self.parent.custom.pageTabSelected\n\tmaxNumberOfTabs \u003d self.parent.custom.maxNumberOfTabs - 1\n\t\n\tnewTab \u003d pageTabSelected + 1\n\t\n\tif (newTab \u003c\u003d maxNumberOfTabs):\n\t\tself.parent.custom.pageTabSelected \u003d newTab" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "NextButton" + }, + "position": { + "height": 36, + "width": 30, + "x": 82 + }, + "props": { + "fit": { + "mode": "contain" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Next.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + } + ], + "custom": { + "maintenanceTabSelected": 0, + "maxNumberOfTabs": 2 + }, + "meta": { + "name": "MaintenancePageButtons" + }, + "position": { + "height": 36, + "width": 112, + "x": 112.5, + "y": 405 + }, + "propConfig": { + "custom.pageTabSelected": { + "binding": { + "config": { + "bidirectional": true, + "path": "parent.custom.pageTabSelected" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + } + ], + "custom": { + "pageTabSelected": 0 + }, + "meta": { + "name": "TabPage_Maintenance" + }, + "position": { + "height": 442, + "width": 350, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 0)", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 403, + "width": 350, + "y": 42 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab" + }, + "position": { + "height": 39, + "width": 40, + "x": 39, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 442, + "width": 350 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line5" + }, + "position": { + "height": 90, + "width": 3, + "x": 178.505, + "y": 44.0069 + }, + "props": { + "style": { + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Icon_3" + }, + "position": { + "height": 13, + "rotate": { + "angle": "-90deg" + }, + "width": 30, + "x": 146, + "y": 85.5 + }, + "props": { + "path": "material/keyboard_arrow_down" + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "Line4" + }, + "position": { + "height": 60, + "rotate": { + "angle": "90deg" + }, + "width": 3, + "x": 176.966, + "y": 63.014 + }, + "props": { + "style": { + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 21, + "width": 33, + "x": 164, + "y": 81 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_TimeFunction.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Icon_4" + }, + "position": { + "height": 13, + "rotate": { + "angle": "+90deg" + }, + "width": 30, + "x": 184, + "y": 85.5 + }, + "props": { + "path": "material/keyboard_arrow_down" + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "Icon_5" + }, + "position": { + "height": 13, + "rotate": { + "angle": 0 + }, + "width": 30, + "x": 164, + "y": 73.0069 + }, + "props": { + "path": "material/keyboard_arrow_down" + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "Icon_6" + }, + "position": { + "height": 13, + "rotate": { + "angle": 0 + }, + "width": 30, + "x": 164, + "y": 125.007 + }, + "props": { + "path": "material/keyboard_arrow_down" + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "Lines_0" + }, + "position": { + "height": 138, + "width": 340, + "y": 134 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Line5" + }, + "position": { + "height": 90, + "width": 3, + "x": 178.505, + "y": 44.0069 + }, + "props": { + "style": { + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Icon_3" + }, + "position": { + "height": 13, + "rotate": { + "angle": "-90deg" + }, + "width": 30, + "x": 146, + "y": 85.5 + }, + "props": { + "path": "material/keyboard_arrow_down" + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "Line4" + }, + "position": { + "height": 60, + "rotate": { + "angle": "90deg" + }, + "width": 3, + "x": 176.966, + "y": 63.014 + }, + "props": { + "style": { + "borderLeftColor": "#6A6A6A", + "borderLeftStyle": "solid", + "borderLeftWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 21, + "width": 33, + "x": 164, + "y": 81 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/SAMA_TimeFunction.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Icon_4" + }, + "position": { + "height": 13, + "rotate": { + "angle": "+90deg" + }, + "width": 30, + "x": 184, + "y": 85.5 + }, + "props": { + "path": "material/keyboard_arrow_down" + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "Icon_5" + }, + "position": { + "height": 13, + "rotate": { + "angle": 0 + }, + "width": 30, + "x": 164, + "y": 73.0069 + }, + "props": { + "path": "material/keyboard_arrow_down" + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "Icon_6" + }, + "position": { + "height": 13, + "rotate": { + "angle": 0 + }, + "width": 30, + "x": 164, + "y": 125.007 + }, + "props": { + "path": "material/keyboard_arrow_down" + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "Lines" + }, + "position": { + "height": 138, + "width": 340 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 209, + "y": 5 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold" + }, + "text": "Controlled Variable Scaling" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "ErrOutline" + }, + "position": { + "height": 55, + "width": 73, + "x": 1, + "y": 2.5 + }, + "props": { + "style": { + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "2px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 71, + "y": 1.5 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "ndeErr" + }, + "position": { + "height": 61, + "width": 89, + "x": 74, + "y": 61 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_EU\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ErrOutline" + }, + "position": { + "height": 55, + "width": 73, + "x": 1, + "y": 2.5 + }, + "props": { + "style": { + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "2px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 71, + "y": 1.5 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "ndeErr_0" + }, + "position": { + "height": 61, + "width": 89, + "x": 210.5, + "y": 61 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_Raw\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "FeedbackLimits" + }, + "position": { + "height": 16, + "width": 89, + "x": 66.5, + "y": 47 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "center", + "textDecoration": "underline" + }, + "text": "Feedback" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "ScaledLabel" + }, + "position": { + "height": 16, + "width": 89, + "x": 203.5, + "y": 47 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "center", + "textDecoration": "underline" + }, + "text": "Output" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FeedbackLabel" + }, + "position": { + "height": 16, + "width": 75, + "x": 10, + "y": 26 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + }, + "text": "Feedback" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "ActualPositionLabel" + }, + "position": { + "height": 15.999999999999986, + "width": 111, + "x": 10.51, + "y": 134.01 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + }, + "text": "Actual Position" + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameter": "Inp_PosFdbk" + }, + "meta": { + "name": "Inp_PosFdbk" + }, + "position": { + "height": 20, + "width": 70, + "x": 143.498, + "y": 23.993 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/\" + {this.custom.parameter})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_DecPlcs\"] )[0].value\n\t\n\tif (DecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/\" + {this.custom.parameter}), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#475CA7", + "fontSize": "10pt", + "paddingRight": "3px", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Cfg_FdbkRawMax" + }, + "position": { + "height": 20, + "width": 70, + "x": 76, + "y": 65 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "2" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_FdbkRawMax\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": -4294967296 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Cfg_FdbkRawMin" + }, + "position": { + "height": 20, + "width": 70, + "x": 76, + "y": 97 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "2" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_FdbkRawMin\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": -4294967296 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Cfg_CVEUMax" + }, + "position": { + "height": 20, + "width": 70, + "x": 212.5, + "y": 65 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_DecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_CVEUMax\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": -4294967296 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Cfg_CVEUMin" + }, + "position": { + "height": 20, + "width": 70, + "x": 212.5, + "y": 97 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_DecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_CVEUMin\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": -4294967296 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "custom": { + "parameter": "Val_Pos" + }, + "meta": { + "name": "Val_Pos" + }, + "position": { + "height": 20, + "width": 70, + "x": 143.505, + "y": 133.007 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/\" + {this.custom.parameter})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_DecPlcs\"] )[0].value\n\t\n\tif (DecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/\" + {this.custom.parameter}), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#475CA7", + "fontSize": "10pt", + "paddingRight": "3px", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "ErrOutline" + }, + "position": { + "height": 55, + "width": 73, + "x": 1, + "y": 2.5 + }, + "props": { + "style": { + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "2px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 71, + "y": 1.5 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "ndeErr_1" + }, + "position": { + "height": 61, + "width": 89, + "x": 74, + "y": 195 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_EU\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ErrOutline" + }, + "position": { + "height": 55, + "width": 73, + "x": 1, + "y": 2.5 + }, + "props": { + "style": { + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "2px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 71, + "y": 1.5 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "ndeErr_2" + }, + "position": { + "height": 61, + "width": 89, + "x": 211, + "y": 195 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_Raw\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "InputLabel_0" + }, + "position": { + "height": 16, + "width": 89, + "x": 67, + "y": 181 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "center", + "textDecoration": "underline" + }, + "text": "Scaled" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "ScaledLabel_0" + }, + "position": { + "height": 16, + "width": 89, + "x": 204, + "y": 180 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "center", + "textDecoration": "underline" + }, + "text": "Output" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "MaximumLabel_1" + }, + "position": { + "height": 16, + "width": 75, + "x": 10, + "y": 159 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + }, + "text": "Output CV" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "MaximumLabel_2" + }, + "position": { + "height": 16, + "width": 111, + "x": 11, + "y": 267 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + }, + "text": "Raw Output CV" + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameter": "Val_CVOut" + }, + "meta": { + "name": "Tieback_1" + }, + "position": { + "height": 20, + "width": 70, + "x": 143, + "y": 157 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/\" + {this.custom.parameter})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_DecPlcs\"] )[0].value\n\t\n\tif (DecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/\" + {this.custom.parameter}), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#475CA7", + "fontSize": "10pt", + "paddingRight": "3px", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Cfg_CVEUMax_0" + }, + "position": { + "height": 20, + "width": 70, + "x": 76, + "y": 198 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "2" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_CVEUMax\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": -4294967296 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Cfg_CVEUMin_0" + }, + "position": { + "height": 20, + "width": 70, + "x": 76, + "y": 231 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "2" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_CVEUMin\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": -4294967296 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "MaxPV_0" + }, + "position": { + "height": 20, + "width": 70, + "x": 213, + "y": 199 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "2" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_CVRawMax\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": -4294967296 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "MinPV_0" + }, + "position": { + "height": 20, + "width": 70, + "x": 213, + "y": 231 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "2" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_CVRawMin\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": -4294967296 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "custom": { + "parameter": "Out_CV" + }, + "meta": { + "name": "Tieback_2" + }, + "position": { + "height": 20, + "width": 70, + "x": 144, + "y": 267 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/\" + {this.custom.parameter})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\n\tVal \u003d value\n\tDecPlcs \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_DecPlcs\"] )[0].value\n\t\n\tif (DecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * DecPlcs)\n\t\n\treturn ret_value", + "type": "script" + }, + { + "expression": "numberFormat(tag({view.params.tagPath}+ \"/\" + {this.custom.parameter}), {value})", + "type": "expression" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderColor": "#C0C0C0", + "borderStyle": "solid", + "borderWidth": "1px", + "color": "#475CA7", + "fontSize": "10pt", + "paddingRight": "3px", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "ControlValueScaling" + }, + "position": { + "height": 330, + "width": 344, + "y": 3 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "PageEngineering1" + }, + "position": { + "height": 334, + "width": 345, + "x": 2.5, + "y": 46 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{parent.custom.pageTabSelected}" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 0)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "GO_HasLimitSwitch" + }, + "position": { + "height": 127, + "width": 340, + "x": 2.5, + "y": 4 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Valve Objects/GO_HasLimitSwitch" + }, + "type": "ia.display.view" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasPosFdbk\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 306, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Valve has analog position feedback" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_HasPosFdbk\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_HasPosFdbk\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "cb_Cfg_HasPosFdbk" + }, + "position": { + "height": 33, + "width": 340, + "y": 2 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "GO_Cfg_SetTrack" + }, + "position": { + "height": 32, + "width": 340, + "y": 41.0087 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_SetTrack" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_SetTrackOvrdHand" + }, + "position": { + "height": 32, + "width": 340, + "y": 78 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_SetTrackOvrdHand", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_OvrdIntlk" + }, + "position": { + "height": 32, + "width": 340, + "y": 115 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_OvrdIntlk", + "style": { + "overflow": "visible" + } + }, + "type": "ia.display.view" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_SkipRoCLim\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 306, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Skip Rate of Change Limiting in Interlock Trip, Maintenance, and Override modes" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_SkipRoCLim\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_SkipRoCLim\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "cb_Cfg_SkipRoCLim" + }, + "position": { + "height": 38, + "width": 340, + "y": 153 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "CheckBoxes" + }, + "position": { + "height": 193, + "width": 340, + "x": 2.5, + "y": 133 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "PageEngineering2" + }, + "position": { + "height": 334, + "width": 345, + "x": 2.5, + "y": 46 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{parent.custom.pageTabSelected}" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 1)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label0" + }, + "position": { + "height": 16, + "width": 112, + "x": 6.5, + "y": 9 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Shed Triggers:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "GO_Cfg_ShedOnIOFault" + }, + "position": { + "height": 32, + "width": 280, + "x": 12.5, + "y": 29.0017 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnIOFault" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_ShedOnInterlockTrip" + }, + "position": { + "height": 32, + "width": 280, + "x": 12.5, + "y": 58.0017 + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "tagPath": "[default]Test_Tags/SC_01", + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnInterlockTrip" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Label1" + }, + "position": { + "height": 16, + "width": 89, + "x": 7.505207061767578, + "y": 100.0017318725586 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Shed Action:" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 0 + }, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_ShedHold\"), false, true)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 9.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 195, + "x": 25, + "y": 1.5 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Use Set Value" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_ShedHold\", False)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 195, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Cfg_ShedHold_Off" + }, + "position": { + "height": 35, + "width": 337, + "y": 3 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 0 + }, + "width": 10, + "x": 2, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_ShedHold\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "RadioButton" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 9.5 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#000000", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 195, + "x": 25, + "y": 1.5 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Hold Last Good Value" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_ShedHold\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 195, + "x": 1, + "y": 2.5 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Cfg_ShedHold_On" + }, + "position": { + "height": 35, + "width": 337, + "y": 31 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Cfg_ShedHold" + }, + "position": { + "height": 78, + "width": 340, + "x": 2, + "y": 115 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "RateOfChangeInc_0" + }, + "position": { + "height": 20, + "width": 70, + "x": 208.471, + "y": 125.979 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigLimits} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_DecPlcs\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_IntlkCV\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": -4294967296 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_ClampPosToLS\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 306, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Clamp Feeback to EU Min/Max when on Limit Switch" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_ClampPosToLS\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_ClampPosToLS\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "cb_Cfg_ClampPosToLS" + }, + "position": { + "height": 37, + "width": 340, + "x": 2.5, + "y": 296 + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label2" + }, + "position": { + "height": 16, + "width": 288, + "x": 8.5, + "y": 197 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "\"Rate at which valve moves when (\" + tag({view.params.tagPath} + \"/Cfg_EU\") + \"):\"" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 212, + "x": 31, + "y": 8 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Opening" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericInput" + }, + "position": { + "height": 20, + "width": 70, + "x": 259, + "y": 7 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "3" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_OpenRate\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": 0 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "height": 16, + "width": 178, + "x": 31, + "y": 41 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Closing" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "NumericInput_0" + }, + "position": { + "height": 20, + "width": 70, + "x": 259, + "y": 40 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + }, + "props.format": { + "binding": { + "config": { + "expression": "3" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"0\"\n\t\t\n\tCfg_PVDecPlcs \u003d value\n\t\n\tif (Cfg_PVDecPlcs \u003e 0):\n\t\tret_value \u003d \"0.{0}\".format(\"0\" * Cfg_PVDecPlcs)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "expression", + "tagPath": "{view.params.tagPath} + \"/Cfg_CloseRate\"" + }, + "type": "tag" + } + } + }, + "props": { + "inputBounds": { + "maximum": 4294967296, + "minimum": 0 + }, + "mode": "protected", + "spinner": { + "enabled": false + }, + "style": { + "fontSize": "8pt" + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "OpenAndCloseRates" + }, + "position": { + "height": 91, + "width": 340, + "y": 219 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "PageEngineering3" + }, + "position": { + "height": 334, + "width": 345, + "x": 2.5, + "y": 46 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{parent.custom.pageTabSelected}" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 2)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageTabSelected \u003d self.parent.custom.pageTabSelected\n\tmaxNumberOfTabs \u003d self.parent.custom.maxNumberOfTabs - 1\n\t\n\tnewTab \u003d pageTabSelected - 1\n\t\n\tif (newTab \u003e\u003d 0):\n\t\tself.parent.custom.pageTabSelected \u003d newTab" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "PrevButton" + }, + "position": { + "height": 36, + "width": 30, + "x": 6.5 + }, + "props": { + "fit": { + "mode": "contain" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Prev.png", + "style": { + "curor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 20, + "x": 3, + "y": 8 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if({parent.custom.currentTabNumber} \u003d {parent.custom.tabNumber}, \"#A3A3A3FF\", \"#A3A3A300\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.tabNumber} + 1" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 1, + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "tabNumber": 0 + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.currentTabNumber \u003d self.custom.tabNumber" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Page1Button" + }, + "position": { + "height": 36, + "width": 26, + "x": 40.5 + }, + "propConfig": { + "custom.currentTabNumber": { + "binding": { + "config": { + "bidirectional": true, + "path": "parent.custom.pageTabSelected" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 20, + "x": 3, + "y": 8 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if({parent.custom.currentTabNumber} \u003d {parent.custom.tabNumber}, \"#A3A3A3FF\", \"#A3A3A300\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.tabNumber} + 1" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 1, + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "tabNumber": 1 + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.currentTabNumber \u003d self.custom.tabNumber" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Page2Button" + }, + "position": { + "height": 36, + "width": 26, + "x": 70.5 + }, + "propConfig": { + "custom.currentTabNumber": { + "binding": { + "config": { + "bidirectional": true, + "path": "parent.custom.pageTabSelected" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 20, + "x": 3, + "y": 8 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if({parent.custom.currentTabNumber} \u003d {parent.custom.tabNumber}, \"#A3A3A3FF\", \"#A3A3A300\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.tabNumber} + 1" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 1, + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "tabNumber": 2 + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.currentTabNumber \u003d self.custom.tabNumber" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Page3Button" + }, + "position": { + "height": 36, + "width": 26, + "x": 100.5 + }, + "propConfig": { + "custom.currentTabNumber": { + "binding": { + "config": { + "bidirectional": true, + "path": "parent.custom.pageTabSelected" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageTabSelected \u003d self.parent.custom.pageTabSelected\n\tmaxNumberOfTabs \u003d self.parent.custom.maxNumberOfTabs - 1\n\t\n\tnewTab \u003d pageTabSelected + 1\n\t\n\tif (newTab \u003c\u003d maxNumberOfTabs):\n\t\tself.parent.custom.pageTabSelected \u003d newTab" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "NextButton" + }, + "position": { + "height": 36, + "width": 30, + "x": 130.5 + }, + "props": { + "fit": { + "mode": "contain" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Next.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + } + ], + "custom": { + "maintenanceTabSelected": 0, + "maxNumberOfTabs": 3 + }, + "meta": { + "name": "EngineeringPageButtons" + }, + "position": { + "height": 36, + "width": 167, + "x": 91.5, + "y": 393 + }, + "propConfig": { + "custom.pageTabSelected": { + "binding": { + "config": { + "bidirectional": true, + "path": "parent.custom.pageTabSelected" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 18, + "width": 16, + "x": 150.005, + "y": 389 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_EU\") || tag({view.params.tagPath} + \"/Err_Raw\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "custom": { + "maintenanceTabSelected": null, + "pageTabSelected": 0 + }, + "meta": { + "name": "TabPage_Engineering" + }, + "position": { + "height": 442, + "width": 350, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d 1", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 402, + "width": 350, + "y": 42 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "x": 80, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 442, + "width": 350 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "GO_Desc_Label_Tag" + }, + "position": { + "height": 68.00000000000001, + "width": 340, + "x": 5, + "y": 3.99 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigHMI": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Desc_Label_Tag" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_Area" + }, + "position": { + "height": 20, + "width": 340, + "x": 5, + "y": 70.987 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityConfigSecurity": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_Area" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TextConfig" + }, + "position": { + "height": 200, + "width": 350, + "y": 47 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "GO_CVDecimalPlaces" + }, + "position": { + "height": 32, + "width": 340, + "x": 5, + "y": 7.006900000000002 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "parameterName": "Cfg_DecPlcs", + "securityDeviceConfigHMI": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_CVDecimalPlaces" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_HasIntlkObj" + }, + "position": { + "height": 32, + "width": 340, + "x": 5, + "y": 49 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigHMI": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_HasIntlkObj" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "HMIConfig" + }, + "position": { + "height": 275, + "width": 350, + "y": 164 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_HMI" + }, + "position": { + "height": 442, + "width": 350, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d 2", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 403, + "width": 350, + "y": 42 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab" + }, + "position": { + "height": 39, + "width": 40, + "x": 306, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 442, + "width": 350 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 145, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "caption": "P_ValveC_Advanced", + "label": "Popup Name:" + }, + "meta": { + "name": "PopupID" + }, + "position": { + "height": 18, + "width": 292, + "x": 48, + "y": 346 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 145, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "PlantPAX Version:" + }, + "meta": { + "name": "PlantPAX Version" + }, + "position": { + "height": 18, + "width": 292, + "x": 48, + "y": 369 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/version\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 145, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "UDT Version:" + }, + "meta": { + "name": "UDTVersion" + }, + "position": { + "height": 18, + "width": 292, + "x": 48, + "y": 392 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Prime Version\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 145, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "Popup Version:" + }, + "meta": { + "name": "PopupVersion" + }, + "position": { + "height": 18, + "width": 292, + "x": 48, + "y": 415 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "path": "view.custom.popupVersion" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Version" + }, + "position": { + "height": 442, + "width": 350, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d -1", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonMaintenance" + }, + "position": { + "height": 35, + "width": 35, + "x": 2 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Maint.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 1" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonEngineering" + }, + "position": { + "height": 35, + "width": 35, + "x": 42 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Eng.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 2" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonHMI" + }, + "position": { + "height": 35, + "width": 35, + "x": 81 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_HMI.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d -1" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonHelp" + }, + "position": { + "height": 32, + "rotate": { + "angle": "180deg" + }, + "width": 32, + "x": 311 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Faults.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 23, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Err_Limit\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "BadConfigEng" + }, + "position": { + "height": 16, + "width": 16, + "x": 63, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_EU\") || tag({view.params.tagPath} + \"/Err_Raw\")" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupTabButtons" + }, + "position": { + "height": 35, + "width": 346, + "x": 3, + "y": 5 + }, + "type": "ia.container.coord" + } + ], + "events": { + "system": { + "onStartup": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 0\n\tself.getChild(\"TabPage_Maintenance\").custom.pageTabSelected \u003d 0\n\tself.getChild(\"TabPage_Engineering\").custom.pageTabSelected \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_ValveSO/P_ValveSO/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_ValveSO/P_ValveSO/resource.json new file mode 100644 index 0000000..22890e4 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_ValveSO/P_ValveSO/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "e2810ca6756cda6e17684d6f8e20e7dc543e08f1912eddac1d6196beb9d4949b", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_ValveSO/P_ValveSO/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_ValveSO/P_ValveSO/thumbnail.png new file mode 100644 index 0000000..7cc5e65 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_ValveSO/P_ValveSO/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_ValveSO/P_ValveSO/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_ValveSO/P_ValveSO/view.json new file mode 100644 index 0000000..df0b8de --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_ValveSO/P_ValveSO/view.json @@ -0,0 +1,5447 @@ +{ + "custom": { + "cmdSrcTitle": "FV_13 - FV_13", + "popupVersion": " 1.0 " + }, + "params": { + "securityBypassFeedback": true, + "securityBypassInterlocks": true, + "securityEnableSimulation": true, + "securityOperateEquipment": true, + "securityOverrideInputs": true, + "selectedTab": 3, + "tagPath": "[DH1]Block 1/Process/Valve/FV_13", + "userHasBasic": true + }, + "propConfig": { + "custom.cmdSrcTitle": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_Tag\") + \" - \" + tag({view.params.tagPath}+\"/Cfg_Label\")" + }, + "type": "expr" + }, + "persistent": true + }, + "custom.popupVersion": { + "persistent": true + }, + "params.securityBypassFeedback": { + "binding": { + "config": { + "expression": "\"securityBypassFeedback\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityBypassInterlocks": { + "binding": { + "config": { + "expression": "\"securityBypassInterlocks\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityEnableSimulation": { + "binding": { + "config": { + "expression": "\"securityEnableSimulation\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityOperateEquipment": { + "binding": { + "config": { + "expression": "\"securityOperateEquipment\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityOverrideInputs": { + "binding": { + "config": { + "expression": "\"securityOverrideInputs\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.selectedTab": { + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 300, + "width": 392 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Tab1" + }, + "position": { + "height": 37, + "width": 39 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab2" + }, + "position": { + "height": 37, + "width": 39, + "y": 40 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab3" + }, + "position": { + "height": 37, + "width": 39, + "y": 80 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab4" + }, + "position": { + "height": 37, + "width": 39, + "y": 120 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "InactiveTabs" + }, + "position": { + "height": 157, + "width": 40, + "x": 4, + "y": 4 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 300, + "width": 353, + "x": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 300, + "width": 392 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "StatusText_Ready" + }, + "position": { + "height": 16, + "width": 42, + "x": 6, + "y": 2 + }, + "props": { + "text": "Ready", + "textStyle": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d image_path.format(states[SrcQ_IO][0])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 330, + "x": 20 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][1]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.textStyle.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][3]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][2]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "CommStatus" + }, + "position": { + "height": 20, + "width": 350 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\t\n\tSrcQ_IO \u003d value\n\t\n\tif (SrcQ_IO \u003e\u003d 8):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][3]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "custom": { + "parameterName": "NRdy_Perm" + }, + "meta": { + "name": "GONoticeNRdy_Perm" + }, + "position": { + "height": 21, + "width": 398 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {this.custom.parameterName}), true, false)" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{this.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#3F3F3F", + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameterName": "NRdy_Intlk" + }, + "meta": { + "name": "GONoticeNRdy_Intlk" + }, + "position": { + "height": 21, + "width": 398 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {this.custom.parameterName}), true, false)" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{this.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#3F3F3F", + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameterName": "NRdy_Fail" + }, + "meta": { + "name": "GONoticeNRdy_Fail" + }, + "position": { + "height": 21, + "width": 398 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {this.custom.parameterName}), true, false)" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{this.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#3F3F3F", + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameterName": "NRdy_IOFault" + }, + "meta": { + "name": "GONoticeNRdy_IOFault" + }, + "position": { + "height": 21, + "width": 398 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {this.custom.parameterName}), true, false)" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{this.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#3F3F3F", + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameterName": "NRdy_CfgErr" + }, + "meta": { + "name": "GONoticeNRdy_CfgErr" + }, + "position": { + "height": 21, + "width": 398 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {this.custom.parameterName}), true, false)" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{this.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#3F3F3F", + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + }, + { + "custom": { + "parameterName": "NRdy_OoS" + }, + "meta": { + "name": "GONoticeNRdy_OoS" + }, + "position": { + "height": 21, + "width": 398 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/\" + {this.custom.parameterName}), true, false)" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{this.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#3F3F3F", + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "NRdyNotices" + }, + "position": { + "height": 21, + "width": 402 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "AlarmSeverityIndicator" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "AlarmText" + }, + "position": { + "height": 16, + "width": 367, + "x": 22, + "y": 2 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Cfg_Cond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "alarmParameterName": "TransitStall" + }, + "meta": { + "name": "AlarmNotify_TransitStall" + }, + "position": { + "height": 20, + "width": 402 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {this.custom.alarmParameterName} + \"/Val_Notify\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tVal_Notify \u003d value\n\tVal_UnackAlmC \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_UnackAlmC\"])[0].value\n\t\n\tif (Val_Notify \u003e 0) and ((Val_UnackAlmC \u003d\u003d 0) or ((Val_Notify \u0026 1) \u003d\u003d 1)):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "AlarmSeverityIndicator" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "AlarmText" + }, + "position": { + "height": 16, + "width": 367, + "x": 22, + "y": 2 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Cfg_Cond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "alarmParameterName": "FullStall" + }, + "meta": { + "name": "AlarmNotify_FullStall" + }, + "position": { + "height": 20, + "width": 402 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {this.custom.alarmParameterName} + \"/Val_Notify\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tVal_Notify \u003d value\n\tVal_UnackAlmC \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_UnackAlmC\"])[0].value\n\t\n\tif (Val_Notify \u003e 0) and ((Val_UnackAlmC \u003d\u003d 0) or ((Val_Notify \u0026 1) \u003d\u003d 1)):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "AlarmSeverityIndicator" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "AlarmText" + }, + "position": { + "height": 16, + "width": 367, + "x": 22, + "y": 2 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Cfg_Cond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "alarmParameterName": "IntlkTrip" + }, + "meta": { + "name": "AlarmNotify_IntlkTrip" + }, + "position": { + "height": 20, + "width": 402 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {this.custom.alarmParameterName} + \"/Val_Notify\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tVal_Notify \u003d value\n\tVal_UnackAlmC \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_UnackAlmC\"])[0].value\n\t\n\tif (Val_Notify \u003e 0) and ((Val_UnackAlmC \u003d\u003d 0) or ((Val_Notify \u0026 1) \u003d\u003d 1)):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "AlarmSeverityIndicator" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\timages_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\"\", \n\t\"Alm_AckReqd\", \n\t\"Alm_PriorityLo\", \n\t\"Alm_PriorityLo\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityMed\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityHi\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_PriorityUrg\",\n\t\"Alm_Inhibit\",\n\t\"Error\"]\n\t\n\tVal_NotifyAll \u003d value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003d\u003d 0) and (Sts_AlmInh):\n\t\tVal_NotifyAll \u003d 10\n\t\n\tif (Val_NotifyAll \u003e\u003d 1) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d images_path.format(images[Val_NotifyAll])\n\telse:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "AlarmText" + }, + "position": { + "height": 16, + "width": 367, + "x": 22, + "y": 2 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.alarmParameterName} + \"/Cfg_Cond\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "alarmParameterName": "IOFault" + }, + "meta": { + "name": "AlarmNotify_IOFault" + }, + "position": { + "height": 20, + "width": 402 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {this.custom.alarmParameterName} + \"/Val_Notify\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tVal_Notify \u003d value\n\tVal_UnackAlmC \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_UnackAlmC\"])[0].value\n\t\n\tif (Val_Notify \u003e 0) and ((Val_UnackAlmC \u003d\u003d 0) or ((Val_Notify \u0026 1) \u003d\u003d 1)):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#000000" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "AlarmNotices" + }, + "position": { + "height": 20, + "width": 402 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "AbnormalSeparatorLine" + }, + "position": { + "height": 2, + "width": 352, + "y": 20 + }, + "props": { + "style": { + "borderColor": "#6A6A6A", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ResetAckAll" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_AlmAckAllReset_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "DisabledAckResetButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 302, + "y": 5 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ResetAckAll" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_AlmAckAllReset.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_ResetAckAll\", 1)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveAckResetButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 302, + "y": 5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/ORdy_ResetAckAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tORdy_ResetAckAll \u003d value\n\tVal_UnackAlmC \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_UnackAlmC\"])[0].value\n\t\n\tif (self.view.params.userHasBasic) and (ORdy_ResetAckAll):\n\t\tret_value \u003d True \n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 350 + }, + "props": { + "text": "Limit Switch Failure", + "textStyle": { + "backgroundColor": "#3F3F3F", + "color": "#FFFFFF", + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "GOLSFail" + }, + "position": { + "height": 20, + "width": 350 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_LSFail\")" + }, + "type": "expr" + } + }, + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][3]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Content1" + }, + "position": { + "height": 45, + "width": 403, + "x": 44 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "GOValStsValve", + "tooltip": { + "location": "bottom" + } + }, + "position": { + "height": 20, + "width": 190 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+ \"/Val_Sts\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\tstates \u003d {\n\t0: \"Unknown\",\n\t1: \"Closed\",\n\t2: \"Open\",\n\t3: \"Command to Close\",\n\t4: \"Command to Open\",\n\t5: \"Closing\",\n\t6: \"Opening\",\n\t7: \"Stopped\",\n\t8: \"Moving\",\n\t9: \"Tripping\",\n\t10: \"Horn\",\n\t}\n\t\n\tVal_Sts \u003d value\n\tindex \u003d Val_Sts\n\t\n\tret_value \u003d states[index]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#D4D4D4", + "color": "#2A4191", + "fontSize": "11pt", + "fontWeight": "normal", + "outlineStyle": "none", + "textAlign": "Left" + }, + "textStyle": { + "classes": "States/DigitalInput/on" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "InformationSection" + }, + "position": { + "height": 77, + "width": 210 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFaceDisabled" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_ValveOpen_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "InactiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_ValveOpen.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_Open\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{view.params.userHasBasic} \u0026\u0026 {view.params.securityOperateEquipment} \u0026\u0026 tag({view.params.tagPath} + \"/ORdy_Open\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GO_OpenButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 145.039, + "y": 17 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFaceDisabled" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_ValveClose_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "InactiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_ValveClose.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_Close\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{view.params.userHasBasic} \u0026\u0026 {view.params.securityOperateEquipment} \u0026\u0026 tag({view.params.tagPath} + \"/ORdy_Close\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GO_CloseButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 101.038, + "y": 17.0048 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "CommandButtons" + }, + "position": { + "height": 58, + "width": 240, + "x": 99.987556519 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "CmdSrcNotNormal" + }, + "position": { + "height": 16, + "width": 16, + "x": 127 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/CmdSrc/Sts_Normal\"), false, true)" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_CmdSrcNotNorm.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 40, + "width": 140, + "x": 2.5, + "y": 2.5 + }, + "props": { + "style": { + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 112, + "x": 30.5, + "y": 6.5 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Sts_eSrc\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d value\n\t\n\t# id: [image name, caption]\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t0: [\"\", \"Logic Not In Use\"],\n\t4: [\"Sts_CmdSrcHand\", \"Hand\"],\n\t8: [\"Sts_CmdSrcMaint\", \"Maintenance\"],\n\t16: [\"Sts_CmdSrcOvrd\", \"Override\"],\n\t32: [\"Sts_CmdSrcProgram\", \"Program\"],\n\t33: [\"Sts_CmdSrcProgLocked\", \"Program (locked)\"],\n\t34: [\"Sts_CmdSrcProgram\", \"Program\"],\n\t64: [\"Sts_CmdSrcOper\", \"Operator\"],\n\t65: [\"Sts_CmdSrcOperLocked\", \"Operator (locked)\"],\n\t66: [\"Sts_CmdSrcOper\", \"Operator\"],\n\t128: [\"Sts_CmdSrcOoS\", \"Maint. Out Of Service\"],\n\t129: [\"Sts_CmdSrcOoS\", \"Logic Out of Service\"],\n\t256: [\"Sts_CmdSrcExt\", \"External\"]\t\n\t}\n\t\n\ttry:\n\t\tret_value \u003d states[index][1]\n\texcept:\n\t\tret_value \u003d \"\"\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "CmdSrcImage" + }, + "position": { + "height": 38, + "width": 18, + "x": 8, + "y": 4 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/CmdSrc/Sts_eSrc\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d value\n\t\n\t# id: [image name, caption]\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t0: [\"\", \"Logic Not In Use\"],\n\t4: [\"Sts_CmdSrcHand\", \"Hand\"],\n\t8: [\"Sts_CmdSrcMaint\", \"Maintenance\"],\n\t16: [\"Sts_CmdSrcOvrd\", \"Override\"],\n\t32: [\"Sts_CmdSrcProgram\", \"Program\"],\n\t33: [\"Sts_CmdSrcProgLocked\", \"Program (locked)\"],\n\t34: [\"Sts_CmdSrcProgram\", \"Program\"],\n\t64: [\"Sts_CmdSrcOper\", \"Operator\"],\n\t65: [\"Sts_CmdSrcOperLocked\", \"Operator (locked)\"],\n\t66: [\"Sts_CmdSrcOper\", \"Operator\"],\n\t128: [\"Sts_CmdSrcOoS\", \"Maint. Out Of Service\"],\n\t129: [\"Sts_CmdSrcOoS\", \"Logic Out of Service\"],\n\t256: [\"Sts_CmdSrcExt\", \"External\"]\t\n\t}\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(states[index][0])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "contain" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "draggable": true, + "id": "{view.params.tagPath}_CmdSrc", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "{/root.custom.cmdSrcTitle}", + "type": "open", + "viewParams": { + "selectedTab": "0", + "tagPath": "{view.params.tagPath}/CmdSrc" + }, + "viewPath": "Plant PAX/Popups/P_CmdSrc/P_CmdSrc", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "CmdSrcNavButton" + }, + "position": { + "height": 40, + "width": 140, + "x": 2.5, + "y": 2.5 + }, + "props": { + "image": { + "style": { + "backgroundColor": "#FFFFFF00" + } + }, + "style": { + "backgroundColor": "#FFFFFF00", + "outlineStyle": "none" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "GOCmdSrcDisplayWithNav" + }, + "position": { + "height": 45, + "width": 145, + "y": 59 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasIntlkObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Inp_IntlkOK\") || \r\ntag({view.params.tagPath} + \"/Inp_NBIntlkOK\") || \r\ntag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Nav_IntlkOK\",\n\t1: \"Nav_IntlkOKBypassed\",\n\t2: \"Nav_IntlkNonBypOK\",\n\t3: \"Nav_IntlkNotOK\"\n\t}\n\t\n\tInp_IntlkOK \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_IntlkOK\"])[0].value \t\t\t#102\n\tInp_NBIntlkOK \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_NBIntlkOK\"])[0].value\t\t#103\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\t\t\t#104\n\t\n\tif (not (Inp_NBIntlkOK)) or (not (Inp_IntlkOK or Sts_BypActive)):\n\t\tindex \u003d 3\n\telif (not (Inp_IntlkOK)):\n\t\tindex \u003d 2\n\telse:\n\t\tindex \u003d Sts_BypActive\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "paddingLeft": 4, + "paddingTop": 4 + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "P_Intlk", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "P_Intlk", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}_Intlk" + }, + "viewPath": "Plant PAX/Popups/P_Intlk/P_Intlk", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "NavButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasIntlkObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GOInterlockButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 3 + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasPermObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Inp_PermOK\") || \r\ntag({view.params.tagPath} + \"/Inp_NBPermOK\") || \r\ntag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Nav_PermOK\",\n\t1: \"Nav_PermOKBypassed\",\n\t2: \"Nav_PermNonBypOK\",\n\t3: \"Nav_PermNotOK\"\n\t}\n\t\n\tInp_PermOK \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_PermOK\"])[0].value \t\t\t#102\n\tInp_NBPermOK \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_NBPermOK\"])[0].value\t\t#103\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\t\t\t#104\n\t\n\tif (not (Inp_NBPermOK)) or (not (Inp_PermOK or Sts_BypActive)):\n\t\tindex \u003d 3\n\telif (not (Inp_PermOK)):\n\t\tindex \u003d 2\n\telse:\n\t\tindex \u003d Sts_BypActive\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "paddingLeft": 4, + "paddingTop": 4 + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "P_Perm", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "P_Perm", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}_Perm" + }, + "viewPath": "Plant PAX/Popups/P_Perm/P_Perm", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "NavButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasPermObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GOPermissivesButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 48 + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "InterlocksAndPermissives" + }, + "position": { + "height": 40, + "width": 90, + "x": 198, + "y": 61.5 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Commands" + }, + "position": { + "height": 108, + "width": 340, + "y": 157 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Content2" + }, + "position": { + "height": 265, + "width": 340, + "x": 43, + "y": 35 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Home" + }, + "position": { + "height": 300, + "width": 392, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 0)", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 300, + "width": 353, + "x": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "y": 43 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 300, + "width": 392 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "AdvancedProperties" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Properties.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tblock_label \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_Label\"])[0].value\n\ttitle \u003d \"{0} - {1}\".format(block_label, \"Advanced\")\n\t\n\tparams \u003d {\u0027tagPath\u0027: self.view.params.tagPath}\n\t\n\tsystem.perspective.openPopup({self.view.params.tagPath},\u0027Plant PAX/Popups/P_ValveSO/P_ValveSO_Advanced\u0027, params, title, showCloseIcon \u003d True, resizable \u003d False)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "AdvancedPropertiesButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BadConfig" + }, + "position": { + "height": 16, + "width": 16, + "x": 22 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_Timer\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Accum.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GOValveStatsButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 47 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasStatsObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": "1px", + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "NavButtons" + }, + "position": { + "height": 42, + "width": 127, + "x": 50, + "y": 3 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "SeparatorLine" + }, + "position": { + "height": 2, + "width": 340 + }, + "props": { + "style": { + "borderColor": "#E0E0E0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_UseClosedLS\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityOverrideInputs} \u0026\u0026 {view.params.userHasBasic}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 319, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Use Valve Closed limit switch for failure checking" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "MaintBypass" + }, + "position": { + "height": 16, + "width": 16, + "y": -1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Cfg_UseClosedLS\") \u003d 1, false, true)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_MaintByp.png" + }, + "type": "ia.display.image" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_UseClosedLS\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_UseClosedLS\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 343, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": " {view.params.securityBypassFeedback} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "UseClosedLS" + }, + "position": { + "height": 32, + "width": 345, + "y": 5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasClosedLS\"), true, false)" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_UseOpenLS\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityOverrideInputs} \u0026\u0026 {view.params.userHasBasic}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 319, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Use Valve Open limit switch for failure checking" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "MaintBypass" + }, + "position": { + "height": 16, + "width": 16, + "y": -1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Cfg_UseOpenLS\") \u003d 1, false, true)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_MaintByp.png" + }, + "type": "ia.display.image" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_UseOpenLS\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_UseOpenLS\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 343, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityBypassFeedback} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "UseOpenLS" + }, + "position": { + "height": 32, + "width": 345, + "y": 43 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasOpenLS\"), true, false)" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Configuration" + }, + "position": { + "height": 76, + "width": 345, + "x": 41.5, + "y": 55 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "SeparatorLine" + }, + "position": { + "height": 2, + "width": 340, + "y": 7 + }, + "props": { + "style": { + "borderColor": "#E0E0E0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "MaintBypass" + }, + "position": { + "height": 16, + "width": 16, + "x": 229, + "y": 17 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_Bypass\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_MaintByp.png" + }, + "type": "ia.display.image" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Track" + }, + "position": { + "height": 8, + "width": 32, + "x": 2, + "y": 4 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "borderBottomLeftRadius": "15%", + "borderBottomRightRadius": "15%", + "borderColor": "#6B6B6B", + "borderStyle": "solid", + "borderTopLeftRadius": "15%", + "borderTopRightRadius": "15%", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Fill" + }, + "position": { + "height": 8, + "width": 32, + "x": 2, + "y": 4 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Sts_Bypass\"), false, true)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#008080", + "borderBottomLeftRadius": "15%", + "borderBottomRightRadius": "15%", + "borderColor": "#6A6A6A", + "borderStyle": "solid", + "borderTopLeftRadius": "15%", + "borderTopRightRadius": "15%", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Indicator" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Sts_Bypass\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d 0\n\t\n\tSts_SubstPV \u003d value\n\t\n\tif (Sts_SubstPV):\n\t\tret_value \u003d 20\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#F0F0F0", + "borderBottomLeftRadius": "50%", + "borderBottomRightRadius": "50%", + "borderColor": "#6A6A6A", + "borderStyle": "solid", + "borderTopLeftRadius": "50%", + "borderTopRightRadius": "50%", + "borderWidth": 1 + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "ToggleIndicator" + }, + "position": { + "height": 16, + "width": 37, + "x": 34, + "y": 7 + }, + "type": "ia.container.coord" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/MCmd_Check\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "OffButton", + "tooltip": { + "tail": false + } + }, + "position": { + "height": 25, + "width": 50, + "x": 2, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityBypassInterlocks} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + } + }, + "props": { + "align": "start", + "justify": "start", + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "No" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/MCmd_Bypass\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "OnButton", + "tooltip": { + "tail": false + } + }, + "position": { + "height": 25, + "width": 50, + "x": 56, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityBypassInterlocks} \u0026\u0026 {view.params.userHasBasic}" + }, + "type": "expr" + } + } + }, + "props": { + "align": "end", + "justify": "end", + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Yes" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "ToggleControl" + }, + "position": { + "height": 28, + "width": 110, + "x": 133, + "y": 3 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 101, + "y": 7 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt" + }, + "text": "Bypass Enabled" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "BypassEnabled" + }, + "position": { + "height": 33, + "width": 243, + "y": 26 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 182 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold" + }, + "text": "Interlocks and Permissives" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasIntlkObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Inp_IntlkOK\") || \r\ntag({view.params.tagPath} + \"/Inp_NBIntlkOK\") || \r\ntag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Nav_IntlkOK\",\n\t1: \"Nav_IntlkOKBypassed\",\n\t2: \"Nav_IntlkNonBypOK\",\n\t3: \"Nav_IntlkNotOK\"\n\t}\n\t\n\tInp_IntlkOK \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_IntlkOK\"])[0].value \t\t\t#102\n\tInp_NBIntlkOK \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_NBIntlkOK\"])[0].value\t\t#103\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\t\t\t#104\n\t\n\tif (not (Inp_NBIntlkOK)) or (not (Inp_IntlkOK or Sts_BypActive)):\n\t\tindex \u003d 3\n\telif (not (Inp_IntlkOK)):\n\t\tindex \u003d 2\n\telse:\n\t\tindex \u003d Sts_BypActive\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "paddingLeft": 4, + "paddingTop": 4 + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "P_Intlk", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "P_Intlk", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}_Intlk" + }, + "viewPath": "Plant PAX/Popups/P_Intlk/P_Intlk", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "NavButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasIntlkObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GOInterlockButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 3 + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "borderColor": "#B0B0B0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "NavButtonFace" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasPermObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Inp_PermOK\") || \r\ntag({view.params.tagPath} + \"/Inp_NBPermOK\") || \r\ntag({view.params.tagPath} + \"/Sts_BypActive\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d {\n\t0: \"Nav_PermOK\",\n\t1: \"Nav_PermOKBypassed\",\n\t2: \"Nav_PermNonBypOK\",\n\t3: \"Nav_PermNotOK\"\n\t}\n\t\n\tInp_PermOK \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_PermOK\"])[0].value \t\t\t#102\n\tInp_NBPermOK \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Inp_NBPermOK\"])[0].value\t\t#103\n\tSts_BypActive \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_BypActive\"])[0].value\t\t\t#104\n\t\n\tif (not (Inp_NBPermOK)) or (not (Inp_PermOK or Sts_BypActive)):\n\t\tindex \u003d 3\n\telif (not (Inp_PermOK)):\n\t\tindex \u003d 2\n\telse:\n\t\tindex \u003d Sts_BypActive\n\t\n\ttry:\n\t\tret_value \u003d image_path.format(images[index])\n\texcept:\n\t\tret_value \u003d image_path.format(\"Error\")\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "paddingLeft": 4, + "paddingTop": 4 + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "draggable": true, + "id": "P_Perm", + "modal": false, + "overlayDismiss": false, + "resizable": false, + "showCloseIcon": true, + "title": "P_Perm", + "type": "open", + "viewParams": { + "tagPath": "{view.params.tagPath}_Perm" + }, + "viewPath": "Plant PAX/Popups/P_Perm/P_Perm", + "viewportBound": false + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "NavButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_HasPermObj\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GOPermissivesButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 48 + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "InterlocksAndPermissives" + }, + "position": { + "height": 40, + "width": 90, + "x": 194, + "y": 58.5 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "IntlkAndPerm" + }, + "position": { + "height": 105, + "width": 340, + "x": 46.5, + "y": 195 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Maintenance" + }, + "position": { + "height": 300, + "width": 392, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d 1", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 300, + "width": 353, + "x": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "y": 83 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 300, + "width": 392 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 20, + "width": 20 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d image_path.format(states[SrcQ_IO][0])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 330, + "x": 20 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][1]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.textStyle.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][3]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][2]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "textStyle": { + "fontSize": "10pt" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "CommStatus" + }, + "position": { + "height": 20, + "width": 350, + "y": 275 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\t\n\tSrcQ_IO \u003d value\n\t\n\tif (SrcQ_IO \u003e\u003d 8):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/SrcQ_IO\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\tstates \u003d {\n\t# index: [image_name, caption, caption_color, background_color]\n\t0: [\"\", \"Comm Good\", \"#000000\", \"#c0c0c0\"],\n\t1: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t2: [\"\", \"Comm\", \"#000000\", \"#c0c0c0\"],\n\t8: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t9: [\"Sts_Simulated\", \"Loopback Test\", \"#000000\", \"#c0c0c0\"],\n\t10: [\"Sts_Simulated\", \"Simulated\", \"#000000\", \"#e0e0e0\"],\n\t16: [\"Sts_CommUncertain\", \"Live - Off Spec\", \"#ffffff\", \"#ffff00\"],\n\t17: [\"Sts_CommUncertain\", \"Simulated at Device\", \"#ffffff\", \"#ffff00\"],\n\t18: [\"Sts_CommUncertain\", \"Maint Substitution\", \"#ffffff\", \"#ffff00\"],\n\t19: [\"Sts_CommUncertain\", \"Shed - Last Good\", \"#ffffff\", \"#ffff00\"],\n\t20: [\"Sts_CommUncertain\", \"Shed - Replaced\", \"#ffffff\", \"#ffff00\"],\n\t32: [\"Sts_CommBad\", \"Signal Failure\", \"#ffffff\", \"#ff0000\"],\n\t33: [\"Sts_CommBad\", \"Channel Fault\", \"#ffffff\", \"#ff0000\"],\n\t34: [\"Sts_CommBad\", \"Module/Comm Fault\", \"#ffffff\", \"#ff0000\"],\n\t35: [\"Sts_BC_BadCfg\", \"Invalid Config\", \"#ffffff\", \"#000000\"]\n\t}\n\t\n\tSrcQ_IO \u003d value\n\t\n\tret_value \u003d states[SrcQ_IO][3]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 180.99999999999997 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold" + }, + "text": "Device Not Ready Reasons" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFaceDisabled" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_Reset_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "InactiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_Reset.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_Reset\", True)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveButton" + }, + "position": { + "height": 40, + "width": 40 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{view.params.userHasBasic} \u0026\u0026 {view.params.securityOperateEquipment} \u0026\u0026 tag({view.params.tagPath} + \"/ORdy_Reset\") \u0026\u0026 tag({view.params.tagPath} + \"/Sts_NotRdy\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "GO_ResetButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 293.019, + "y": 1 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.parameterName})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tif (value):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 317, + "x": 21 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "parameterName": "NRdy_OoS" + }, + "meta": { + "name": "GONotRdy_OoS" + }, + "position": { + "height": 17, + "width": 340, + "x": -0.01953125, + "y": 20.99609375 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.parameterName})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tif (value):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 317, + "x": 21 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "parameterName": "NRdy_CfgErr" + }, + "meta": { + "name": "GONotRdy_CfgErr" + }, + "position": { + "height": 17, + "width": 340, + "x": -0.0195313, + "y": 40.9961 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.parameterName})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tif (value):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 317, + "x": 21 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "parameterName": "NRdy_Intlk" + }, + "meta": { + "name": "GONotRdy_Intlk" + }, + "position": { + "height": 17, + "width": 340, + "x": -0.0195313, + "y": 60.9961 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.parameterName})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tif (value):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 317, + "x": 21 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "parameterName": "NRdy_Perm" + }, + "meta": { + "name": "GONotRdy_Perm" + }, + "position": { + "height": 17, + "width": 340, + "x": -0.0195313, + "y": 80.9961 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.parameterName})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tif (value):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 317, + "x": 21 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "parameterName": "NRdy_IOFault" + }, + "meta": { + "name": "GONotRdy_IOFault" + }, + "position": { + "height": 17, + "width": 340, + "x": -0.0195313, + "y": 100.9961 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Image" + }, + "position": { + "height": 16, + "width": 16 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/\" + {parent.custom.parameterName})" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tindex \u003d 0\n\t\n\timage_path \u003d \"/system/images/PlantPax/Pax V4.10.05/{0}.png\"\n\timages \u003d [\n\t\"Indicator Off\",\n\t\"Indicator On\"\n\t]\n\t\n\tif (value):\n\t\tindex \u003d 1\n\t\n\tret_value \u003d image_path.format(images[index])\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotRdyHeader" + }, + "position": { + "height": 16, + "width": 317, + "x": 21 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.parameterName}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\t\n\tcaptions \u003d {\n\t\"NRdy_OoS\":\t\"Device Out of Service\",\n\t\"NRdy_CfgErr\":\"Configuration Error\",\n\t\"NRdy_Intlk\": \"Interlocks Not OK\",\n\t\"NRdy_Perm\": \"Permissives Not OK\",\n\t\"NRdy_IOFault\": \"I/O Fault *\",\n\t\"NRdy_DriveNR\": \"Drive Not Ready\",\n\t\"NRdy_Fail\": \"Device Failure *\",\n\t\"NRdy_Trip\": \"Device Trip (Drive Fault)\",\n\t\"NRdy_PrioStop\": \"Operator or External priority \u0027Stop\u0027 *\",\n\t\"NRdy_PrioOff\": \"Operator or External priority \u0027Off\u0027 *\",\n\t\"NRdy_PrioSt0\": \"Operator or External priority \u0027State 0\u0027 *\",\n\t\"NRdy_NoMode\": \"Device Logic Disabled\",\n\t\"NRdy_Trip\": \"Tripped\",\n\t\"NRdy_EqpFault\": \"External Equipment Fault *\",\n\t\"NRdy_Init\": \"Invalid CV Init Request\",\n\t\"NRdy_PVBad\": \"PV Bad Quality\",\n\t\"NRdy_OvldNR\": \"Powerup not complete\",\n\t\"NRdy_BypassVsDrive\": \"Both \u0027Drive\u0027 and \u0027Bypass\u0027 are selected\",\n\t\"NRdy_NotRemote\": \"Remote Control not selected, cannot start\"\n\t}\n\t\n\treturn captions[value]", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "parameterName": "NRdy_Fail" + }, + "meta": { + "name": "GONotRdy_Fail" + }, + "position": { + "height": 17, + "width": 340, + "x": -0.0195313, + "y": 120.996 + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "NotRdyHeader_0" + }, + "position": { + "height": 16, + "width": 334, + "x": 2.02, + "y": 160 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontStyle": "italic", + "fontWeight": "normal" + }, + "text": "* A reset is required to clear this condition" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "NotReadyReasons" + }, + "position": { + "height": 178, + "width": 340, + "x": 6 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "DiagnosticsContent" + }, + "position": { + "height": 295, + "width": 350, + "x": 40.9936, + "y": 0.00000190735 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Diagnostics" + }, + "position": { + "height": 300, + "width": 392, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d 2", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 300, + "width": 353, + "x": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "y": 123 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 300, + "width": 392 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Disabled.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ResetAckAll" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_AlmAckAllReset_Disa.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "DisabledAckResetButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 300 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "ButtonFaceReady" + }, + "position": { + "height": 40, + "width": 40 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/CmdBtnFace_Ready.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "ResetAckAll" + }, + "position": { + "height": 32, + "width": 32, + "x": 4, + "y": 4 + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Cmd_AlmAckAllReset.png" + }, + "type": "ia.display.image" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.write(self.view.params.tagPath + \"/OCmd_ResetAckAll\", 1)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ActiveAckResetButton" + }, + "position": { + "height": 40, + "width": 40, + "x": 300 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/ORdy_ResetAckAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tORdy_ResetAckAll \u003d value\n\tVal_UnackAlmC \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_UnackAlmC\"])[0].value\n\t\n\tif (self.view.params.userHasBasic) and (ORdy_ResetAckAll):\n\t\tret_value \u003d True \n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "GO_AlarmDisplay_IOFault" + }, + "position": { + "height": 34, + "width": 291 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "alarmName": "IOFault" + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Alarm Objects/GO_AlarmDisplay" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_AlarmDisplay_IntlkTrip" + }, + "position": { + "height": 34, + "width": 291, + "y": 37 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "alarmName": "IntlkTrip" + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Alarm Objects/GO_AlarmDisplay" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_AlarmDisplay_FullStall" + }, + "position": { + "height": 34, + "width": 291, + "y": 74 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "alarmName": "FullStall" + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Alarm Objects/GO_AlarmDisplay" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_AlarmDisplay_TransitStall" + }, + "position": { + "height": 34, + "width": 291, + "y": 111 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "alarmName": "TransitStall" + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Alarm Objects/GO_AlarmDisplay" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "Alarms" + }, + "position": { + "height": 145, + "width": 291 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "AlarmContent" + }, + "position": { + "height": 145, + "width": 340, + "x": 43, + "y": 5 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Alarm" + }, + "position": { + "height": 300, + "width": 392, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d 3", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 300, + "width": 353, + "x": 39 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "y": 253 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 300, + "width": 392 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 108, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "caption": "P_ValveSO", + "label": "Popup Name:" + }, + "meta": { + "name": "PopupID" + }, + "position": { + "height": 18, + "width": 255, + "x": 125, + "y": 206 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 108, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "PlantPAX Version:" + }, + "meta": { + "name": "PlantPAX Version" + }, + "position": { + "height": 18, + "width": 255, + "x": 125, + "y": 229 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/version\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 108, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "UDT Version:" + }, + "meta": { + "name": "UDTVersion" + }, + "position": { + "height": 18, + "width": 255, + "x": 125, + "y": 252 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Prime Version\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 108, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "Popup Version:" + }, + "meta": { + "name": "PopupVersion" + }, + "position": { + "height": 18, + "width": 255, + "x": 125, + "y": 275 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "path": "view.custom.popupVersion" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Version" + }, + "position": { + "height": 300, + "width": 392, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d -1", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "AlarmPolygon" + }, + "position": { + "height": 39, + "width": 39, + "y": 117 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "now(2000)" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\tvisible \u003d self.meta.visible\n\t\n\tVal_NotifyAll \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Val_NotifyAll\"])[0].value\n\tSts_AlmInh \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_AlmInh\"])[0].value\n\n\tif (Val_NotifyAll \u003e 0) and (not(Sts_AlmInh)):\n\t\tif (Val_NotifyAll % 2 \u003d\u003d 0):\n\t\t\tret_value \u003d True\n\t\telif ((Val_NotifyAll % 2 !\u003d 0)):\n\t\t\tret_value \u003d not(visible)\n\telse:\n\t\tret_value \u003d False\n\t\n\tret_value \u003d ret_value and (self.view.params.selectedTab !\u003d 3)\t# Show it only if active tab different than alarm tab \n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Val_NotifyAll\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"\"\n\tVal_NotifyAll \u003d value\n\t\n\tcolors \u003d [\"\",\n\t\"#FFFFFF\",\n\t\"#916AAD\",\n\t\"#916AAD\",\n\t\"#F5DF1B\",\n\t\"#F5DF1B\",\n\t\"#EC8729\",\n\t\"#EC8729\",\n\t\"#E22028\",\n\t\"#E22028\",\n\t\"\"]\n\t\n\tif (Val_NotifyAll \u003e 0) and (Val_NotifyAll \u003c\u003d 10):\n\t\tret_value \u003d colors[Val_NotifyAll]\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "borderBottomStyle": "solid", + "borderBottomWidth": 2, + "borderLeftStyle": "solid", + "borderLeftWidth": 2, + "borderRightStyle": "none", + "borderTopStyle": "solid", + "borderTopWidth": 2 + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonHome" + }, + "position": { + "height": 35, + "width": 35, + "x": 2 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Home.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 1" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonMaintenance" + }, + "position": { + "height": 35, + "width": 35, + "x": 2, + "y": 40 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Maint.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 2" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonDiagnostics" + }, + "position": { + "height": 35, + "width": 35, + "x": 2, + "y": 80 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Diag.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 3" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonAlarm" + }, + "position": { + "height": 35, + "width": 35, + "x": 2, + "y": 120 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Alm.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d -1" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonHelp" + }, + "position": { + "height": 32, + "rotate": { + "angle": "180deg" + }, + "width": 32, + "x": 2, + "y": 250 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Faults.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "MaintBypass" + }, + "position": { + "height": 16, + "width": 16, + "y": 37 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_HasOpenLS\") ||\r\ntag({view.params.tagPath} + \"/Cfg_UseOpenLS\") ||\r\ntag({view.params.tagPath} + \"/Cfg_HasClosedLS\") ||\r\ntag({view.params.tagPath} + \"/Cfg_UseClosedLS\") ||\r\ntag({view.params.tagPath} + \"/Sts_Bypass\")" + }, + "transforms": [ + { + "code": "\tret_value \u003d False\n\t\n\tCfg_HasOpenLS \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_HasOpenLS\"])[0].value\n\tCfg_UseOpenLS \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_UseOpenLS\"])[0].value\n\tCfg_HasClosedLS \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_HasClosedLS\"])[0].value\n\tCfg_UseClosedLS \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_UseClosedLS\"])[0].value\n\tSts_Bypass \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Sts_Bypass\"])[0].value\n\t\n\tif ((Cfg_HasOpenLS) and not (Cfg_UseOpenLS)) or ((Cfg_HasClosedLS) and not (Cfg_UseClosedLS)) or (Sts_Bypass):\n\t\tret_value \u003d True\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_MaintByp.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "AlarmInh" + }, + "position": { + "height": 16, + "width": 16, + "y": 116.99519348144531 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_AlmInh\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Alm_Inhibit.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 23, + "y": 37 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_Timer\") || tag({view.params.tagPath} + \"/Err_Sim\")" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "BadConfigAlarm" + }, + "position": { + "height": 16, + "width": 16, + "x": 23, + "y": 118 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Err_Alarm\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "NotReady" + }, + "position": { + "height": 16, + "width": 16, + "y": 99 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Sts_NotRdy\"), true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_NotReady.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupTabButtons" + }, + "position": { + "height": 287, + "width": 39, + "x": 3, + "y": 5 + }, + "type": "ia.container.coord" + } + ], + "events": { + "system": { + "onStartup": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "propConfig": { + "custom.cmdSrcTitle": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath}+\"/Cfg_Tag\") + \" - \" + tag({view.params.tagPath}+\"/Cfg_Label\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_ValveSO/P_ValveSO_Advanced/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_ValveSO/P_ValveSO_Advanced/resource.json new file mode 100644 index 0000000..4b07920 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_ValveSO/P_ValveSO_Advanced/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "3fae59f5b7e15f5b31a88f4a6d4242b6c099886f7be7591a722e30e608208f37", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:40:19Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_ValveSO/P_ValveSO_Advanced/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_ValveSO/P_ValveSO_Advanced/thumbnail.png new file mode 100644 index 0000000..eb8ebb0 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_ValveSO/P_ValveSO_Advanced/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_ValveSO/P_ValveSO_Advanced/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_ValveSO/P_ValveSO_Advanced/view.json new file mode 100644 index 0000000..0f82d4e --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Objects/Plant PAX/Popups/P_ValveSO/P_ValveSO_Advanced/view.json @@ -0,0 +1,2232 @@ +{ + "custom": { + "popupVersion": " 1.0 " + }, + "params": { + "securityDeviceConfigBehavior": true, + "securityDeviceConfigFailTimers": false, + "securityDeviceConfigHMI": true, + "securityDeviceConfigLimits": true, + "securityDeviceConfigTimers": true, + "securityEnableSimulation": true, + "securityEnterOperSettings": true, + "securityOverrideInputs": true, + "selectedTab": 0, + "tagPath": "[default]Test_Tags/P_ValveSO", + "userHasAdvanced": true, + "userHasBasic": true + }, + "propConfig": { + "custom.popupVersion": { + "persistent": true + }, + "params.securityDeviceConfigBehavior": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigBehavior\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityDeviceConfigFailTimers": { + "binding": { + "config": { + "expression": "\"securityDevic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityDeviceConfigHMI": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigHMI\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityDeviceConfigLimits": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigLimits\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityDeviceConfigTimers": { + "binding": { + "config": { + "expression": "\"securityDeviceConfigTimers\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityEnableSimulation": { + "binding": { + "config": { + "expression": "\"securityEnableSimulation\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityEnterOperSettings": { + "binding": { + "config": { + "expression": "\"securityEnterOperSettings\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.securityOverrideInputs": { + "binding": { + "config": { + "expression": "\"securityOverrideInputs\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.selectedTab": { + "paramDirection": "inout", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + }, + "params.userHasAdvanced": { + "binding": { + "config": { + "expression": "\"userHasAdvanced\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + }, + "params.userHasBasic": { + "binding": { + "config": { + "expression": "\"userHasBasic\"" + }, + "transforms": [ + { + "code": "\tret_value \u003d PlantPAX.securityCheck.verify(self.session.props.auth.user.roles, value)\n\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + }, + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 442, + "width": 350 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Tab1" + }, + "position": { + "height": 39, + "width": 37 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab2" + }, + "position": { + "height": 39, + "width": 37, + "x": 40 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab3" + }, + "position": { + "height": 39, + "width": 37, + "x": 80 + }, + "props": { + "style": { + "backgroundColor": "#A0A0A4" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "InactiveTabs" + }, + "position": { + "height": 39, + "width": 117, + "x": 4, + "y": 4 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 403, + "width": 350, + "y": 42 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab" + }, + "position": { + "height": 39, + "width": 40, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 442, + "width": 350 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "ErrOutline" + }, + "position": { + "height": 73, + "width": 81, + "x": -1, + "y": 10.5 + }, + "props": { + "style": { + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "2px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 64, + "y": -4.5 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "ndeErr_1" + }, + "position": { + "height": 90, + "width": 81, + "x": 257, + "y": 5 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_Timer\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "GO_ValveTimers" + }, + "position": { + "height": 84, + "width": 340, + "x": 1.5, + "y": 13 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigFailTimers": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Valve Objects/GO_ValveTimers" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "GroupTimer" + }, + "position": { + "height": 394, + "width": 343, + "x": 2, + "y": 45 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Maintenance" + }, + "position": { + "height": 442, + "width": 350, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 0)", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 403, + "width": 350, + "y": 42 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab" + }, + "position": { + "height": 39, + "width": 40, + "x": 39, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 442, + "width": 350 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "SeparatorLine" + }, + "position": { + "height": 2, + "width": 340, + "x": 2, + "y": 109 + }, + "props": { + "style": { + "borderColor": "#E0E0E0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "GO_Cfg_OCmdResets" + }, + "position": { + "height": 32, + "width": 340, + "x": 2.5, + "y": 118.003 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_OCmdResets" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_XCmdResets" + }, + "position": { + "height": 32, + "width": 340, + "x": 2.5, + "y": 150 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_XCmdResets" + }, + "type": "ia.display.view" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Line" + }, + "position": { + "height": 10, + "rotate": { + "angle": 45 + }, + "width": 5, + "x": 5.1, + "y": 1.1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if(tag({view.params.tagPath} + \"/Cfg_FailOpen\"), true, false)" + }, + "type": "expr" + } + }, + "props.style.borderColor": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "transforms": [ + { + "code": "\tret_value \u003d \"#b0b0b0\"\n\t\n\tif (value):\n\t\tret_value \u003d \"#000000\"\n\t\t\n\treturn ret_value", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderBottomStyle": "solid", + "borderBottomWidth": "2px", + "borderLeftStyle": "none", + "borderRightStyle": "solid", + "borderRightWidth": "2px", + "borderTopStyle": "none" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "Checkbox" + }, + "position": { + "height": 16, + "width": 16, + "x": 4, + "y": 8 + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "height": 32, + "width": 310, + "x": 25 + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "left" + }, + "text": "Fail Open (energize to close)" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tvalue \u003d system.tag.readBlocking([self.view.params.tagPath + \"/Cfg_FailOpen\"])[0].value\n\tsystem.tag.write(self.view.params.tagPath + \"/Cfg_FailOpen\", not(value))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 28, + "width": 335, + "x": 1, + "y": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "{view.params.securityDeviceConfigBehavior} \u0026\u0026 {view.params.userHasAdvanced}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF00", + "borderColor": "#FFFFFF00" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "cb_Cfg_FailOpen" + }, + "position": { + "height": 32, + "width": 340, + "x": 2.5, + "y": 182 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "GO_Cfg_OvrdPermIntlk" + }, + "position": { + "height": 32, + "width": 340, + "x": 2.5, + "y": 217 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_OvrdPermIntlk" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_HasLimitSwitch" + }, + "position": { + "height": 127, + "width": 340, + "x": 2.5, + "y": 1 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Valve Objects/GO_HasLimitSwitch" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "PageEngineering1" + }, + "position": { + "height": 334, + "width": 345, + "x": 2.5, + "y": 46 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{parent.custom.pageTabSelected}" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 0) or (value !\u003d 1)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "SeparatorLine" + }, + "position": { + "height": 2, + "width": 340, + "x": 2, + "y": 39 + }, + "props": { + "style": { + "borderColor": "#E0E0E0", + "borderStyle": "solid", + "borderWidth": "1px" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Label2" + }, + "position": { + "height": 16, + "width": 155, + "x": 8.51, + "y": 9 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0", + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "left" + }, + "text": "Deenergize Output:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "GO_Cfg_ShedOnIOFault" + }, + "position": { + "height": 32, + "width": 280, + "x": 12.5, + "y": 26.0017 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnIOFault" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_ShedOnInterlockTrip" + }, + "position": { + "height": 32, + "width": 280, + "x": 12.5, + "y": 125 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnInterlockTrip" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_ShedOnTransitStall" + }, + "position": { + "height": 32, + "width": 280, + "x": 12.5, + "y": 59 + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "tagPath": "[default]Test_Tags/P_ValveSO", + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnTransitStall" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_ShedOnFullStall" + }, + "position": { + "height": 32, + "width": 280, + "x": 12.5, + "y": 92 + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "tagPath": "[default]Test_Tags/P_ValveSO", + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_ShedOnFullStall" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_SimFdbkT" + }, + "position": { + "height": 32, + "width": 340, + "x": 2.5, + "y": 184.002 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_SimFdbkT" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_StartHornT" + }, + "position": { + "height": 32, + "width": 340, + "x": 2.5, + "y": 226 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigBehavior": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Valve Objects/GO_Cfg_StartHornT" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "PageEngineering2" + }, + "position": { + "height": 334, + "width": 345, + "x": 2.5, + "y": 46 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "{parent.custom.pageTabSelected}" + }, + "transforms": [ + { + "code": "\treturn (value \u003d\u003d 1)", + "type": "script" + } + ], + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageTabSelected \u003d self.parent.custom.pageTabSelected\n\tmaxNumberOfTabs \u003d self.parent.custom.maxNumberOfTabs - 1\n\t\n\tnewTab \u003d pageTabSelected - 1\n\t\n\tif (newTab \u003e\u003d 0):\n\t\tself.parent.custom.pageTabSelected \u003d newTab" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "PrevButton" + }, + "position": { + "height": 36, + "width": 30 + }, + "props": { + "fit": { + "mode": "contain" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Prev.png", + "style": { + "curor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 20, + "x": 3, + "y": 8 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if({parent.custom.currentTabNumber} \u003d {parent.custom.tabNumber}, \"#A3A3A3FF\", \"#A3A3A300\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.tabNumber} + 1" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 1, + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "tabNumber": 0 + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.currentTabNumber \u003d self.custom.tabNumber" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Page1Button" + }, + "position": { + "height": 36, + "width": 26, + "x": 28 + }, + "propConfig": { + "custom.currentTabNumber": { + "binding": { + "config": { + "bidirectional": true, + "path": "parent.custom.pageTabSelected" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 20, + "width": 20, + "x": 3, + "y": 8 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "if({parent.custom.currentTabNumber} \u003d {parent.custom.tabNumber}, \"#A3A3A3FF\", \"#A3A3A300\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "{parent.custom.tabNumber} + 1" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "borderColor": "#3F3F3F", + "borderStyle": "solid", + "borderWidth": 1, + "color": "#3F3F3F", + "fontSize": "10pt", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "tabNumber": 1 + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.custom.currentTabNumber \u003d self.custom.tabNumber" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Page2Button" + }, + "position": { + "height": 36, + "width": 26, + "x": 58 + }, + "propConfig": { + "custom.currentTabNumber": { + "binding": { + "config": { + "bidirectional": true, + "path": "parent.custom.pageTabSelected" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.coord" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tpageTabSelected \u003d self.parent.custom.pageTabSelected\n\tmaxNumberOfTabs \u003d self.parent.custom.maxNumberOfTabs - 1\n\t\n\tnewTab \u003d pageTabSelected + 1\n\t\n\tif (newTab \u003c\u003d maxNumberOfTabs):\n\t\tself.parent.custom.pageTabSelected \u003d newTab" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "NextButton" + }, + "position": { + "height": 36, + "width": 30, + "x": 82 + }, + "props": { + "fit": { + "mode": "contain" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Next.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + } + ], + "custom": { + "maintenanceTabSelected": 0, + "maxNumberOfTabs": 2 + }, + "meta": { + "name": "MaintenancePageButtons" + }, + "position": { + "height": 36, + "width": 112, + "x": 112.5, + "y": 393 + }, + "propConfig": { + "custom.pageTabSelected": { + "binding": { + "config": { + "bidirectional": true, + "path": "parent.custom.pageTabSelected" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "height": 18, + "width": 16, + "x": 180.005, + "y": 389 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_Sim\")" + }, + "type": "expr" + } + } + }, + "props": { + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "custom": { + "maintenanceTabSelected": null, + "pageTabSelected": 0 + }, + "meta": { + "name": "TabPage_Engineering" + }, + "position": { + "height": 442, + "width": 350, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d 1", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 402, + "width": 350, + "y": 42 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "LeftTab" + }, + "position": { + "height": 39, + "width": 40, + "x": 80, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 442, + "width": 350 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "GO_Desc_Label_Tag" + }, + "position": { + "height": 68.00000000000001, + "width": 340, + "x": 5, + "y": 3.99 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigHMI": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Desc_Label_Tag" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_Area" + }, + "position": { + "height": 20, + "width": 340, + "x": 5, + "y": 70.987 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityConfigSecurity": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_Area" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "TextConfig" + }, + "position": { + "height": 116, + "width": 350, + "y": 47 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "GO_Cfg_HasIntlkObj" + }, + "position": { + "height": 32, + "width": 340, + "x": 5, + "y": 32 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigHMI": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_HasIntlkObj" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "GO_Cfg_HasPermObj" + }, + "position": { + "height": 32, + "width": 340, + "x": 5, + "y": 2 + }, + "propConfig": { + "props.params.tagPath": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "securityDeviceConfigHMI": true, + "userHasAdvanced": true, + "userHasBasic": true + }, + "path": "Plant PAX/Popups/Global Objects/Process Faceplate Common Objects/GO_Cfg_HasPermObj" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "HMIConfig" + }, + "position": { + "height": 221, + "width": 350, + "y": 164 + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_HMI" + }, + "position": { + "height": 442, + "width": 350, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d 2", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "TabPolygon" + }, + "position": { + "height": 403, + "width": 350, + "y": 42 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + }, + { + "meta": { + "name": "Tab" + }, + "position": { + "height": 39, + "width": 40, + "x": 306, + "y": 3 + }, + "props": { + "style": { + "backgroundColor": "#E0E0E0" + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabBackground" + }, + "position": { + "height": 442, + "width": 350 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 145, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "caption": "P_AIn_Advanced", + "label": "Popup Name:" + }, + "meta": { + "name": "PopupID" + }, + "position": { + "height": 18, + "width": 292, + "x": 48, + "y": 346 + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 145, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "PlantPAX Version:" + }, + "meta": { + "name": "PlantPAX Version" + }, + "position": { + "height": 18, + "width": 292, + "x": 48, + "y": 369 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/version\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 145, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "UDT Version:" + }, + "meta": { + "name": "UDTVersion" + }, + "position": { + "height": 18, + "width": 292, + "x": 48, + "y": 392 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Prime Version\")" + }, + "type": "expr" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "height": 16, + "width": 138, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.label" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "bold", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Caption" + }, + "position": { + "height": 16, + "width": 145, + "x": 144, + "y": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "parent.custom.caption" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": "10pt", + "fontWeight": "normal", + "textAlign": "right" + } + }, + "type": "ia.display.label" + } + ], + "custom": { + "label": "Popup Version:" + }, + "meta": { + "name": "PopupVersion" + }, + "position": { + "height": 18, + "width": 292, + "x": 48, + "y": 415 + }, + "propConfig": { + "custom.caption": { + "binding": { + "config": { + "path": "view.custom.popupVersion" + }, + "type": "property" + } + } + }, + "type": "ia.container.coord" + } + ], + "meta": { + "name": "TabPage_Version" + }, + "position": { + "height": 442, + "width": 350, + "x": 3 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "path": "view.params.selectedTab" + }, + "transforms": [ + { + "code": "\treturn value \u003d\u003d -1", + "type": "script" + } + ], + "type": "property" + } + } + }, + "type": "ia.container.coord" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonMaintenance" + }, + "position": { + "height": 35, + "width": 35, + "x": 2 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Maint.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 1" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonEngineering" + }, + "position": { + "height": 35, + "width": 35, + "x": 42 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Eng.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 2" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonHMI" + }, + "position": { + "height": 35, + "width": 35, + "x": 81 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_HMI.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab \u003d -1" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "TabButtonHelp" + }, + "position": { + "height": 32, + "rotate": { + "angle": "180deg" + }, + "width": 32, + "x": 311 + }, + "props": { + "fit": { + "height": 35, + "mode": "fill", + "width": 35 + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Nav_Faults.png", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "BadConfigMaint" + }, + "position": { + "height": 16, + "width": 16, + "x": 23, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "if (tag({view.params.tagPath} + \"/Err_Timer\") \u003d 1, true, false)" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "name": "BadConfigEng" + }, + "position": { + "height": 16, + "width": 16, + "x": 63, + "y": 1 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Err_Sim\")" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/PlantPax/Pax V4.10.05/Sts_BC_BadCfg.png" + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "GroupTabButtons" + }, + "position": { + "height": 35, + "width": 346, + "x": 3, + "y": 5 + }, + "type": "ia.container.coord" + } + ], + "events": { + "system": { + "onStartup": { + "config": { + "script": "\tself.view.params.selectedTab \u003d 0\n\tself.getChild(\"TabPage_Engineering\").custom.pageTabSelected \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "props": { + "style": { + "backgroundColor": "#C0C0C0", + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/AnalogInput/Embedded Views/Nav_Menu/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/AnalogInput/Embedded Views/Nav_Menu/resource.json new file mode 100644 index 0000000..5e32cd2 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/AnalogInput/Embedded Views/Nav_Menu/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "3dcff8eb288d3d413962f037d15a99e45e26b3c3777329de68cb064dfd66167e", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/AnalogInput/Embedded Views/Nav_Menu/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/AnalogInput/Embedded Views/Nav_Menu/thumbnail.png new file mode 100644 index 0000000..a513967 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/AnalogInput/Embedded Views/Nav_Menu/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/AnalogInput/Embedded Views/Nav_Menu/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/AnalogInput/Embedded Views/Nav_Menu/view.json new file mode 100644 index 0000000..1273cb0 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/AnalogInput/Embedded Views/Nav_Menu/view.json @@ -0,0 +1,218 @@ +{ + "custom": {}, + "params": { + "faulted": false, + "selectedTab": 0 + }, + "propConfig": { + "params.HomeSelect": { + "paramDirection": "inout", + "persistent": true + }, + "params.TrendSelect": { + "paramDirection": "inout", + "persistent": true + }, + "params.faulted": { + "paramDirection": "input", + "persistent": true + }, + "params.selectedTab": { + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 350, + "width": 50 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Overview" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.params.selectedTab": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.params.selectedTab" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "iconPath": "material/home", + "tabNumber": 0 + }, + "path": "Plant PAX/Popups_Old/Embedded Views/Icon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Alarms" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.params.faulted": { + "binding": { + "config": { + "path": "view.params.faulted" + }, + "type": "property" + } + }, + "props.params.selectedTab": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.params.selectedTab" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "iconPath": "material/alarm", + "tabNumber": 1 + }, + "path": "Plant PAX/Popups_Old/Embedded Views/Icon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PV Configuration", + "tooltip": { + "enabled": true, + "text": "Edit PV Configuration" + } + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.params.faulted": { + "binding": { + "config": { + "path": "view.params.faulted" + }, + "type": "property" + } + }, + "props.params.selectedTab": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.params.selectedTab" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "iconPath": "material/edit", + "tabNumber": 2 + }, + "path": "Plant PAX/Popups_Old/Embedded Views/Icon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "lbl_Separator" + }, + "position": { + "basis": "32px", + "grow": 1, + "shrink": 0 + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Settings", + "tooltip": { + "enabled": true, + "text": "Edit Alarm Configuration" + } + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.params.selectedTab": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.params.selectedTab" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "faulted": false, + "iconPath": "material/settings", + "tabNumber": 10 + }, + "path": "Plant PAX/Popups_Old/Embedded Views/Icon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Infos" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.params.selectedTab": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.params.selectedTab" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "faulted": false, + "iconPath": "material/info", + "tabNumber": 99 + }, + "path": "Plant PAX/Popups_Old/Embedded Views/Icon" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "Popups/General/background", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/AnalogInput/Popup/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/AnalogInput/Popup/resource.json new file mode 100644 index 0000000..97ab83a --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/AnalogInput/Popup/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "1e78d9b605261d49a5257481c292e7b784989f3d12db5c9285298eb248840815", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/AnalogInput/Popup/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/AnalogInput/Popup/thumbnail.png new file mode 100644 index 0000000..df7d09c Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/AnalogInput/Popup/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/AnalogInput/Popup/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/AnalogInput/Popup/view.json new file mode 100644 index 0000000..c38ddc0 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/AnalogInput/Popup/view.json @@ -0,0 +1,2235 @@ +{ + "custom": {}, + "params": { + "tagPath": "[default]Test_Tags/P_Ain" + }, + "propConfig": { + "params.tagPath": { + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 350, + "width": 350 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Nav_Menu" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.params.faulted": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Val_Fault" + }, + "transforms": [ + { + "expression": "if({value} \u003e 0 || tag({view.params.tagPath} + \"/Sts_RdyReset\") \u003d True, true, false)", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "params": { + "selectedTab": 99 + }, + "path": "Plant PAX/Popups_Old/AnalogInput/Embedded Views/Nav_Menu", + "style": { + "borderRightStyle": "none" + } + }, + "type": "ia.display.view" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Desc" + }, + "position": { + "basis": "10px", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_Desc\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "classes": "Popups/label", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "icn_Interlock" + }, + "position": { + "basis": "30px" + }, + "propConfig": { + "props.path": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Val_Fault" + }, + "transforms": [ + { + "expression": "if({value} \u003e 0 || tag({view.params.tagPath} + \"/Sts_RdyReset\") \u003d True, true, false)", + "type": "expression" + }, + { + "fallback": "material/lock", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "material/lock_open" + }, + { + "input": true, + "output": "material/lock" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.style.classes": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Val_Fault" + }, + "transforms": [ + { + "expression": "if({value} \u003e 0 || tag({view.params.tagPath} + \"/Sts_RdyReset\") \u003d True, true, false)", + "type": "expression" + }, + { + "fallback": "States/Motor/interlock", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "States/Motor/noInterlock" + }, + { + "input": true, + "output": "States/Motor/interlock" + } + ], + "outputType": "style-list", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "marginRight": 5 + } + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "Header", + "visible": false + }, + "position": { + "basis": "50px" + }, + "props": { + "alignItems": "center", + "style": { + "borderBottomStyle": "ridge", + "classes": "Popups/General/core", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "classes": "Popups/General/label" + }, + "text": "Trend" + }, + "type": "ia.display.label" + }, + { + "custom": { + "historyTags": [ + { + "aggregate": "Minimum", + "alias": "Selected Tag" + } + ] + }, + "meta": { + "name": "TimeSeriesChart" + }, + "position": { + "basis": "400px" + }, + "propConfig": { + "custom.historyTags[0].path": { + "binding": { + "config": { + "expression": "{view.params.tagPath} + \"/Val\"" + }, + "type": "expr" + } + }, + "props.series": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "1", + "mostRecentUnits": "HOUR" + }, + "enableValueCache": true, + "ignoreBadQuality": false, + "polling": { + "enabled": false, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "100", + "type": "FIXED" + }, + "tags": "{this.custom.historyTags}", + "valueFormat": "DATASET" + }, + "type": "tag-history" + } + } + }, + "props": { + "enablePanZoom": false, + "timeRange": { + "visible": false + }, + "xTrace": { + "visible": false + } + }, + "type": "ia.chart.timeseries" + } + ], + "meta": { + "name": "Overview", + "visible": false + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{.../Nav_Menu.props.params.selectedTab}\u003d0" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "classes": "Popups/General/core", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "lbl_header" + }, + "position": { + "basis": "50px", + "grow": 1 + }, + "props": { + "text": "Device Info" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Fct_Header_Device" + }, + "position": { + "basis": "40px" + }, + "props": { + "style": { + "fontWeight": "bold" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "lbl_TagPath" + }, + "position": { + "basis": "30px" + }, + "props": { + "text": "TagPath:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_path" + }, + "position": { + "basis": "30px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_DevDesc" + }, + "position": { + "basis": "30px" + }, + "props": { + "text": "Description:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_Desc" + }, + "position": { + "basis": "30px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Cfg_Desc" + }, + "type": "tag" + } + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Fct_Core_Device" + }, + "position": { + "basis": "40px", + "grow": 1 + }, + "props": { + "direction": "column", + "style": { + "classes": "Popups/core" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "lbl_header" + }, + "position": { + "basis": "50px", + "grow": 1 + }, + "props": { + "text": "Revision Info" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Fct_Header" + }, + "position": { + "basis": "40px" + }, + "props": { + "style": { + "fontWeight": "bold" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "lbl_FcpID" + }, + "position": { + "basis": "30px" + }, + "props": { + "text": "Faceplate ID:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_ID" + }, + "position": { + "basis": "30px" + }, + "props": { + "text": "Analog Input" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_FcpRev" + }, + "position": { + "basis": "30px" + }, + "props": { + "text": "Revision:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_Rev" + }, + "position": { + "basis": "30px" + }, + "props": { + "text": "1.0.00" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Fct_Core" + }, + "position": { + "basis": "40px", + "grow": 1 + }, + "props": { + "direction": "column", + "style": { + "classes": "Popups/core" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Infos" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{.../Nav_Menu.props.params.selectedTab}\u003d99" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "classes": "Popups/General/core", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\timport time\n\tsystem.tag.writeBlocking(self.view.params.tagPath+\"/Inp_Reset\",1)\n\ttime.sleep(15)\n\tsystem.tag.writeBlocking(self.view.params.tagPath+\"/Inp_Reset\",0)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "basis": "34px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Sts_RdyReset" + }, + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "this.props.enabled" + }, + "transforms": [ + { + "fallback": "#808080", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "#808080" + }, + { + "input": true, + "output": "#000000" + } + ], + "outputType": "color", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "primary": false, + "style": { + "borderStyle": "solid", + "classes": "Popups/General/background" + }, + "text": "Reset" + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "AlarmStatusTable" + }, + "position": { + "basis": "10px", + "grow": 1 + }, + "propConfig": { + "props.filters.active.conditions.source": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "transforms": [ + { + "code": "\tvalue \u003d value.replace(\"[\",\"prov:\")\n\tvalue \u003d value.replace(\"]\",\":/tag:\")\n\tvalue \u003d\"*\"+value+\"*\"\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "columns": { + "active": { + "activeTime": { + "enabled": false + }, + "name": { + "enabled": false + }, + "priority": { + "enabled": false + }, + "source": { + "enabled": false + }, + "state": { + "enabled": false + } + } + }, + "enableAcknowledge": false, + "enableDetails": false, + "enableHeader": false, + "enableShelve": false, + "enableUnshelve": false, + "filters": { + "active": { + "conditions": {}, + "states": { + "clearUnacked": false + } + } + }, + "pager": { + "enabled": false + }, + "refreshRate": 1000, + "rowStyles": { + "activeAcked": { + "priorities": { + "low": { + "backgroundColor": "#E25353" + } + } + }, + "activeUnacked": { + "priorities": { + "low": { + "backgroundColor": "#87F2A6" + } + } + } + }, + "selection": { + "active": { + "mode": "none" + }, + "shelved": { + "mode": "none" + } + }, + "toolbar": { + "enableActiveTab": false, + "enableConfiguration": false, + "enableFilter": false, + "enableFilterResults": false, + "enablePreFilters": false, + "enableShelvedTab": false, + "enabled": false + } + }, + "type": "ia.display.alarmstatustable" + } + ], + "meta": { + "name": "Alarms" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{.../Nav_Menu.props.params.selectedTab}\u003d1" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "classes": "Popups/General/core", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "lbl_header" + }, + "position": { + "basis": "50px", + "grow": 1 + }, + "props": { + "text": "Alarm Configuration", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Fct_Header_Device" + }, + "position": { + "basis": "23px" + }, + "props": { + "style": { + "fontWeight": "bold" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Enabled" + }, + "position": { + "basis": 145 + }, + "props": { + "style": { + "fontSize": 15, + "textAlign": "center" + }, + "text": "Enabled" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmSP" + }, + "position": { + "basis": "106px" + }, + "props": { + "style": { + "fontSize": 15, + "textAlign": "center" + }, + "text": "Alarm SP" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Units" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "fontSize": 15, + "textAlign": "center" + }, + "text": "Units" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Header" + }, + "position": { + "basis": "27px" + }, + "props": { + "style": { + "marginTop": 2, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Checkbox" + }, + "position": { + "basis": "150px" + }, + "propConfig": { + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/HiHi/Cfg_Has_Alarm" + }, + "type": "tag" + } + } + }, + "props": { + "text": "HiHi" + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "value", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "100px" + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "expression": "{this.props.value}" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Cfg_HiHiLim" + }, + "type": "tag" + } + } + }, + "props": { + "mode": "protected" + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Unit" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_EU\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "High High" + }, + "position": { + "basis": "25px" + }, + "props": { + "style": { + "marginTop": 2, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Checkbox" + }, + "position": { + "basis": "150px" + }, + "propConfig": { + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Hi/Cfg_Has_Alarm" + }, + "type": "tag" + } + } + }, + "props": { + "text": "Hi" + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "value", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "100px" + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "expression": "{this.props.value}" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Cfg_HiLim" + }, + "type": "tag" + } + } + }, + "props": { + "mode": "protected" + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Unit" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_EU\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Hi" + }, + "position": { + "basis": "25px" + }, + "props": { + "style": { + "marginTop": 2, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Checkbox" + }, + "position": { + "basis": "150px" + }, + "propConfig": { + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Lo/Cfg_Has_Alarm" + }, + "type": "tag" + } + } + }, + "props": { + "text": "Lo" + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "value", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "100px" + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "expression": "{this.props.value}" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Cfg_LoLim" + }, + "type": "tag" + } + } + }, + "props": { + "mode": "protected" + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Unit" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_EU\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Lo" + }, + "position": { + "basis": "25px" + }, + "props": { + "style": { + "marginTop": 2, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Checkbox" + }, + "position": { + "basis": "150px" + }, + "propConfig": { + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/LoLo/Cfg_Has_Alarm" + }, + "type": "tag" + } + } + }, + "props": { + "text": "LoLo" + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "value", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "100px" + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "expression": "{this.props.value}" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Cfg_LoLoLim" + }, + "type": "tag" + } + } + }, + "props": { + "mode": "protected" + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Unit" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_EU\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "LoLo" + }, + "position": { + "basis": "25px" + }, + "props": { + "style": { + "marginTop": 2, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Checkbox" + }, + "position": { + "basis": "150px" + }, + "propConfig": { + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Fail/Cfg_Has_Alarm" + }, + "type": "tag" + } + } + }, + "props": { + "text": "Fail Hi" + }, + "type": "ia.input.checkbox" + }, + { + "meta": { + "name": "value", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "100px" + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "expression": "{this.props.value}" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Cfg_FailHiLim" + }, + "type": "tag" + } + } + }, + "props": { + "mode": "protected" + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Unit" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_EU\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FailHi" + }, + "position": { + "basis": "25px" + }, + "props": { + "style": { + "marginTop": 2, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Enabled" + }, + "position": { + "basis": "79px" + }, + "props": { + "style": { + "fontSize": 16, + "textAlign": "right" + }, + "text": "Fail Lo" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Unit_0" + }, + "position": { + "basis": 70 + }, + "props": { + "style": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "value", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "100px" + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "expression": "{this.props.value}" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Cfg_FailLoLim" + }, + "type": "tag" + } + } + }, + "props": { + "mode": "protected" + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Unit" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_EU\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FailLo" + }, + "position": { + "basis": "25px" + }, + "props": { + "style": { + "marginTop": 2, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Settings" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{.../Nav_Menu.props.params.selectedTab}\u003d10" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "classes": "Popups/General/core", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "lbl_header" + }, + "position": { + "basis": "50px", + "grow": 1 + }, + "props": { + "text": "Configuration\n", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Fct_Header_Device" + }, + "position": { + "basis": "38px" + }, + "props": { + "style": { + "fontWeight": "bold" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "100px" + }, + "props": { + "style": { + "textAlign": "center" + }, + "text": "Tag" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "TextField" + }, + "position": { + "basis": "175px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Cfg_Tag" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "textAlign": "center" + } + }, + "type": "ia.input.text-field" + } + ], + "meta": { + "name": "Tag" + }, + "position": { + "basis": "25px" + }, + "props": { + "style": { + "marginTop": 2, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "100px" + }, + "props": { + "style": { + "textAlign": "center" + }, + "text": "Label" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "TextField" + }, + "position": { + "basis": "175px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Cfg_Label" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "textAlign": "center" + } + }, + "type": "ia.input.text-field" + } + ], + "meta": { + "name": "Label" + }, + "position": { + "basis": "25px" + }, + "props": { + "style": { + "marginTop": 2, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "100px" + }, + "props": { + "style": { + "textAlign": "center" + }, + "text": "Description" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "TextField" + }, + "position": { + "basis": "175px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Cfg_Desc" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "textAlign": "center" + } + }, + "type": "ia.input.text-field" + } + ], + "meta": { + "name": "Description" + }, + "position": { + "basis": "25px" + }, + "props": { + "style": { + "marginTop": 2, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "100px" + }, + "props": { + "style": { + "textAlign": "center" + }, + "text": "Eng Units" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "TextField" + }, + "position": { + "basis": "100px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Cfg_EU" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "textAlign": "center" + } + }, + "type": "ia.input.text-field" + } + ], + "meta": { + "name": "Description_0" + }, + "position": { + "basis": "25px" + }, + "props": { + "style": { + "marginTop": 2, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "lbl_header" + }, + "position": { + "basis": "50px", + "grow": 1 + }, + "props": { + "text": "Scaling", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Fct_Header_2" + }, + "position": { + "basis": "38px" + }, + "props": { + "style": { + "fontWeight": "bold" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "100px" + }, + "props": { + "style": { + "textAlign": "center" + }, + "text": "Raw Max" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "value", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "100px" + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "expression": "{this.props.value}" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Cfg_InpRawMax" + }, + "type": "tag" + } + } + }, + "props": { + "mode": "protected" + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Unit" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "textAlign": "center" + }, + "text": "mA" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "RawMax" + }, + "position": { + "basis": "25px" + }, + "props": { + "style": { + "marginTop": 2, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "100px" + }, + "props": { + "style": { + "textAlign": "center" + }, + "text": "Raw Min" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "value", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "100px" + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "expression": "{this.props.value}" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Cfg_InpRawMin" + }, + "type": "tag" + } + } + }, + "props": { + "mode": "protected" + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Unit" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "textAlign": "center" + }, + "text": "mA" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "RawMax_0" + }, + "position": { + "basis": "25px" + }, + "props": { + "style": { + "marginTop": 2, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "100px" + }, + "props": { + "style": { + "textAlign": "center" + }, + "text": "Eng Max" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "value", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "100px" + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "expression": "{this.props.value}" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Cfg_PVEUMAX" + }, + "type": "tag" + } + } + }, + "props": { + "mode": "protected" + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Unit" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_EU\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "RawMax_1" + }, + "position": { + "basis": "25px" + }, + "props": { + "style": { + "marginTop": 2, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "100px" + }, + "props": { + "style": { + "textAlign": "center" + }, + "text": "Eng Min" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "value", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "100px" + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "expression": "{this.props.value}" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Cfg_PVEUMin" + }, + "type": "tag" + } + } + }, + "props": { + "mode": "protected" + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "Unit" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.tagPath} + \"/Cfg_EU\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "RawMax_2" + }, + "position": { + "basis": "25px" + }, + "props": { + "style": { + "marginTop": 2, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "PV Config" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{.../Nav_Menu.props.params.selectedTab}\u003d2" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "classes": "Popups/General/core", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Core" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/DigitalInput/Embedded Views/Nav_Menu/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/DigitalInput/Embedded Views/Nav_Menu/resource.json new file mode 100644 index 0000000..da739b0 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/DigitalInput/Embedded Views/Nav_Menu/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "cd3fa0a45b98f8fbfff8e3038b4bc54e85b9d1f903de89a4bd98e2c736626583", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/DigitalInput/Embedded Views/Nav_Menu/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/DigitalInput/Embedded Views/Nav_Menu/thumbnail.png new file mode 100644 index 0000000..6bcb90f Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/DigitalInput/Embedded Views/Nav_Menu/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/DigitalInput/Embedded Views/Nav_Menu/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/DigitalInput/Embedded Views/Nav_Menu/view.json new file mode 100644 index 0000000..e605181 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/DigitalInput/Embedded Views/Nav_Menu/view.json @@ -0,0 +1,168 @@ +{ + "custom": {}, + "params": { + "faulted": false, + "selectedTab": 0 + }, + "propConfig": { + "params.HomeSelect": { + "paramDirection": "inout", + "persistent": true + }, + "params.TrendSelect": { + "paramDirection": "inout", + "persistent": true + }, + "params.faulted": { + "paramDirection": "input", + "persistent": true + }, + "params.selectedTab": { + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 350, + "width": 50 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Overview" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.params.selectedTab": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.params.selectedTab" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "iconPath": "material/home", + "tabNumber": 0 + }, + "path": "Plant PAX/Popups/Embedded Views/Icon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "InOut" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.params.selectedTab": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.params.selectedTab" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "faulted": false, + "iconPath": "material/sync_alt", + "tabNumber": 2 + }, + "path": "Plant PAX/Popups/Embedded Views/Icon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "lbl_Separator" + }, + "position": { + "basis": "32px", + "grow": 1, + "shrink": 0 + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Settings" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.params.selectedTab": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.params.selectedTab" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "faulted": false, + "iconPath": "material/settings", + "tabNumber": 10 + }, + "path": "Plant PAX/Popups/Embedded Views/Icon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Infos" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.params.selectedTab": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.params.selectedTab" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "faulted": false, + "iconPath": "material/info", + "tabNumber": 99 + }, + "path": "Plant PAX/Popups/Embedded Views/Icon" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "Popups/General/background", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/DigitalInput/Popup/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/DigitalInput/Popup/resource.json new file mode 100644 index 0000000..19f6617 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/DigitalInput/Popup/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "8e6d7432ac8aee9c85d9bde4b07d6c8e929085698ffcf2045a47283312286306", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/DigitalInput/Popup/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/DigitalInput/Popup/thumbnail.png new file mode 100644 index 0000000..a398529 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/DigitalInput/Popup/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/DigitalInput/Popup/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/DigitalInput/Popup/view.json new file mode 100644 index 0000000..36079ff --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/DigitalInput/Popup/view.json @@ -0,0 +1,1184 @@ +{ + "custom": { + "historyTags": [ + { + "aggregate": "Minimum", + "alias": "Selected Tag" + } + ] + }, + "params": { + "tagPath": "[default]Test_Tags/P_Din" + }, + "propConfig": { + "custom.historyTags": { + "persistent": true + }, + "custom.historyTags[0].path": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "params.tagPath": { + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 300, + "width": 300 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Nav_Menu" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.params.faulted": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/TgtDisagree/Alarm" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "selectedTab": 0 + }, + "path": "ROL_Popups/DigitalInput/Embedded Views/Nav_Menu", + "style": { + "borderRightStyle": "none" + } + }, + "type": "ia.display.view" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Desc" + }, + "position": { + "basis": "10px", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Cfg_Desc" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "Popups/label", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "icn_Interlock" + }, + "position": { + "basis": "30px" + }, + "propConfig": { + "props.path": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/TgtDisagree/Alarm" + }, + "transforms": [ + { + "fallback": "material/lock", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "material/lock_open" + }, + { + "input": true, + "output": "material/lock" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.style.classes": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/TgtDisagree/Alarm" + }, + "transforms": [ + { + "fallback": "States/Motor/interlock", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "States/Motor/noInterlock" + }, + { + "input": true, + "output": "States/Motor/interlock" + } + ], + "outputType": "style-list", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "marginRight": 5 + } + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "Header" + }, + "position": { + "basis": "50px" + }, + "props": { + "alignItems": "center", + "style": { + "borderBottomStyle": "ridge", + "classes": "Popups/General/core", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "classes": "Popups/General/label" + }, + "text": "Trend" + }, + "type": "ia.display.label" + }, + { + "custom": { + "historyTags": [ + { + "aggregate": "Minimum", + "alias": "Selected Tag" + } + ] + }, + "meta": { + "name": "TimeSeriesChart" + }, + "position": { + "basis": "400px" + }, + "propConfig": { + "custom.historyTags[0].path": { + "binding": { + "config": { + "expression": "{view.params.tagPath} + \"/Val\"" + }, + "type": "expr" + } + }, + "props.series": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "1", + "mostRecentUnits": "HOUR" + }, + "ignoreBadQuality": false, + "polling": { + "enabled": false, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "100", + "type": "FIXED" + }, + "tags": "{this.custom.historyTags}", + "valueFormat": "DATASET" + }, + "type": "tag-history" + } + } + }, + "props": { + "enablePanZoom": false, + "timeRange": { + "visible": false + }, + "xTrace": { + "visible": false + } + }, + "type": "ia.chart.timeseries" + } + ], + "meta": { + "name": "Overview" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{.../Nav_Menu.props.params.selectedTab}\u003d0" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "classes": "Popups/General/core", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "lbl_header" + }, + "position": { + "basis": "50px", + "grow": 1 + }, + "props": { + "text": "Configuration\n", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Fct_Header_Device" + }, + "position": { + "basis": "38px" + }, + "props": { + "style": { + "fontWeight": "bold" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "100px" + }, + "props": { + "style": { + "textAlign": "center" + }, + "text": "Tag" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "TextField" + }, + "position": { + "basis": "175px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Cfg_Tag" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "textAlign": "center" + } + }, + "type": "ia.input.text-field" + } + ], + "meta": { + "name": "Tag" + }, + "position": { + "basis": "25px" + }, + "props": { + "style": { + "marginTop": 2, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "100px" + }, + "props": { + "style": { + "textAlign": "center" + }, + "text": "Label" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "TextField" + }, + "position": { + "basis": "175px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Cfg_Label" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "textAlign": "center" + } + }, + "type": "ia.input.text-field" + } + ], + "meta": { + "name": "Label" + }, + "position": { + "basis": "25px" + }, + "props": { + "style": { + "marginTop": 2, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "100px" + }, + "props": { + "style": { + "textAlign": "center" + }, + "text": "Description" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "TextField" + }, + "position": { + "basis": "175px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Cfg_Desc" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "textAlign": "center" + } + }, + "type": "ia.input.text-field" + } + ], + "meta": { + "name": "Description" + }, + "position": { + "basis": "25px" + }, + "props": { + "style": { + "marginTop": 2, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "100px" + }, + "props": { + "style": { + "textAlign": "center" + }, + "text": "Off Text" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "TextField" + }, + "position": { + "basis": "175px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Cfg_0stText" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "textAlign": "center" + } + }, + "type": "ia.input.text-field" + } + ], + "meta": { + "name": "Description_0" + }, + "position": { + "basis": "25px" + }, + "props": { + "style": { + "marginTop": 2, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "100px" + }, + "props": { + "style": { + "textAlign": "center" + }, + "text": "On Text" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "TextField" + }, + "position": { + "basis": "175px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Cfg_1StText" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "textAlign": "center" + } + }, + "type": "ia.input.text-field" + } + ], + "meta": { + "name": "Description_1" + }, + "position": { + "basis": "25px" + }, + "props": { + "style": { + "marginTop": 2, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Settings" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{.../Nav_Menu.props.params.selectedTab}\u003d10" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "classes": "Popups/General/core", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "lbl_header" + }, + "position": { + "basis": "50px", + "grow": 1 + }, + "props": { + "text": "Device Info" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Fct_Header_Device" + }, + "position": { + "basis": "40px" + }, + "props": { + "style": { + "fontWeight": "bold" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "lbl_TagPath" + }, + "position": { + "basis": "30px" + }, + "props": { + "text": "TagPath:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_path" + }, + "position": { + "basis": "30px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_DevDesc" + }, + "position": { + "basis": "30px" + }, + "props": { + "text": "Description:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_Desc" + }, + "position": { + "basis": "30px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Cfg_Desc" + }, + "type": "tag" + } + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Fct_Core_Device" + }, + "position": { + "basis": "40px", + "grow": 1 + }, + "props": { + "direction": "column", + "style": { + "classes": "Popups/core" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "lbl_header" + }, + "position": { + "basis": "50px", + "grow": 1 + }, + "props": { + "text": "Revision Info" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Fct_Header" + }, + "position": { + "basis": "40px" + }, + "props": { + "style": { + "fontWeight": "bold" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "lbl_FcpID" + }, + "position": { + "basis": "30px" + }, + "props": { + "text": "Faceplate ID:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_ID" + }, + "position": { + "basis": "30px" + }, + "props": { + "text": "Digital Input" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_FcpRev" + }, + "position": { + "basis": "30px" + }, + "props": { + "text": "Revision:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_Rev" + }, + "position": { + "basis": "30px" + }, + "props": { + "text": "1.0.00" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Fct_Core" + }, + "position": { + "basis": "40px", + "grow": 1 + }, + "props": { + "direction": "column", + "style": { + "classes": "Popups/core" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Infos" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{.../Nav_Menu.props.params.selectedTab}\u003d99" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "classes": "Popups/General/core", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "LabelIn" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "classes": "Popups/General/label" + }, + "text": "Inputs" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Desc" + }, + "position": { + "basis": "32px", + "grow": 1 + }, + "props": { + "style": { + "classes": "Popups/General/description" + }, + "text": "Digital input:" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "circle" + }, + "propConfig": { + "props.style.classes": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Inp_PV" + }, + "transforms": [ + { + "fallback": "", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "Popups/General/InOutStateOff" + }, + { + "input": true, + "output": "Popups/General/InOutStateOn" + } + ], + "outputType": "style-list", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "cx": 250, + "cy": "250", + "r": "210", + "style": { + "stroke": "#000000", + "strokeWidth": 3 + } + }, + "type": "ia.shapes.circle" + } + ], + "meta": { + "name": "Esb_FillPipe" + }, + "position": { + "basis": "32px" + }, + "props": { + "viewBox": "0 0 500 500" + }, + "type": "ia.container.drawing" + } + ], + "meta": { + "name": "HomeSig" + }, + "position": { + "basis": "25px" + }, + "props": { + "style": { + "marginTop": 2, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "InOut" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{.../Nav_Menu.props.params.selectedTab}\u003d2" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "classes": "Popups/General/core", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Core" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "Screen Width:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "page.props.dimensions.screen.width" + }, + "type": "property" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "Screen Height:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "page.props.dimensions.screen.height" + }, + "type": "property" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_3" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "Breakpoint:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_4" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "session.custom.breakpoint" + }, + "type": "property" + } + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "200px" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/DigitalInput/Popup_20220520_1335/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/DigitalInput/Popup_20220520_1335/resource.json new file mode 100644 index 0000000..939fb6d --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/DigitalInput/Popup_20220520_1335/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "0cde556d944ef4cbcff3a0107a16d5c691097c01a4adcefac8726a6a522543ad", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:09Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/DigitalInput/Popup_20220520_1335/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/DigitalInput/Popup_20220520_1335/thumbnail.png new file mode 100644 index 0000000..c72b1a9 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/DigitalInput/Popup_20220520_1335/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/DigitalInput/Popup_20220520_1335/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/DigitalInput/Popup_20220520_1335/view.json new file mode 100644 index 0000000..1b07c59 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/DigitalInput/Popup_20220520_1335/view.json @@ -0,0 +1,1077 @@ +{ + "custom": { + "historyTags": [ + { + "aggregate": "Minimum", + "alias": "Selected Tag" + } + ] + }, + "params": { + "tagPath": "[default]Test_Tags/P_Din" + }, + "propConfig": { + "custom.historyTags": { + "persistent": true + }, + "custom.historyTags[0].path": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + }, + "params.tagPath": { + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 300, + "width": 300 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Nav_Menu" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.params.faulted": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/TgtDisagree/Alarm" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "selectedTab": 0 + }, + "path": "ROL_Popups/DigitalInput/Embedded Views/Nav_Menu", + "style": { + "borderRightStyle": "none" + } + }, + "type": "ia.display.view" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Desc" + }, + "position": { + "basis": "10px", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Cfg_Desc" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "Popups/label", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "icn_Interlock" + }, + "position": { + "basis": "30px" + }, + "propConfig": { + "props.path": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/TgtDisagree/Alarm" + }, + "transforms": [ + { + "fallback": "material/lock", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "material/lock_open" + }, + { + "input": true, + "output": "material/lock" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.style.classes": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/TgtDisagree/Alarm" + }, + "transforms": [ + { + "fallback": "States/Motor/interlock", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "States/Motor/noInterlock" + }, + { + "input": true, + "output": "States/Motor/interlock" + } + ], + "outputType": "style-list", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "marginRight": 5 + } + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "Header" + }, + "position": { + "basis": "50px" + }, + "props": { + "alignItems": "center", + "style": { + "borderBottomStyle": "ridge", + "classes": "Popups/General/core", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "classes": "Popups/General/label" + }, + "text": "Trend" + }, + "type": "ia.display.label" + }, + { + "custom": { + "historyTags": [ + { + "aggregate": "Minimum", + "alias": "Selected Tag" + } + ] + }, + "meta": { + "name": "TimeSeriesChart" + }, + "position": { + "basis": "400px" + }, + "propConfig": { + "custom.historyTags[0].path": { + "binding": { + "config": { + "expression": "{view.params.tagPath} + \"/Val\"" + }, + "type": "expr" + } + }, + "props.series": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "1", + "mostRecentUnits": "HOUR" + }, + "ignoreBadQuality": false, + "polling": { + "enabled": false, + "rate": "30" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "numRows": "100", + "type": "FIXED" + }, + "tags": "{this.custom.historyTags}", + "valueFormat": "DATASET" + }, + "type": "tag-history" + } + } + }, + "props": { + "enablePanZoom": false, + "timeRange": { + "visible": false + }, + "xTrace": { + "visible": false + } + }, + "type": "ia.chart.timeseries" + } + ], + "meta": { + "name": "Overview" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{.../Nav_Menu.props.params.selectedTab}\u003d0" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "classes": "Popups/General/core", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "lbl_header" + }, + "position": { + "basis": "50px", + "grow": 1 + }, + "props": { + "text": "Configuration\n", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Fct_Header_Device" + }, + "position": { + "basis": "38px" + }, + "props": { + "style": { + "fontWeight": "bold" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "100px" + }, + "props": { + "style": { + "textAlign": "center" + }, + "text": "Tag" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "TextField" + }, + "position": { + "basis": "175px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Cfg_Tag" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "textAlign": "center" + } + }, + "type": "ia.input.text-field" + } + ], + "meta": { + "name": "Tag" + }, + "position": { + "basis": "25px" + }, + "props": { + "style": { + "marginTop": 2, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "100px" + }, + "props": { + "style": { + "textAlign": "center" + }, + "text": "Label" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "TextField" + }, + "position": { + "basis": "175px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Cfg_Label" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "textAlign": "center" + } + }, + "type": "ia.input.text-field" + } + ], + "meta": { + "name": "Label" + }, + "position": { + "basis": "25px" + }, + "props": { + "style": { + "marginTop": 2, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "100px" + }, + "props": { + "style": { + "textAlign": "center" + }, + "text": "Description" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "TextField" + }, + "position": { + "basis": "175px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Cfg_Desc" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "textAlign": "center" + } + }, + "type": "ia.input.text-field" + } + ], + "meta": { + "name": "Description" + }, + "position": { + "basis": "25px" + }, + "props": { + "style": { + "marginTop": 2, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "100px" + }, + "props": { + "style": { + "textAlign": "center" + }, + "text": "Off Text" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "TextField" + }, + "position": { + "basis": "175px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Cfg_0stText" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "textAlign": "center" + } + }, + "type": "ia.input.text-field" + } + ], + "meta": { + "name": "Description_0" + }, + "position": { + "basis": "25px" + }, + "props": { + "style": { + "marginTop": 2, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "100px" + }, + "props": { + "style": { + "textAlign": "center" + }, + "text": "On Text" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "TextField" + }, + "position": { + "basis": "175px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Cfg_1StText" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "textAlign": "center" + } + }, + "type": "ia.input.text-field" + } + ], + "meta": { + "name": "Description_1" + }, + "position": { + "basis": "25px" + }, + "props": { + "style": { + "marginTop": 2, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Settings" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{.../Nav_Menu.props.params.selectedTab}\u003d10" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "classes": "Popups/General/core", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "lbl_header" + }, + "position": { + "basis": "50px", + "grow": 1 + }, + "props": { + "text": "Device Info" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Fct_Header_Device" + }, + "position": { + "basis": "40px" + }, + "props": { + "style": { + "fontWeight": "bold" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "lbl_TagPath" + }, + "position": { + "basis": "30px" + }, + "props": { + "text": "TagPath:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_path" + }, + "position": { + "basis": "30px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_DevDesc" + }, + "position": { + "basis": "30px" + }, + "props": { + "text": "Description:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_Desc" + }, + "position": { + "basis": "30px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Cfg_Desc" + }, + "type": "tag" + } + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Fct_Core_Device" + }, + "position": { + "basis": "40px", + "grow": 1 + }, + "props": { + "direction": "column", + "style": { + "classes": "Popups/core" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "lbl_header" + }, + "position": { + "basis": "50px", + "grow": 1 + }, + "props": { + "text": "Revision Info" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Fct_Header" + }, + "position": { + "basis": "40px" + }, + "props": { + "style": { + "fontWeight": "bold" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "lbl_FcpID" + }, + "position": { + "basis": "30px" + }, + "props": { + "text": "Faceplate ID:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_ID" + }, + "position": { + "basis": "30px" + }, + "props": { + "text": "Digital Input" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_FcpRev" + }, + "position": { + "basis": "30px" + }, + "props": { + "text": "Revision:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_Rev" + }, + "position": { + "basis": "30px" + }, + "props": { + "text": "1.0.00" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Fct_Core" + }, + "position": { + "basis": "40px", + "grow": 1 + }, + "props": { + "direction": "column", + "style": { + "classes": "Popups/core" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Infos" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{.../Nav_Menu.props.params.selectedTab}\u003d99" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "classes": "Popups/General/core", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "LabelIn" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "classes": "Popups/General/label" + }, + "text": "Inputs" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Desc" + }, + "position": { + "basis": "32px", + "grow": 1 + }, + "props": { + "style": { + "classes": "Popups/General/description" + }, + "text": "Digital input:" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "circle" + }, + "propConfig": { + "props.style.classes": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Inp_PV" + }, + "transforms": [ + { + "fallback": "", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "Popups/General/InOutStateOff" + }, + { + "input": true, + "output": "Popups/General/InOutStateOn" + } + ], + "outputType": "style-list", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "cx": 250, + "cy": "250", + "r": "210", + "style": { + "stroke": "#000000", + "strokeWidth": 3 + } + }, + "type": "ia.shapes.circle" + } + ], + "meta": { + "name": "Esb_FillPipe" + }, + "position": { + "basis": "32px" + }, + "props": { + "viewBox": "0 0 500 500" + }, + "type": "ia.container.drawing" + } + ], + "meta": { + "name": "HomeSig" + }, + "position": { + "basis": "25px" + }, + "props": { + "style": { + "marginTop": 2, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "InOut" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{.../Nav_Menu.props.params.selectedTab}\u003d2" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "classes": "Popups/General/core", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Core" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/DigitalOutput/Embedded Views/Nav_Menu/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/DigitalOutput/Embedded Views/Nav_Menu/resource.json new file mode 100644 index 0000000..072b36a --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/DigitalOutput/Embedded Views/Nav_Menu/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "22d03c22c9be379916fac7182eaa5d6b03a5d7e723423d9da330dd65f5f97cbc", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/DigitalOutput/Embedded Views/Nav_Menu/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/DigitalOutput/Embedded Views/Nav_Menu/thumbnail.png new file mode 100644 index 0000000..7393baa Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/DigitalOutput/Embedded Views/Nav_Menu/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/DigitalOutput/Embedded Views/Nav_Menu/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/DigitalOutput/Embedded Views/Nav_Menu/view.json new file mode 100644 index 0000000..94fade4 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/DigitalOutput/Embedded Views/Nav_Menu/view.json @@ -0,0 +1,140 @@ +{ + "custom": {}, + "params": { + "faulted": false, + "selectedTab": 0 + }, + "propConfig": { + "params.HomeSelect": { + "paramDirection": "inout", + "persistent": true + }, + "params.TrendSelect": { + "paramDirection": "inout", + "persistent": true + }, + "params.faulted": { + "paramDirection": "input", + "persistent": true + }, + "params.selectedTab": { + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 350, + "width": 50 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Overview" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.params.selectedTab": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.params.selectedTab" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "iconPath": "material/home", + "tabNumber": 0 + }, + "path": "Plant PAX/Popups/Embedded Views/Icon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "InOut" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.params.selectedTab": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.params.selectedTab" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "faulted": false, + "iconPath": "material/sync_alt", + "tabNumber": 2 + }, + "path": "Plant PAX/Popups/Embedded Views/Icon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "lbl_Separator" + }, + "position": { + "basis": "32px", + "grow": 1, + "shrink": 0 + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Infos" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.params.selectedTab": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.params.selectedTab" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "faulted": false, + "iconPath": "material/info", + "tabNumber": 99 + }, + "path": "Plant PAX/Popups/Embedded Views/Icon" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "Popups/General/background", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/DigitalOutput/Popup/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/DigitalOutput/Popup/resource.json new file mode 100644 index 0000000..83efdf7 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/DigitalOutput/Popup/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "dd81145b8116eec14466e04090a7d893de46f6bcacec90d6f307de2b9f28ec6d", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:09Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/DigitalOutput/Popup/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/DigitalOutput/Popup/thumbnail.png new file mode 100644 index 0000000..1dbd05c Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/DigitalOutput/Popup/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/DigitalOutput/Popup/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/DigitalOutput/Popup/view.json new file mode 100644 index 0000000..b505c73 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/DigitalOutput/Popup/view.json @@ -0,0 +1,902 @@ +{ + "custom": {}, + "params": { + "tagPath": "[default]ROL/Do01" + }, + "propConfig": { + "params.tagPath": { + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 300, + "width": 300 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Nav_Menu" + }, + "position": { + "basis": "50px" + }, + "props": { + "params": { + "faulted": false, + "selectedTab": 0 + }, + "path": "Plant PAX/Popups/DigitalOutput/Embedded Views/Nav_Menu", + "style": { + "borderRightStyle": "none" + } + }, + "type": "ia.display.view" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "State" + }, + "position": { + "basis": "30px" + }, + "propConfig": { + "props.style.classes": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "TagPath": "{view.params.tagPath}" + }, + "tagPath": "{TagPath}/HMI_DigitalOutput/bCommand" + }, + "transforms": [ + { + "fallback": "States/DigitalOutput/off", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "States/DigitalOutput/off" + }, + { + "input": true, + "output": "States/DigitalOutput/on" + } + ], + "outputType": "style-list", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderStyle": "solid", + "marginLeft": 10, + "marginRight": 10 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Desc" + }, + "position": { + "basis": "10px", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "../State.props.style.classes" + }, + "transforms": [ + { + "code": "\tstring \u003d value\n\tlastSeparator \u003d string.rfind(\"/\")\n\tlenString \u003d len(string)\n\tstate \u003d string[lastSeparator+1:lenString]\n\treturn state.title()", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Popups/label", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "icn_Interlock" + }, + "position": { + "basis": "30px" + }, + "propConfig": { + "props.path": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/HMI_DigitalOutput/bInterlock" + }, + "transforms": [ + { + "fallback": "material/lock", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "material/lock_open" + }, + { + "input": true, + "output": "material/lock" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.style.classes": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/HMI_DigitalOutput/bInterlock" + }, + "transforms": [ + { + "fallback": "States/DigitalOutput/interlock", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "States/DigitalOutput/noInterlock" + }, + { + "input": true, + "output": "States/DigitalOutput/interlock" + } + ], + "outputType": "style-list", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "marginRight": 5 + } + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "Header" + }, + "position": { + "basis": "50px" + }, + "props": { + "alignItems": "center", + "style": { + "borderBottomStyle": "ridge", + "classes": "Popups/General/core", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "classes": "Popups/General/label" + }, + "text": "Mode" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "MultiStateButton" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.controlValue": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/HMI_DigitalOutput/iMode" + }, + "type": "tag" + } + }, + "props.enabled": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/iInMode" + }, + "transforms": [ + { + "expression": "if(isNull({value}),toboolean(0),toBoolean({value}\u003d10))", + "type": "expression" + } + ], + "type": "tag" + } + }, + "props.indicatorValue": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/HMI_DigitalOutput/iMode" + }, + "type": "tag" + } + } + }, + "props": { + "orientation": "row", + "states": [ + { + "selectedStyle": { + "classes": "States/ValveSolenoid/auto" + }, + "text": "Auto", + "unselectedStyle": { + "classes": "States/ValveSolenoid/noMode" + }, + "value": 1 + }, + { + "selectedStyle": { + "classes": "States/ValveSolenoid/hand" + }, + "text": "Hand", + "unselectedStyle": { + "classes": "States/ValveSolenoid/noMode" + }, + "value": 2 + } + ], + "style": { + "marginLeft": 5, + "marginRight": 5 + } + }, + "type": "ia.input.multi-state-button" + }, + { + "children": [ + { + "meta": { + "name": "lbl_Hand_Cmd" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "classes": "Popups/General/label" + }, + "text": "Hand commands" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.writeBlocking(self.view.params.tagPath+\"/HMI_DigitalOutput/bPB_On\",1)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "btn_On" + }, + "position": { + "basis": "34px", + "grow": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/HMI_DigitalOutput/bPBEN_On" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "States/ValveSolenoid/noMode", + "marginLeft": 5, + "marginRight": 2 + }, + "text": "On" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.writeBlocking(self.view.params.tagPath+\"/HMI_DigitalOutput/bPB_Off\",1)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "btn_Off" + }, + "position": { + "basis": "34px", + "grow": 1 + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/HMI_DigitalOutput/bPBEN_Off" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "States/ValveSolenoid/noMode", + "marginLeft": 2, + "marginRight": 5 + }, + "text": "Off" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "HandCmd" + }, + "position": { + "basis": "85px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/HMI_DigitalOutput/iMode" + }, + "transforms": [ + { + "code": "\tinHand \u003d (value \u003d\u003d 2)\n\treturn inHand", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Overview" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{.../Nav_Menu.props.params.selectedTab}\u003d0" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "classes": "Popups/General/core", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "lbl_header" + }, + "position": { + "basis": "50px", + "grow": 1 + }, + "props": { + "text": "Device Info" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Fct_Header_Device" + }, + "position": { + "basis": "40px" + }, + "props": { + "style": { + "fontWeight": "bold" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "lbl_TagPath" + }, + "position": { + "basis": "30px" + }, + "props": { + "text": "TagPath:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_path" + }, + "position": { + "basis": "30px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_DevDesc" + }, + "position": { + "basis": "30px" + }, + "props": { + "text": "Description:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_Desc" + }, + "position": { + "basis": "30px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}.Description" + }, + "type": "tag" + } + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Fct_Core_Device" + }, + "position": { + "basis": "40px", + "grow": 1 + }, + "props": { + "direction": "column", + "style": { + "classes": "Popups/core" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "lbl_header" + }, + "position": { + "basis": "50px", + "grow": 1 + }, + "props": { + "text": "Revision Info" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Fct_Header" + }, + "position": { + "basis": "40px" + }, + "props": { + "style": { + "fontWeight": "bold" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "lbl_FcpID" + }, + "position": { + "basis": "30px" + }, + "props": { + "text": "Faceplate ID:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_ID" + }, + "position": { + "basis": "30px" + }, + "props": { + "text": "Digital Output" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_FcpRev" + }, + "position": { + "basis": "30px" + }, + "props": { + "text": "Revision:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_Rev" + }, + "position": { + "basis": "30px" + }, + "props": { + "text": "1.0.00" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Fct_Core" + }, + "position": { + "basis": "40px", + "grow": 1 + }, + "props": { + "direction": "column", + "style": { + "classes": "Popups/core" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Infos" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{.../Nav_Menu.props.params.selectedTab}\u003d99" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "classes": "Popups/General/core", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "LabelIn" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "classes": "Popups/General/label" + }, + "text": "Outputs" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Desc" + }, + "position": { + "basis": "32px", + "grow": 1 + }, + "props": { + "style": { + "classes": "Popups/General/description" + }, + "text": "Digital output:" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "circle" + }, + "propConfig": { + "props.style.classes": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/HMI_DigitalOutput/bCommand" + }, + "transforms": [ + { + "fallback": "", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "Popups/General/InOutStateOff" + }, + { + "input": true, + "output": "Popups/General/InOutStateOn" + } + ], + "outputType": "style-list", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "cx": 250, + "cy": "250", + "r": "210", + "style": { + "stroke": "#000000", + "strokeWidth": 3 + } + }, + "type": "ia.shapes.circle" + } + ], + "meta": { + "name": "Esb_FillPipe" + }, + "position": { + "basis": "32px" + }, + "props": { + "viewBox": "0 0 500 500" + }, + "type": "ia.container.drawing" + } + ], + "meta": { + "name": "HomeSig" + }, + "position": { + "basis": "25px" + }, + "props": { + "style": { + "marginTop": 2, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "InOut" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{.../Nav_Menu.props.params.selectedTab}\u003d2" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "classes": "Popups/General/core", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Core" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/Embedded Views/Icon/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/Embedded Views/Icon/resource.json new file mode 100644 index 0000000..89d28fa --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/Embedded Views/Icon/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "a9348006e80044e955d10794fb3ab81478f051cb443530e0375cce0856016e6b", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/Embedded Views/Icon/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/Embedded Views/Icon/thumbnail.png new file mode 100644 index 0000000..acd492e Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/Embedded Views/Icon/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/Embedded Views/Icon/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/Embedded Views/Icon/view.json new file mode 100644 index 0000000..e82d52d --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/Embedded Views/Icon/view.json @@ -0,0 +1,123 @@ +{ + "custom": {}, + "params": { + "faulted": false, + "iconPath": "material/home", + "selectedTab": 0, + "tabNumber": 0 + }, + "propConfig": { + "params.faulted": { + "paramDirection": "input", + "persistent": true + }, + "params.iconPath": { + "paramDirection": "input", + "persistent": true + }, + "params.selectedTab": { + "paramDirection": "inout", + "persistent": true + }, + "params.tabNumber": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 50, + "width": 50 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "icon" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.path": { + "binding": { + "config": { + "path": "view.params.iconPath" + }, + "type": "property" + } + }, + "props.style.classes": { + "binding": { + "config": { + "path": "view.params.faulted" + }, + "transforms": [ + { + "fallback": "Popups/Icons/normal", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "Popups/Icons/faulted" + } + ], + "outputType": "style-list", + "type": "map" + } + ], + "type": "property" + } + } + }, + "type": "ia.display.icon" + } + ], + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.selectedTab\u003dself.view.params.tabNumber" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "root" + }, + "propConfig": { + "props.style.classes": { + "binding": { + "config": { + "expression": "{view.params.selectedTab}\u003d{view.params.tabNumber}" + }, + "transforms": [ + { + "fallback": "Popups/Navigation/Unselected", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "Popups/Navigation/Selected" + } + ], + "outputType": "style-list", + "type": "map" + } + ], + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/Motor/Embedded Views/Nav_Menu/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/Motor/Embedded Views/Nav_Menu/resource.json new file mode 100644 index 0000000..9dc8d25 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/Motor/Embedded Views/Nav_Menu/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "989cf0eef0cc0b4dacb7192e07c77b501fb26bd3c548eef70a27a1d9e55be2da", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/Motor/Embedded Views/Nav_Menu/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/Motor/Embedded Views/Nav_Menu/thumbnail.png new file mode 100644 index 0000000..b202952 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/Motor/Embedded Views/Nav_Menu/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/Motor/Embedded Views/Nav_Menu/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/Motor/Embedded Views/Nav_Menu/view.json new file mode 100644 index 0000000..65fc77b --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/Motor/Embedded Views/Nav_Menu/view.json @@ -0,0 +1,203 @@ +{ + "custom": {}, + "params": { + "faulted": false, + "selectedTab": 0 + }, + "propConfig": { + "params.HomeSelect": { + "paramDirection": "inout", + "persistent": true + }, + "params.TrendSelect": { + "paramDirection": "inout", + "persistent": true + }, + "params.faulted": { + "paramDirection": "input", + "persistent": true + }, + "params.selectedTab": { + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 350, + "width": 50 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Overview" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.params.selectedTab": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.params.selectedTab" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "iconPath": "material/home", + "tabNumber": 0 + }, + "path": "Plant PAX/Popups/Embedded Views/Icon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Alarms" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.params.faulted": { + "binding": { + "config": { + "path": "view.params.faulted" + }, + "type": "property" + } + }, + "props.params.selectedTab": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.params.selectedTab" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "iconPath": "material/alarm", + "tabNumber": 1 + }, + "path": "Plant PAX/Popups/Embedded Views/Icon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "InOut" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.params.selectedTab": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.params.selectedTab" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "faulted": false, + "iconPath": "material/sync_alt", + "tabNumber": 2 + }, + "path": "Plant PAX/Popups/Embedded Views/Icon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "lbl_Separator" + }, + "position": { + "basis": "32px", + "grow": 1, + "shrink": 0 + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Settings" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.params.selectedTab": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.params.selectedTab" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "faulted": false, + "iconPath": "material/settings", + "tabNumber": 10 + }, + "path": "Plant PAX/Popups/Embedded Views/Icon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Infos" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.params.selectedTab": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.params.selectedTab" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "faulted": false, + "iconPath": "material/info", + "tabNumber": 99 + }, + "path": "Plant PAX/Popups/Embedded Views/Icon" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "Popups/General/background", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/Motor/Popup/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/Motor/Popup/resource.json new file mode 100644 index 0000000..c66d4d6 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/Motor/Popup/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "f75c7b0be6aa2af8a313b4a3db983db686322639c70d3d100d10166cae354bfb", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:11Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/Motor/Popup/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/Motor/Popup/thumbnail.png new file mode 100644 index 0000000..2ebd3f4 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/Motor/Popup/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/Motor/Popup/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/Motor/Popup/view.json new file mode 100644 index 0000000..3595197 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/Motor/Popup/view.json @@ -0,0 +1,1373 @@ +{ + "custom": {}, + "params": { + "tagPath": "[default]Test_Tags/P_Motor" + }, + "propConfig": { + "params.tagPath": { + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 350, + "width": 350 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Nav_Menu" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.params.faulted": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Val_Fault" + }, + "transforms": [ + { + "expression": "if({value} \u003e 0, True, False)", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "params": { + "selectedTab": 0 + }, + "path": "Plant PAX/Popups/Motor/Embedded Views/Nav_Menu", + "style": { + "borderRightStyle": "none" + } + }, + "type": "ia.display.view" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Desc" + }, + "position": { + "basis": "10px", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Cfg_Desc" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "Popups/label", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "icn_Interlock" + }, + "position": { + "basis": "30px" + }, + "propConfig": { + "props.path": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Val_Fault" + }, + "transforms": [ + { + "expression": "if({value} \u003e 0, True, False)", + "type": "expression" + }, + { + "fallback": "material/lock", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "material/lock_open" + }, + { + "input": true, + "output": "material/lock" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.style.classes": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Val_Fault" + }, + "transforms": [ + { + "expression": "if({value} \u003e 0, True, False)", + "type": "expression" + }, + { + "fallback": "States/Motor/interlock", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "States/Motor/noInterlock" + }, + { + "input": true, + "output": "States/Motor/interlock" + } + ], + "outputType": "style-list", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "marginRight": 5 + } + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "icn_Simulate" + }, + "position": { + "basis": "30px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/bInSimulate" + }, + "type": "tag" + } + } + }, + "props": { + "path": "material/pan_tool", + "style": { + "classes": "States/ValveSolenoid/noInterlock", + "marginRight": 5 + } + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "Header" + }, + "position": { + "basis": "50px" + }, + "props": { + "alignItems": "center", + "style": { + "borderBottomStyle": "ridge", + "classes": "Popups/General/core", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "classes": "Popups/General/label" + }, + "text": "Mode" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "lbl_Hand_Cmd" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "classes": "Popups/General/label" + }, + "text": "Hand commands" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.writeBlocking(self.view.params.tagPath+\"/PCmd_Start\",1)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "btn_Forward" + }, + "position": { + "basis": "40px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/HMI_MotorControl/bPBEN_Forward" + }, + "type": "tag" + } + }, + "props.enabled": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/HMI_MotorControl/bPBEN_Forward" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "States/Motor/noMode", + "marginBottom": 2, + "marginLeft": 5, + "marginRight": 5 + }, + "text": "Start" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.writeBlocking(self.view.params.tagPath+\"/PCmd_Stop\",1)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "btn_Stop" + }, + "position": { + "basis": "40px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/HMI_MotorControl/bPBEN_Stop" + }, + "type": "tag" + } + }, + "props.enabled": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/HMI_MotorControl/bPBEN_Stop" + }, + "enabled": false, + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "States/Motor/noMode", + "marginBottom": 2, + "marginLeft": 5, + "marginRight": 5 + }, + "text": "Stop" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "120px" + }, + "props": { + "direction": "column", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "HandCmd" + }, + "position": { + "basis": "160px" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Overview" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{.../Nav_Menu.props.params.selectedTab}\u003d0" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "classes": "Popups/General/core", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "lbl_header" + }, + "position": { + "basis": "50px", + "grow": 1 + }, + "props": { + "text": "Configuration\n", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Fct_Header_Device" + }, + "position": { + "basis": "38px" + }, + "props": { + "style": { + "fontWeight": "bold" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "100px" + }, + "props": { + "style": { + "textAlign": "center" + }, + "text": "Tag" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "TextField" + }, + "position": { + "basis": "175px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Cfg_Tag" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "textAlign": "center" + } + }, + "type": "ia.input.text-field" + } + ], + "meta": { + "name": "Tag" + }, + "position": { + "basis": "25px" + }, + "props": { + "style": { + "marginTop": 2, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "100px" + }, + "props": { + "style": { + "textAlign": "center" + }, + "text": "Label" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "TextField" + }, + "position": { + "basis": "175px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Cfg_Label" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "textAlign": "center" + } + }, + "type": "ia.input.text-field" + } + ], + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "25px" + }, + "props": { + "style": { + "marginTop": 2, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "100px" + }, + "props": { + "style": { + "textAlign": "center" + }, + "text": "Description" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "TextField" + }, + "position": { + "basis": "175px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Cfg_Desc" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "textAlign": "center" + } + }, + "type": "ia.input.text-field" + } + ], + "meta": { + "name": "Description" + }, + "position": { + "basis": "25px" + }, + "props": { + "style": { + "marginTop": 2, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Settings" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{.../Nav_Menu.props.params.selectedTab}\u003d10" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "classes": "Popups/General/core", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "lbl_header" + }, + "position": { + "basis": "50px", + "grow": 1 + }, + "props": { + "text": "Device Info" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Fct_Header_Device" + }, + "position": { + "basis": "40px" + }, + "props": { + "style": { + "fontWeight": "bold" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "lbl_TagPath" + }, + "position": { + "basis": "30px" + }, + "props": { + "text": "TagPath:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_path" + }, + "position": { + "basis": "30px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_DevDesc" + }, + "position": { + "basis": "30px" + }, + "props": { + "text": "Description:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_Desc" + }, + "position": { + "basis": "30px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Cfg_Desc" + }, + "type": "tag" + } + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Fct_Core_Device" + }, + "position": { + "basis": "40px", + "grow": 1 + }, + "props": { + "direction": "column", + "style": { + "classes": "Popups/core" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "lbl_header" + }, + "position": { + "basis": "50px", + "grow": 1 + }, + "props": { + "text": "Revision Info" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Fct_Header" + }, + "position": { + "basis": "40px" + }, + "props": { + "style": { + "fontWeight": "bold" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "lbl_FcpID" + }, + "position": { + "basis": "30px" + }, + "props": { + "text": "Faceplate ID:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_ID" + }, + "position": { + "basis": "30px" + }, + "props": { + "text": "Motor Reversing Control" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_FcpRev" + }, + "position": { + "basis": "30px" + }, + "props": { + "text": "Revision:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_Rev" + }, + "position": { + "basis": "30px" + }, + "props": { + "text": "1.0.00" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Fct_Core" + }, + "position": { + "basis": "40px", + "grow": 1 + }, + "props": { + "direction": "column", + "style": { + "classes": "Popups/core" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Infos" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{.../Nav_Menu.props.params.selectedTab}\u003d99" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "classes": "Popups/General/core", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "LabelIn" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "classes": "Popups/General/label" + }, + "text": "Inputs" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Desc" + }, + "position": { + "basis": "32px", + "grow": 1 + }, + "props": { + "style": { + "classes": "Popups/General/description" + }, + "text": "Run Feedback:" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "circle" + }, + "propConfig": { + "props.style.classes": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Inp_RunFdbk" + }, + "transforms": [ + { + "fallback": "", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "Popups/General/InOutStateOff" + }, + { + "input": true, + "output": "Popups/General/InOutStateOn" + } + ], + "outputType": "style-list", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "cx": 250, + "cy": "250", + "r": "210", + "style": { + "stroke": "#000000", + "strokeWidth": 3 + } + }, + "type": "ia.shapes.circle" + } + ], + "meta": { + "name": "Esb_FillPipe" + }, + "position": { + "basis": "32px" + }, + "props": { + "viewBox": "0 0 500 500" + }, + "type": "ia.container.drawing" + } + ], + "meta": { + "name": "HomeSig" + }, + "position": { + "basis": "25px" + }, + "props": { + "style": { + "marginTop": 2, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "LabelOut" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "classes": "Popups/General/label" + }, + "text": "Outputs" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Desc" + }, + "position": { + "basis": "32px", + "grow": 1 + }, + "props": { + "style": { + "classes": "Popups/General/description" + }, + "text": "Run Command:" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "circle" + }, + "propConfig": { + "props.style.classes": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Out_Run" + }, + "transforms": [ + { + "fallback": "", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "Popups/General/InOutStateOff" + }, + { + "input": 1, + "output": "Popups/General/InOutStateOn" + } + ], + "outputType": "style-list", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "cx": 250, + "cy": "250", + "r": "210", + "style": { + "stroke": "#000000", + "strokeWidth": 3 + } + }, + "type": "ia.shapes.circle" + } + ], + "meta": { + "name": "Esb_FillPipe" + }, + "position": { + "basis": "32px" + }, + "props": { + "viewBox": "0 0 500 500" + }, + "type": "ia.container.drawing" + } + ], + "meta": { + "name": "HomeCmd" + }, + "position": { + "basis": "25px" + }, + "props": { + "style": { + "marginTop": 2, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "InOut" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{.../Nav_Menu.props.params.selectedTab}\u003d2" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "classes": "Popups/General/core", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.writeBlocking(self.view.params.tagPath+\"/PCmd_Reset\",1)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "basis": "34px" + }, + "propConfig": { + "props.textStyle.color": { + "binding": { + "config": { + "path": "this.props.enabled" + }, + "transforms": [ + { + "fallback": "#808080", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "#808080" + }, + { + "input": true, + "output": "#000000" + } + ], + "outputType": "color", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "primary": false, + "style": { + "borderStyle": "solid", + "classes": "Popups/General/background" + }, + "text": "Reset" + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "AlarmStatusTable" + }, + "position": { + "basis": "10px", + "grow": 1 + }, + "propConfig": { + "props.filters.active.conditions.source": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "transforms": [ + { + "code": "\tvalue \u003d value.replace(\"[\",\"prov:\")\n\tvalue \u003d value.replace(\"]\",\":/tag:\")\n\tvalue \u003d\"*\"+value+\"*\"\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "columns": { + "active": { + "activeTime": { + "enabled": false + }, + "name": { + "enabled": false + }, + "priority": { + "enabled": false + }, + "source": { + "enabled": false + }, + "state": { + "enabled": false + } + } + }, + "enableAcknowledge": false, + "enableDetails": false, + "enableHeader": false, + "enableShelve": false, + "enableUnshelve": false, + "filters": { + "active": { + "conditions": {}, + "states": { + "clearUnacked": false + } + } + }, + "pager": { + "enabled": false + }, + "refreshRate": 1000, + "rowStyles": { + "activeAcked": { + "priorities": { + "low": { + "backgroundColor": "#E25353" + } + } + }, + "activeUnacked": { + "priorities": { + "low": { + "backgroundColor": "#00FF00", + "color": "#000000" + } + } + } + }, + "selection": { + "active": { + "mode": "none" + }, + "shelved": { + "mode": "none" + } + }, + "toolbar": { + "enableActiveTab": false, + "enableConfiguration": false, + "enableFilter": false, + "enableFilterResults": false, + "enablePreFilters": false, + "enableShelvedTab": false, + "enabled": false + } + }, + "type": "ia.display.alarmstatustable" + } + ], + "meta": { + "name": "Alarms" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{.../Nav_Menu.props.params.selectedTab}\u003d1" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "classes": "Popups/General/core", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Core" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/ValveSolenoid/Embedded Views/Nav_Menu/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/ValveSolenoid/Embedded Views/Nav_Menu/resource.json new file mode 100644 index 0000000..7baf57d --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/ValveSolenoid/Embedded Views/Nav_Menu/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "891cb12205a4cfbd64b1a0530a840e8e5425193fea258a12fc85f0e02d35f0df", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/ValveSolenoid/Embedded Views/Nav_Menu/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/ValveSolenoid/Embedded Views/Nav_Menu/thumbnail.png new file mode 100644 index 0000000..ca4cc09 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/ValveSolenoid/Embedded Views/Nav_Menu/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/ValveSolenoid/Embedded Views/Nav_Menu/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/ValveSolenoid/Embedded Views/Nav_Menu/view.json new file mode 100644 index 0000000..65fc77b --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/ValveSolenoid/Embedded Views/Nav_Menu/view.json @@ -0,0 +1,203 @@ +{ + "custom": {}, + "params": { + "faulted": false, + "selectedTab": 0 + }, + "propConfig": { + "params.HomeSelect": { + "paramDirection": "inout", + "persistent": true + }, + "params.TrendSelect": { + "paramDirection": "inout", + "persistent": true + }, + "params.faulted": { + "paramDirection": "input", + "persistent": true + }, + "params.selectedTab": { + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 350, + "width": 50 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Overview" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.params.selectedTab": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.params.selectedTab" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "iconPath": "material/home", + "tabNumber": 0 + }, + "path": "Plant PAX/Popups/Embedded Views/Icon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Alarms" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.params.faulted": { + "binding": { + "config": { + "path": "view.params.faulted" + }, + "type": "property" + } + }, + "props.params.selectedTab": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.params.selectedTab" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "iconPath": "material/alarm", + "tabNumber": 1 + }, + "path": "Plant PAX/Popups/Embedded Views/Icon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "InOut" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.params.selectedTab": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.params.selectedTab" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "faulted": false, + "iconPath": "material/sync_alt", + "tabNumber": 2 + }, + "path": "Plant PAX/Popups/Embedded Views/Icon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "lbl_Separator" + }, + "position": { + "basis": "32px", + "grow": 1, + "shrink": 0 + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Settings" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.params.selectedTab": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.params.selectedTab" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "faulted": false, + "iconPath": "material/settings", + "tabNumber": 10 + }, + "path": "Plant PAX/Popups/Embedded Views/Icon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Infos" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.params.selectedTab": { + "binding": { + "config": { + "bidirectional": true, + "path": "view.params.selectedTab" + }, + "type": "property" + } + } + }, + "props": { + "params": { + "faulted": false, + "iconPath": "material/info", + "tabNumber": 99 + }, + "path": "Plant PAX/Popups/Embedded Views/Icon" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "Popups/General/background", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/ValveSolenoid/Popup/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/ValveSolenoid/Popup/resource.json new file mode 100644 index 0000000..e74dbcb --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/ValveSolenoid/Popup/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "e7087327b90a17cffa1edd05f24fa7721bc6e40e3ee26043574cdd852a031985", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:11Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/ValveSolenoid/Popup/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/ValveSolenoid/Popup/thumbnail.png new file mode 100644 index 0000000..83b2a65 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/ValveSolenoid/Popup/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/ValveSolenoid/Popup/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/ValveSolenoid/Popup/view.json new file mode 100644 index 0000000..ddda0dd --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/Plant PAX/Popups_Old/ValveSolenoid/Popup/view.json @@ -0,0 +1,1556 @@ +{ + "custom": {}, + "params": { + "tagPath": "[default]Test_Tags/P_ValveSO" + }, + "propConfig": { + "params.tagPath": { + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 300, + "width": 300 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Nav_Menu" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.params.faulted": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/IntlkTrip/Alarm" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "selectedTab": 0 + }, + "path": "Plant PAX/Popups/ValveSolenoid/Embedded Views/Nav_Menu", + "style": { + "borderRightStyle": "none" + } + }, + "type": "ia.display.view" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Desc" + }, + "position": { + "basis": "10px", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Cfg_Desc" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "classes": "Popups/label", + "textAlign": "left" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "icn_Interlock" + }, + "position": { + "basis": "30px" + }, + "propConfig": { + "props.path": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/IntlkTrip/Alarm" + }, + "transforms": [ + { + "fallback": "material/lock", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "material/lock_open" + }, + { + "input": true, + "output": "material/lock" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.style.classes": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/IntlkTrip/Alarm" + }, + "transforms": [ + { + "fallback": "States/ValveSolenoid/interlock", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "States/ValveSolenoid/noInterlock" + }, + { + "input": true, + "output": "States/ValveSolenoid/interlock" + } + ], + "outputType": "style-list", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "marginRight": 5 + } + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "Header" + }, + "position": { + "basis": "50px" + }, + "props": { + "alignItems": "center", + "style": { + "borderBottomStyle": "ridge", + "classes": "Popups/General/core", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "\"Mode: \" + if(tag({view.params.tagPath} + \"/Sts_Prog\"), \"Program\", \"Operator\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "classes": "Popups/General/label" + } + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.writeBlocking(self.view.params.tagPath+\"/PCmd_Prog\",1)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "btn_Close" + }, + "position": { + "basis": "34px", + "grow": 1 + }, + "props": { + "style": { + "classes": "States/ValveSolenoid/noMode", + "marginLeft": 5, + "marginRight": 2 + }, + "text": "Auto" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.writeBlocking(self.view.params.tagPath+\"/PCmd_Oper\",1)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "btn_Open" + }, + "position": { + "basis": "34px", + "grow": 1 + }, + "props": { + "style": { + "classes": "States/ValveSolenoid/noMode", + "marginLeft": 2, + "marginRight": 5 + }, + "text": "Hand" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "lbl_Hand_Cmd" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "classes": "Popups/General/label" + }, + "text": "Hand commands" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.writeBlocking(self.view.params.tagPath+\"/XCmd_Close\",1)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "btn_Close" + }, + "position": { + "basis": "34px", + "grow": 1 + }, + "props": { + "style": { + "classes": "States/ValveSolenoid/noMode", + "marginLeft": 5, + "marginRight": 2 + }, + "text": "Close" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.writeBlocking(self.view.params.tagPath+\"/XCmd_Open\",1)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "btn_Open" + }, + "position": { + "basis": "34px", + "grow": 1 + }, + "props": { + "style": { + "classes": "States/ValveSolenoid/noMode", + "marginLeft": 2, + "marginRight": 5 + }, + "text": "Open" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "HandCmd" + }, + "position": { + "basis": "85px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Sts_Oper" + }, + "type": "tag" + } + } + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Overview" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{.../Nav_Menu.props.params.selectedTab}\u003d0" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "classes": "Popups/General/core", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "AlarmStatusTable" + }, + "position": { + "basis": "10px", + "grow": 1 + }, + "propConfig": { + "props.filters.active.conditions.source": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "transforms": [ + { + "code": "\tvalue \u003d value.replace(\"[\",\"prov:\")\n\tvalue \u003d value.replace(\"]\",\":/tag:\")\n\tvalue \u003d\"*\"+value+\"*\"\n\treturn value", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "columns": { + "active": { + "activeTime": { + "enabled": false + }, + "name": { + "enabled": false + }, + "priority": { + "enabled": false + }, + "source": { + "enabled": false + }, + "state": { + "enabled": false + } + } + }, + "enableAcknowledge": false, + "enableDetails": false, + "enableHeader": false, + "enableShelve": false, + "enableUnshelve": false, + "filters": { + "active": { + "conditions": {}, + "states": { + "clearUnacked": false + } + } + }, + "pager": { + "enabled": false + }, + "refreshRate": 1000, + "rowStyles": { + "activeAcked": { + "priorities": { + "low": { + "backgroundColor": "#E25353" + } + } + }, + "activeUnacked": { + "priorities": { + "low": { + "backgroundColor": "#87F2A6" + } + } + } + }, + "selection": { + "active": { + "mode": "none" + }, + "shelved": { + "mode": "none" + } + }, + "toolbar": { + "enableActiveTab": false, + "enableConfiguration": false, + "enableFilter": false, + "enableFilterResults": false, + "enablePreFilters": false, + "enableShelvedTab": false, + "enabled": false + } + }, + "type": "ia.display.alarmstatustable" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.tag.writeBlocking(self.view.params.tagPath+\"/PCmd_Reset\",1)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "basis": "34px" + }, + "propConfig": { + "props.textStyle.color": { + "binding": { + "config": { + "path": "this.props.enabled" + }, + "transforms": [ + { + "fallback": "#808080", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "#808080" + }, + { + "input": true, + "output": "#000000" + } + ], + "outputType": "color", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "primary": false, + "style": { + "borderStyle": "solid", + "classes": "Popups/General/background" + }, + "text": "Reset" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Alarms" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{.../Nav_Menu.props.params.selectedTab}\u003d1" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "classes": "Popups/General/core", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "lbl_header" + }, + "position": { + "basis": "50px", + "grow": 1 + }, + "props": { + "text": "Configuration\n", + "textStyle": { + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Fct_Header_Device" + }, + "position": { + "basis": "38px" + }, + "props": { + "style": { + "fontWeight": "bold" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "100px" + }, + "props": { + "style": { + "textAlign": "center" + }, + "text": "Tag" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "TextField" + }, + "position": { + "basis": "175px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Cfg_Tag" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "textAlign": "center" + } + }, + "type": "ia.input.text-field" + } + ], + "meta": { + "name": "Tag" + }, + "position": { + "basis": "25px" + }, + "props": { + "style": { + "marginTop": 2, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "100px" + }, + "props": { + "style": { + "textAlign": "center" + }, + "text": "Label" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "TextField" + }, + "position": { + "basis": "175px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Cfg_Label" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "textAlign": "center" + } + }, + "type": "ia.input.text-field" + } + ], + "meta": { + "name": "Label" + }, + "position": { + "basis": "25px" + }, + "props": { + "style": { + "marginTop": 2, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "100px" + }, + "props": { + "style": { + "textAlign": "center" + }, + "text": "Description" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "TextField" + }, + "position": { + "basis": "175px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Cfg_Desc" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "textAlign": "center" + } + }, + "type": "ia.input.text-field" + } + ], + "meta": { + "name": "Description" + }, + "position": { + "basis": "25px" + }, + "props": { + "style": { + "marginTop": 2, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Settings" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{.../Nav_Menu.props.params.selectedTab}\u003d10" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "classes": "Popups/General/core", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "lbl_header" + }, + "position": { + "basis": "50px", + "grow": 1 + }, + "props": { + "text": "Device Info" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Fct_Header_Device" + }, + "position": { + "basis": "40px" + }, + "props": { + "style": { + "fontWeight": "bold" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "lbl_TagPath" + }, + "position": { + "basis": "30px" + }, + "props": { + "text": "TagPath:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_path" + }, + "position": { + "basis": "30px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.tagPath" + }, + "type": "property" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_DevDesc" + }, + "position": { + "basis": "30px" + }, + "props": { + "text": "Description:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_Desc" + }, + "position": { + "basis": "30px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Cfg_Desc" + }, + "type": "tag" + } + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Fct_Core_Device" + }, + "position": { + "basis": "40px", + "grow": 1 + }, + "props": { + "direction": "column", + "style": { + "classes": "Popups/core" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "lbl_header" + }, + "position": { + "basis": "50px", + "grow": 1 + }, + "props": { + "text": "Revision Info" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Fct_Header" + }, + "position": { + "basis": "40px" + }, + "props": { + "style": { + "fontWeight": "bold" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "lbl_FcpID" + }, + "position": { + "basis": "30px" + }, + "props": { + "text": "Faceplate ID:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_ID" + }, + "position": { + "basis": "30px" + }, + "props": { + "text": "Valve Solenoid Control" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_FcpRev" + }, + "position": { + "basis": "30px" + }, + "props": { + "text": "Revision:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_Rev" + }, + "position": { + "basis": "30px" + }, + "props": { + "text": "1.0.00" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Fct_Core" + }, + "position": { + "basis": "40px", + "grow": 1 + }, + "props": { + "direction": "column", + "style": { + "classes": "Popups/core" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Infos" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{.../Nav_Menu.props.params.selectedTab}\u003d99" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "classes": "Popups/General/core", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "LabelIn" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "classes": "Popups/General/label" + }, + "text": "Inputs" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Desc" + }, + "position": { + "basis": "32px", + "grow": 1 + }, + "props": { + "style": { + "classes": "Popups/General/description" + }, + "text": "Closed feedback:" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "circle" + }, + "propConfig": { + "props.style.classes": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Inp_ClosedLS" + }, + "transforms": [ + { + "fallback": "", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "Popups/General/InOutStateOff" + }, + { + "input": true, + "output": "Popups/General/InOutStateOn" + } + ], + "outputType": "style-list", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "cx": 250, + "cy": "250", + "r": "210", + "style": { + "stroke": "#000000", + "strokeWidth": 3 + } + }, + "type": "ia.shapes.circle" + } + ], + "meta": { + "name": "Esb_FillPipe" + }, + "position": { + "basis": "32px" + }, + "props": { + "viewBox": "0 0 500 500" + }, + "type": "ia.container.drawing" + } + ], + "meta": { + "name": "HomeSig" + }, + "position": { + "basis": "25px" + }, + "props": { + "style": { + "marginTop": 2, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Desc" + }, + "position": { + "basis": "32px", + "grow": 1 + }, + "props": { + "style": { + "classes": "Popups/General/description" + }, + "text": "Opened feedback:" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "circle" + }, + "propConfig": { + "props.style.classes": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Inp_OpenLS" + }, + "transforms": [ + { + "fallback": "", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "Popups/General/InOutStateOff" + }, + { + "input": true, + "output": "Popups/General/InOutStateOn" + } + ], + "outputType": "style-list", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "cx": 250, + "cy": "250", + "r": "210", + "style": { + "stroke": "#000000", + "strokeWidth": 3 + } + }, + "type": "ia.shapes.circle" + } + ], + "meta": { + "name": "Esb_FillPipe" + }, + "position": { + "basis": "32px" + }, + "props": { + "viewBox": "0 0 500 500" + }, + "type": "ia.container.drawing" + } + ], + "meta": { + "name": "WorkSig" + }, + "position": { + "basis": "25px" + }, + "props": { + "style": { + "marginTop": 2, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "LabelOut" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "classes": "Popups/General/label" + }, + "text": "Outputs" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "Desc" + }, + "position": { + "basis": "32px", + "grow": 1 + }, + "props": { + "style": { + "classes": "Popups/General/description" + }, + "text": "Close command:" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "circle" + }, + "propConfig": { + "props.style.classes": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Val_Sts" + }, + "transforms": [ + { + "fallback": "Popups/General/InOutStateOff", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "Popups/General/InOutStateOff" + }, + { + "input": true, + "output": "Popups/General/InOutStateOn" + } + ], + "outputType": "style-list", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "cx": 250, + "cy": "250", + "r": "210", + "style": { + "stroke": "#000000", + "strokeWidth": 3 + } + }, + "type": "ia.shapes.circle" + } + ], + "meta": { + "name": "Esb_FillPipe" + }, + "position": { + "basis": "32px" + }, + "props": { + "viewBox": "0 0 500 500" + }, + "type": "ia.container.drawing" + } + ], + "meta": { + "name": "HomeCmd" + }, + "position": { + "basis": "25px" + }, + "props": { + "style": { + "marginTop": 2, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Desc" + }, + "position": { + "basis": "32px", + "grow": 1 + }, + "props": { + "style": { + "classes": "Popups/General/description" + }, + "text": "Open command:" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "circle" + }, + "propConfig": { + "props.style.classes": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/Val_Sts" + }, + "transforms": [ + { + "fallback": "Popups/General/InOutStateOff", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "Popups/General/InOutStateOff" + }, + { + "input": 2, + "output": "Popups/General/InOutStateOn" + } + ], + "outputType": "style-list", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "cx": 250, + "cy": "250", + "r": "210", + "style": { + "stroke": "#000000", + "strokeWidth": 3 + } + }, + "type": "ia.shapes.circle" + } + ], + "meta": { + "name": "Esb_FillPipe" + }, + "position": { + "basis": "32px" + }, + "props": { + "viewBox": "0 0 500 500" + }, + "type": "ia.container.drawing" + } + ], + "meta": { + "name": "WorkCmd" + }, + "position": { + "basis": "25px" + }, + "props": { + "style": { + "marginTop": 2, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "InOut" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{.../Nav_Menu.props.params.selectedTab}\u003d2" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "classes": "Popups/General/core", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Core" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/PowerDeviceObjects/Popups/General/Nav_Menu/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/PowerDeviceObjects/Popups/General/Nav_Menu/resource.json new file mode 100644 index 0000000..5102882 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/PowerDeviceObjects/Popups/General/Nav_Menu/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "cea9e04947d7723fb444ce8baa429196edd29041c1f857126e0d7ebb9300a4d3", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/PowerDeviceObjects/Popups/General/Nav_Menu/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/PowerDeviceObjects/Popups/General/Nav_Menu/thumbnail.png new file mode 100644 index 0000000..a0f712c Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/PowerDeviceObjects/Popups/General/Nav_Menu/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/PowerDeviceObjects/Popups/General/Nav_Menu/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/PowerDeviceObjects/Popups/General/Nav_Menu/view.json new file mode 100644 index 0000000..7dba455 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/PowerDeviceObjects/Popups/General/Nav_Menu/view.json @@ -0,0 +1,358 @@ +{ + "custom": {}, + "params": { + "ErrorBorder": false, + "ErrorSelected": false, + "HelpSelect": false, + "HomeSelect": true, + "ParamsSelected": false, + "TrendSelected": false + }, + "propConfig": { + "params.ErrorBorder": { + "paramDirection": "input", + "persistent": true + }, + "params.ErrorSelected": { + "paramDirection": "inout", + "persistent": true + }, + "params.HelpSelect": { + "paramDirection": "inout", + "persistent": true + }, + "params.HomeSelect": { + "paramDirection": "inout", + "persistent": true + }, + "params.ParamsSelected": { + "paramDirection": "inout", + "persistent": true + }, + "params.TrendSelected": { + "paramDirection": "inout", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 350, + "width": 50 + } + }, + "root": { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.HomeSelect \u003d \"true\"\n\tself.view.params.HelpSelect \u003d \"false\"\n\tself.view.params.TrendSelected \u003d \"false\"\n\tself.view.params.ParamsSelected \u003d \"false\"\n\tself.view.params.ErrorSelected \u003d \"false\"" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "icn_Home" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.params.HomeSelect" + }, + "transforms": [ + { + "expression": "toBoolean({value})", + "type": "expression" + }, + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "#e0e0e0" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "color": "#808080", + "path": "material/home" + }, + "type": "ia.display.icon" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.HomeSelect \u003d \"false\"\n\tself.view.params.HelpSelect \u003d \"false\"\n\tself.view.params.TrendSelected \u003d \"true\"\n\tself.view.params.ParamsSelected \u003d \"false\"\n\tself.view.params.ErrorSelected \u003d \"false\"" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "icn_Trend" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.params.TrendSelected" + }, + "transforms": [ + { + "expression": "toBoolean({value})", + "type": "expression" + }, + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "#e0e0e0" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "color": "#808080", + "path": "material/trending_up" + }, + "type": "ia.display.icon" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.HomeSelect \u003d \"false\"\n\tself.view.params.HelpSelect \u003d \"false\"\n\tself.view.params.TrendSelected \u003d \"false\"\n\tself.view.params.ParamsSelected \u003d \"true\"\n\tself.view.params.ErrorSelected \u003d \"false\"" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "icn_Params" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.params.ParamsSelected" + }, + "transforms": [ + { + "expression": "toBoolean({value})", + "type": "expression" + }, + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "#e0e0e0" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "color": "#808080", + "path": "material/build" + }, + "type": "ia.display.icon" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.HomeSelect \u003d \"false\"\n\tself.view.params.HelpSelect \u003d \"false\"\n\tself.view.params.TrendSelected \u003d \"false\"\n\tself.view.params.ParamsSelected \u003d \"false\"\n\tself.view.params.ErrorSelected \u003d \"true\"" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "icn_Errors" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.params.ErrorSelected" + }, + "transforms": [ + { + "expression": "toBoolean({value})", + "type": "expression" + }, + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "#e0e0e0" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.style.borderStyle": { + "binding": { + "config": { + "path": "view.params.ErrorBorder" + }, + "transforms": [ + { + "fallback": "none", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "none" + }, + { + "input": true, + "output": "solid" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "color": "#808080", + "path": "material/error", + "style": { + "color": "#D9D900" + } + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "lbl_Separator" + }, + "position": { + "basis": "32px", + "grow": 1, + "shrink": 0 + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.view.params.HomeSelect \u003d \"false\"\n\tself.view.params.HelpSelect \u003d \"true\"\n\tself.view.params.TrendSelected \u003d \"false\"\n\tself.view.params.ParamsSelected \u003d \"false\"\n\tself.view.params.ErrorSelected \u003d \"false\"" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "icn_Rev" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "view.params.HelpSelect" + }, + "transforms": [ + { + "expression": "toBoolean({value})", + "type": "expression" + }, + { + "fallback": "", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "#e0e0e0" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "color": "#808080", + "path": "material/help" + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "Popups/background", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/PowerDeviceObjects/Popups/Velocity/PF525/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/PowerDeviceObjects/Popups/Velocity/PF525/resource.json new file mode 100644 index 0000000..6406f18 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/PowerDeviceObjects/Popups/Velocity/PF525/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModificationSignature": "037acb73bc9c7d4be563670d411fe5f43ecc6e8e52af8ec104c7864d940c11b8", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:11Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/PowerDeviceObjects/Popups/Velocity/PF525/thumbnail.png b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/PowerDeviceObjects/Popups/Velocity/PF525/thumbnail.png new file mode 100644 index 0000000..45d6426 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/PowerDeviceObjects/Popups/Velocity/PF525/thumbnail.png differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/PowerDeviceObjects/Popups/Velocity/PF525/view.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/PowerDeviceObjects/Popups/Velocity/PF525/view.json new file mode 100644 index 0000000..09249a8 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.perspective/views/PowerDeviceObjects/Popups/Velocity/PF525/view.json @@ -0,0 +1,4815 @@ +{ + "custom": {}, + "params": { + "AOI_Tag": "[default]PowerDeviceObject/Velocity/PF525" + }, + "propConfig": { + "params.AOI_Tag": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 350, + "width": 600 + }, + "dropConfig": { + "udts": [ + { + "action": "path", + "param": "AOI_Tag", + "type": "PowerDeviceObjects/Velocity/PF525" + } + ] + } + }, + "root": { + "children": [ + { + "meta": { + "name": "Nav_Menu" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.params.ErrorBorder": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "AOI_Tag": "{view.params.AOI_Tag}" + }, + "tagPath": "{AOI_Tag}/Sts_Ready" + }, + "type": "tag" + } + } + }, + "props": { + "params": { + "ErrorSelected": "false", + "HelpSelect": "false", + "HomeSelect": "true", + "ParamsSelected": "false", + "TrendSelected": "false" + }, + "path": "PowerDeviceObjects/Popups/General/Nav_Menu" + }, + "type": "ia.display.view" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "lbl_Separator" + }, + "position": { + "basis": "25px" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_Led" + }, + "position": { + "basis": "25px" + }, + "propConfig": { + "props.style.borderColor": { + "binding": { + "config": { + "fallbackDelay": 0, + "mode": "indirect", + "references": { + "AOI_Tag": "{view.params.AOI_Tag}" + }, + "tagPath": "{AOI_Tag}/Sts_Ready" + }, + "transforms": [ + { + "expression": "toBoolean({value})", + "type": "expression" + }, + { + "fallback": "#FF00FF", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "#1DC56F" + }, + { + "input": false, + "output": "#F5E11B" + } + ], + "outputType": "color", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "borderStyle": "solid", + "borderWidth": 5 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_Separator1" + }, + "position": { + "basis": "10px" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_State" + }, + "position": { + "basis": "80px" + }, + "propConfig": { + "props.style.color": { + "binding": { + "config": { + "expression": "tag({view.params.AOI_Tag} + \"/Sts_Faulted\") ||\r\n!tag({view.params.AOI_Tag} + \"/Sts_Ready\") ||\r\n!tag({view.params.AOI_Tag} + \"/Sts_Connected\")" + }, + "transforms": [ + { + "fallback": "#000000", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "#FFFFFF" + }, + { + "input": false, + "output": "#3F3F3F" + } + ], + "outputType": "color", + "type": "map" + } + ], + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 0, + "mode": "indirect", + "references": { + "AOI_Tag": "{view.params.AOI_Tag}" + }, + "tagPath": "{AOI_Tag}/Sts_Ready" + }, + "transforms": [ + { + "expression": "toBoolean({value})", + "type": "expression" + }, + { + "fallback": "Not Ready", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "Ready" + }, + { + "input": false, + "output": "Not Ready" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_Separator2" + }, + "position": { + "basis": "25px" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_Flt" + }, + "position": { + "basis": "50px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "tag({view.params.AOI_Tag}+\"/Sts_Faulted\")||\r\ntag({view.params.AOI_Tag}+\"/Sts_Warning\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "AOI_Tag": "{view.params.AOI_Tag}" + }, + "tagPath": "{AOI_Tag}/Sts_EventMessage" + }, + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "#FFFFFF", + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_NotRdy" + }, + "position": { + "basis": "50px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "!tag({view.params.AOI_Tag}+\"/Sts_Faulted\") \u0026\u0026\r\n!tag({view.params.AOI_Tag}+\"/Sts_Ready\")" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "AOI_Tag": "{view.params.AOI_Tag}" + }, + "tagPath": "{AOI_Tag}/Sts_eNotReady" + }, + "transforms": [ + { + "fallback": "", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "" + }, + { + "input": 1, + "output": "Drive Not Connected" + }, + { + "input": 2, + "output": "Drive Not Available" + }, + { + "input": 3, + "output": "Motion Group Not Ready" + }, + { + "input": 4, + "output": "Faulted" + }, + { + "input": 5, + "output": "DC Bus Not Present" + }, + { + "input": 6, + "output": "Start Inhibited" + }, + { + "input": 7, + "output": "Axis Shutdown" + } + ], + "outputType": "document", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "#939598", + "fontSize": 12 + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_Virt" + }, + "position": { + "basis": "50px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "tag({view.params.AOI_Tag} +\"/Sts_Virtual\") \u0026\u0026\r\n!tag({view.params.AOI_Tag} +\"/Sts_Faulted\")" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#3F3F3F", + "fontSize": 12 + }, + "text": "Virtual" + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onMouseDown": { + "config": { + "script": "\tpaths\u003d[self.view.params.AOI_Tag + \"/Cmd_ResetFault\"]\n\tvalues\u003d[0]\n\tsystem.tag.writeBlocking(paths,values)" + }, + "scope": "G", + "type": "script" + }, + "onMouseUp": { + "config": { + "script": "\tpaths\u003d[self.view.params.AOI_Tag + \"/Cmd_ResetFault\"]\n\tvalues\u003d[1]\n\tsystem.tag.writeBlocking(paths,values)\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "btn_Reset" + }, + "position": { + "basis": "40px" + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "AOI_Tag": "{view.params.AOI_Tag}" + }, + "tagPath": "{AOI_Tag}/Sts_Faulted" + }, + "type": "tag" + } + }, + "props.enabled": { + "binding": { + "config": { + "expression": "tag({view.params.AOI_Tag} + \"/Sts_Connected\") \u0026\u0026\r\ntag({view.params.AOI_Tag} + \"/Sts_available\") \u0026\u0026\r\n!tag({view.params.AOI_Tag} + \"/Sts_InhibitCmd\")" + }, + "type": "expr" + } + } + }, + "props": { + "image": { + "height": 30, + "icon": { + "color": "#808080", + "path": "material/loop" + }, + "position": "center", + "width": 30 + }, + "style": { + "classes": "Popups/background" + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Fct_Banner" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "expression": "!tag({view.params.AOI_Tag} + \"/Sts_Ready\") ||\r\ntag({view.params.AOI_Tag} + \"/Sts_Faulted\")" + }, + "transforms": [ + { + "fallback": "#00000000", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "#00000000" + }, + { + "input": true, + "output": "#3F3F3F" + } + ], + "outputType": "color", + "type": "map" + } + ], + "type": "expr" + } + }, + "props.style.borderBottomColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "AOI_Tag": "{view.params.AOI_Tag}" + }, + "tagPath": "{AOI_Tag}/Sts_Ready" + }, + "transforms": [ + { + "fallback": "#000000", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "#F5E11B" + }, + { + "input": true, + "output": "#A7A9AC" + } + ], + "outputType": "color", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "alignItems": "center", + "style": { + "borderBottomStyle": "solid", + "classes": "Popups/core", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "lbl_Cap_Dir" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "AOI_Tag": "{view.params.AOI_Tag}" + }, + "tagPath": "{AOI_Tag}/Sts_Connected" + }, + "transforms": [ + { + "fallback": "#AC00AC", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "#E0E0E0" + }, + { + "input": true, + "output": "#D1D3D5" + } + ], + "outputType": "color", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.style.color": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "AOI_Tag": "{view.params.AOI_Tag}" + }, + "tagPath": "{AOI_Tag}/Sts_eDvcAction" + }, + "transforms": [ + { + "fallback": "#AC00AC", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "#919191" + }, + { + "input": 1, + "output": "#475CA7" + }, + { + "input": 2, + "output": "#475CA7" + }, + { + "input": 3, + "output": "#475CA7" + }, + { + "input": 4, + "output": "#475CA7" + } + ], + "outputType": "color", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "AOI_Tag": "{view.params.AOI_Tag}" + }, + "tagPath": "{AOI_Tag}/Sts_eDvcAction" + }, + "transforms": [ + { + "fallback": "", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "-------------" + }, + { + "input": 1, + "output": "Off" + }, + { + "input": 2, + "output": "Zero Speed" + }, + { + "input": 3, + "output": "Forward" + }, + { + "input": 4, + "output": "Reverse" + } + ], + "outputType": "document", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "cht_Gauge" + }, + "position": { + "basis": "208px" + }, + "propConfig": { + "props.secondaryValue": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "AOI_Tag": "{view.params.AOI_Tag}" + }, + "tagPath": "{AOI_Tag}/Val_CmdSpeed" + }, + "type": "tag" + } + }, + "props.value": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "AOI_Tag": "{view.params.AOI_Tag}" + }, + "tagPath": "{AOI_Tag}/Val_FreqActual" + }, + "type": "tag" + } + } + }, + "props": { + "animate": true, + "backgroundColor": "", + "innerAxis": { + "color": "#3f3f3f", + "data": "secondaryValue", + "maxValue": 65, + "needle": { + "color": "#3F3F3F" + }, + "percentRadius": 85, + "show": true, + "width": 1 + }, + "outerAxis": { + "color": "#475CA7", + "data": "value", + "maxValue": 65, + "needle": { + "color": "#475CA7" + }, + "percentRadius": 100, + "ranges": [ + { + "color": "#475CA7", + "end": 80, + "start": 0, + "width": 1 + }, + { + "color": "#6E94D7", + "end": 105, + "start": 80, + "width": 12 + }, + { + "color": "#7A6BD5", + "end": 120, + "start": 105, + "width": 16 + } + ], + "show": true, + "width": 1 + }, + "startAngle": 90, + "style": { + "classes": [] + } + }, + "type": "ia.chart.gauge" + }, + { + "children": [ + { + "meta": { + "name": "lbl_Actual" + }, + "position": { + "basis": "199px" + }, + "props": { + "style": { + "color": "#475CA7", + "textAlign": "right" + }, + "text": "Actual:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_PV" + }, + "position": { + "basis": "35px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "AOI_Tag": "{view.params.AOI_Tag}" + }, + "tagPath": "{AOI_Tag}/Val_FreqActual" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "##0.0", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "#475CA7", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_Unit" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "AOI_Tag": "{view.params.AOI_Tag}" + }, + "tagPath": "{AOI_Tag}/Val_FreqActual" + }, + "enabled": false, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "##0.0", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "#919191" + }, + "text": "Hz" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Fct_PV" + }, + "position": { + "basis": "30px" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "lbl_Actual" + }, + "position": { + "basis": "199px" + }, + "props": { + "style": { + "color": "#3f3f3f", + "textAlign": "right" + }, + "text": "Commanded:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_PV" + }, + "position": { + "basis": "35px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "AOI_Tag": "{view.params.AOI_Tag}" + }, + "tagPath": "{AOI_Tag}/Val_CmdSpeed" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "##0.0", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "#3f3f3f", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_Unit" + }, + "position": { + "basis": "50px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "AOI_Tag": "{view.params.AOI_Tag}" + }, + "tagPath": "{AOI_Tag}/Val_FreqActual" + }, + "enabled": false, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "##0.0", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "#919191" + }, + "text": "Hz" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Fct_SP" + }, + "position": { + "basis": "30px" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Fct_Gauge" + }, + "position": { + "basis": "100px", + "grow": 1 + }, + "props": { + "direction": "column", + "style": { + "classes": "Popups/core" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "lbl_Speed" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "Speed (Hz)" + }, + "type": "ia.display.label" + }, + { + "custom": { + "historyTags": [ + { + "aggrgate": "Average", + "alias": "FLA" + } + ] + }, + "meta": { + "name": "skl_Speed" + }, + "position": { + "basis": "100px" + }, + "propConfig": { + "custom.historyTags[0].path": { + "binding": { + "config": { + "expression": "{view.params.AOI_Tag}+\"/Val_FreqActual\"" + }, + "type": "expr" + } + }, + "props.points": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "300", + "mostRecentUnits": "SEC" + }, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "1" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "delay": "1", + "delayUnits": "MIN", + "type": "INTERVAL" + }, + "tags": "{this.custom.historyTags}", + "valueFormat": "DATASET" + }, + "type": "tag-history" + } + } + }, + "props": { + "color": "#475CA7", + "range": { + "high": 65, + "low": 0 + }, + "width": 2 + }, + "type": "ia.display.sparkline" + } + ], + "meta": { + "name": "Fct_Speed" + }, + "position": { + "basis": "200px" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "lbl_FLA" + }, + "position": { + "basis": "32px" + }, + "props": { + "text": "Current (%FLA)" + }, + "type": "ia.display.label" + }, + { + "custom": { + "historyTags": [ + { + "aggrgate": "Average", + "alias": "FLA" + } + ] + }, + "meta": { + "name": "skl_FLA" + }, + "position": { + "basis": "100px" + }, + "propConfig": { + "custom.historyTags[0].path": { + "binding": { + "config": { + "expression": "{view.params.AOI_Tag}+\"/Val_PercentFLA\"" + }, + "type": "expr" + } + }, + "props.points": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "300", + "mostRecentUnits": "SEC" + }, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "1" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "delay": "1", + "delayUnits": "MIN", + "type": "INTERVAL" + }, + "tags": "{this.custom.historyTags}", + "valueFormat": "DATASET" + }, + "type": "tag-history" + } + } + }, + "props": { + "color": "#475CA7", + "range": { + "high": 100, + "low": 0 + }, + "width": 2 + }, + "type": "ia.display.sparkline" + } + ], + "meta": { + "name": "Fct_FLA" + }, + "position": { + "basis": "200px" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Fct_Spark" + }, + "position": { + "basis": "135px" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "lbl_JogSP" + }, + "position": { + "basis": "123px" + }, + "props": { + "style": { + "textAlign": "right" + }, + "text": "Jog Setpoint" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "nef_JogSP" + }, + "position": { + "basis": "69px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "tag({view.params.AOI_Tag}+\"/Sts_Ready\") \u0026\u0026\r\ntag({view.params.AOI_Tag}+\"/Sts_Available\") \u0026\u0026\r\n!tag({view.params.AOI_Tag}+\"/Sts_InhibitSet\")" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 0, + "mode": "indirect", + "references": { + "AOI_Tag": "{view.params.AOI_Tag}" + }, + "tagPath": "{AOI_Tag}/Set_JogSpeed" + }, + "type": "tag" + } + } + }, + "type": "ia.input.numeric-entry-field" + }, + { + "meta": { + "name": "lbl_JogSP_0" + }, + "position": { + "basis": "31px" + }, + "props": { + "style": { + "color": "#919191", + "textAlign": "left" + }, + "text": "Hz" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Fct_SP" + }, + "position": { + "basis": "200px" + }, + "props": { + "alignItems": "center" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onMouseDown": { + "config": { + "script": "\tpaths\u003d[self.view.params.AOI_Tag + \"/Cmd_JogRev\"]\n\tvalues\u003d[0]\n\tsystem.tag.writeBlocking(paths,values)\t" + }, + "scope": "G", + "type": "script" + }, + "onMouseUp": { + "config": { + "script": "\tpaths\u003d[self.view.params.AOI_Tag + \"/Cmd_JogRev\"]\n\tvalues\u003d[1]\n\tsystem.tag.writeBlocking(paths,values)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "btn_Rev" + }, + "position": { + "basis": "40px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "tag({view.params.AOI_Tag}+\"/Sts_Ready\") \u0026\u0026\r\ntag({view.params.AOI_Tag}+\"/Sts_Available\") \u0026\u0026\r\n!tag({view.params.AOI_Tag}+\"/Sts_InhibitSet\")" + }, + "type": "expr" + } + } + }, + "props": { + "image": { + "height": 33, + "icon": { + "color": "#808285", + "path": "material/arrow_back" + }, + "width": 33 + }, + "style": { + "backgroundColor": "#AAAAAA", + "borderColor": "#808080", + "borderStyle": "solid", + "marginBottom": 20, + "marginTop": 20 + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "lbl_Separator" + }, + "position": { + "basis": "20px" + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onMouseDown": { + "config": { + "script": "\tpaths\u003d[self.view.params.AOI_Tag + \"/Cmd_JogFwd\"]\n\tvalues\u003d[0]\n\tsystem.tag.writeBlocking(paths,values)\t" + }, + "scope": "G", + "type": "script" + }, + "onMouseUp": { + "config": { + "script": "\tpaths\u003d[self.view.params.AOI_Tag + \"/Cmd_JogFwd\"]\n\tvalues\u003d[1]\n\tsystem.tag.writeBlocking(paths,values)\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "btn_Fwd" + }, + "position": { + "basis": "40px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "tag({view.params.AOI_Tag}+\"/Sts_Ready\") \u0026\u0026\r\ntag({view.params.AOI_Tag}+\"/Sts_Available\") \u0026\u0026\r\n!tag({view.params.AOI_Tag}+\"/Sts_InhibitSet\")" + }, + "type": "expr" + } + } + }, + "props": { + "image": { + "height": 33, + "icon": { + "color": "#808285", + "path": "material/arrow_forward" + }, + "width": 33 + }, + "style": { + "backgroundColor": "#AAAAAA", + "borderColor": "#808080", + "borderStyle": "solid", + "marginBottom": 20, + "marginTop": 20 + }, + "text": "" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Fct_CMD" + }, + "position": { + "basis": "200px" + }, + "props": { + "justify": "center" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Fct_Jog" + }, + "position": { + "basis": "200px" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Fct_JogSpark" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column", + "style": { + "classes": "Popups/core" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Fct_Home" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Nav_Menu.props.params.HomeSelect" + }, + "transforms": [ + { + "expression": "toBoolean({value})", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "borderColor": "#AAAAAA", + "borderStyle": "solid", + "borderWidth": 1 + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "lbl_header" + }, + "position": { + "basis": "50px", + "grow": 1 + }, + "props": { + "text": "Revision Info" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Fct_Header" + }, + "position": { + "basis": "40px" + }, + "props": { + "style": { + "fontWeight": "bold" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "lbl_FcpID" + }, + "position": { + "basis": "30px" + }, + "props": { + "text": "Faceplate ID:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_ID" + }, + "position": { + "basis": "30px" + }, + "props": { + "text": "PF525" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_FcpRev" + }, + "position": { + "basis": "30px" + }, + "props": { + "text": "Revision:" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_Rev" + }, + "position": { + "basis": "30px" + }, + "props": { + "text": "1.0.00" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Fct_Core" + }, + "position": { + "basis": "40px", + "grow": 1 + }, + "props": { + "direction": "column", + "style": { + "classes": "Popups/core" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Fct_Revision" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Nav_Menu.props.params.HelpSelect" + }, + "transforms": [ + { + "expression": "toBoolean({value})", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "direction": "column", + "style": { + "borderColor": "#AAAAAA", + "borderStyle": "solid", + "borderWidth": 1 + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "lbl_SPColor" + }, + "position": { + "basis": "25px" + }, + "propConfig": { + "props.style.borderColor": { + "binding": { + "config": { + "path": ".../tsc_Speed.props.defaultStyles.colors[0]" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderStyle": "solid" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_SP" + }, + "position": { + "basis": "120px" + }, + "props": { + "text": "Speed Setpoint" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_SPVal" + }, + "position": { + "basis": "39px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "AOI_Tag": "{view.params.AOI_Tag}" + }, + "tagPath": "{AOI_Tag}/Val_CmdSpeed" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "##0.0", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "#475CA7", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_PV" + }, + "position": { + "basis": "31px" + }, + "props": { + "style": { + "color": "#919191" + }, + "text": "Hz" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_PVColor" + }, + "position": { + "basis": "25px" + }, + "propConfig": { + "props.style.borderColor": { + "binding": { + "config": { + "path": ".../tsc_Speed.props.defaultStyles.colors[1]" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderStyle": "solid" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_PV_0" + }, + "position": { + "basis": "120px" + }, + "props": { + "text": "Actual Speed" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_PVVal" + }, + "position": { + "basis": "39px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "AOI_Tag": "{view.params.AOI_Tag}" + }, + "tagPath": "{AOI_Tag}/Val_FreqActual" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "##0.0", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "#475CA7", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_PVUnit" + }, + "position": { + "basis": "31px" + }, + "props": { + "style": { + "color": "#919191" + }, + "text": "Hz" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Fct_SpeedHdr" + }, + "position": { + "basis": "50px" + }, + "props": { + "alignItems": "center" + }, + "type": "ia.container.flex" + }, + { + "custom": { + "historicalTag": [ + { + "aggregate": "Average", + "alias": "SP" + }, + { + "aggregate": "Average", + "alias": "PV" + } + ] + }, + "meta": { + "name": "tsc_Speed" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "propConfig": { + "custom.historicalTag[0].path": { + "binding": { + "config": { + "expression": "{view.params.AOI_Tag}+\"/Val_CmdSpeed\"" + }, + "type": "expr" + } + }, + "custom.historicalTag[1].path": { + "binding": { + "config": { + "expression": "{view.params.AOI_Tag}+\"/Val_FreqActual\"" + }, + "type": "expr" + } + }, + "props.plots[0].axes[0].max": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "AOI_Tag": "{view.params.AOI_Tag}" + }, + "tagPath": "{AOI_Tag}/Cfg_SpeedTrendMax" + }, + "type": "tag" + } + }, + "props.plots[0].axes[0].min": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "AOI_Tag": "{view.params.AOI_Tag}" + }, + "tagPath": "{AOI_Tag}/Cfg_SpeedTrendMin" + }, + "type": "tag" + } + }, + "props.series[0].data": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "1", + "mostRecentUnits": "HOUR" + }, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "1" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "delay": "120", + "delayUnits": "SEC", + "type": "INTERVAL" + }, + "tags": "{this.custom.historicalTag}", + "valueFormat": "DATASET" + }, + "type": "tag-history" + } + } + }, + "props": { + "defaultStyles": { + "colors": [ + "#61CCF5", + "#475CA7" + ], + "normal": { + "stroke": { + "width": 3 + } + } + }, + "enablePanZoom": false, + "plots": [ + { + "axes": [ + { + "alignment": "left", + "label": { + "font": { + "color": "", + "size": 10 + }, + "offset": 0, + "style": { + "classes": "" + }, + "text": "", + "visible": false + }, + "name": "Speed", + "style": { + "classes": "" + }, + "tick": { + "color": "", + "label": { + "font": { + "color": "", + "size": 10 + }, + "style": { + "classes": "" + } + }, + "style": { + "classes": "" + } + }, + "width": 60 + } + ], + "markers": [], + "trends": [ + { + "axis": "Speed", + "baselines": [], + "breakLine": true, + "columns": [], + "interpolation": "curveLinear", + "radius": 2, + "series": "Speed", + "stack": true, + "type": "line", + "visible": true + } + ] + } + ], + "series": [ + { + "name": "Speed" + } + ], + "timeAxis": { + "visible": false + }, + "timeRange": { + "visible": false + }, + "title": { + "visible": true + }, + "xTrace": { + "visible": false + } + }, + "type": "ia.chart.timeseries" + } + ], + "meta": { + "name": "Fct_Speed" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column", + "style": { + "classes": "Popups/core" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "lbl_FLAColor" + }, + "position": { + "basis": "25px" + }, + "propConfig": { + "props.style.borderColor": { + "binding": { + "config": { + "path": ".../tsc_Current.props.defaultStyles.colors[0]" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "borderStyle": "solid" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_FLA" + }, + "position": { + "basis": "66px" + }, + "props": { + "text": "Current" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_FLAVal" + }, + "position": { + "basis": "39px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "AOI_Tag": "{view.params.AOI_Tag}" + }, + "tagPath": "{AOI_Tag}/Val_PercentFLA" + }, + "transforms": [ + { + "formatType": "numeric", + "formatValue": "##0.0", + "type": "format" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "#475CA7", + "textAlign": "right" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_FLAUnit" + }, + "position": { + "basis": "53px" + }, + "props": { + "style": { + "color": "#919191" + }, + "text": "% FLA" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Fct_CurrentHdr" + }, + "position": { + "basis": "50px" + }, + "props": { + "alignItems": "center" + }, + "type": "ia.container.flex" + }, + { + "custom": { + "historicalTag": [ + { + "aggregate": "Average", + "alias": "FLA" + } + ] + }, + "meta": { + "name": "tsc_Current" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "propConfig": { + "custom.historicalTag[0].path": { + "binding": { + "config": { + "expression": "{view.params.AOI_Tag}+\"/PercentFLA\"" + }, + "type": "expr" + } + }, + "props.plots[0].axes[0].max": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "AOI_Tag": "{view.params.AOI_Tag}" + }, + "tagPath": "{AOI_Tag}/Cfg_PercentFLATrendMax" + }, + "type": "tag" + } + }, + "props.plots[0].axes[0].min": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "AOI_Tag": "{view.params.AOI_Tag}" + }, + "tagPath": "{AOI_Tag}/Cfg_PercentFLATrendMin" + }, + "type": "tag" + } + }, + "props.series[0].data": { + "binding": { + "config": { + "aggregate": "MinMax", + "avoidScanClassValidation": true, + "dateRange": { + "mostRecent": "1", + "mostRecentUnits": "HOUR" + }, + "ignoreBadQuality": false, + "polling": { + "enabled": true, + "rate": "1" + }, + "preventInterpolation": false, + "returnFormat": "Wide", + "returnSize": { + "delay": "120", + "delayUnits": "SEC", + "type": "INTERVAL" + }, + "tags": "{this.custom.historicalTag}", + "valueFormat": "DATASET" + }, + "type": "tag-history" + } + } + }, + "props": { + "defaultStyles": { + "colors": [ + "#475CA7" + ], + "normal": { + "stroke": { + "width": 3 + } + } + }, + "enablePanZoom": false, + "legend": { + "position": "left" + }, + "plots": [ + { + "axes": [ + { + "alignment": "left", + "label": { + "font": { + "color": "", + "size": 10 + }, + "offset": 0, + "style": { + "classes": "" + }, + "text": "", + "visible": false + }, + "name": "Current", + "style": { + "classes": "" + }, + "tick": { + "color": "", + "label": { + "font": { + "color": "", + "size": 10 + }, + "style": { + "classes": "" + } + }, + "style": { + "classes": "" + } + }, + "width": 60 + } + ], + "markers": [], + "trends": [ + { + "axis": "Current", + "baselines": [], + "breakLine": true, + "columns": [], + "interpolation": "curveLinear", + "radius": 2, + "series": "Current", + "stack": true, + "type": "line", + "visible": true + } + ] + } + ], + "series": [ + { + "name": "Current" + } + ], + "timeAxis": { + "visible": false + }, + "timeRange": { + "dateFormat": "None", + "timeFormat": "None", + "visible": false + }, + "title": { + "visible": true + }, + "xTrace": { + "visible": false + } + }, + "type": "ia.chart.timeseries" + } + ], + "meta": { + "name": "Fct_Current" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column", + "style": { + "classes": "Popups/core" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Fct_Trends" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Nav_Menu.props.params.TrendSelected" + }, + "transforms": [ + { + "expression": "toBoolean({value})", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "direction": "column", + "style": { + "borderColor": "#AAAAAA", + "borderStyle": "solid", + "borderWidth": 1 + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "lbl_Hdr" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "fontWeight": "bold" + }, + "text": "Trend Limits" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "lbl_Hdr" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "fontWeight": "bold" + }, + "text": "Speed" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "lbl_Min" + }, + "position": { + "basis": "32px", + "grow": 1 + }, + "props": { + "text": "Minimum" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "nef_Min" + }, + "position": { + "basis": "150px" + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 0, + "mode": "indirect", + "references": { + "AOI_Tag": "{view.params.AOI_Tag}" + }, + "tagPath": "{AOI_Tag}/Cfg_SpeedTrendMin" + }, + "type": "tag" + } + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Fct_Min" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "marginRight": 5, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "lbl_Max" + }, + "position": { + "basis": "32px", + "grow": 1 + }, + "props": { + "text": "Maximum" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "nef_Max" + }, + "position": { + "basis": "150px" + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 0, + "mode": "indirect", + "references": { + "AOI_Tag": "{view.params.AOI_Tag}" + }, + "tagPath": "{AOI_Tag}/Cfg_SpeedTrendMax" + }, + "type": "tag" + } + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Fct_Max" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "marginRight": 5, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Fct_Speed" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "lbl_Hdr" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "fontWeight": "bold" + }, + "text": "Current" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "meta": { + "name": "lbl_Min" + }, + "position": { + "basis": "32px", + "grow": 1 + }, + "props": { + "text": "Minimum" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "nef_Min" + }, + "position": { + "basis": "150px" + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 0, + "mode": "indirect", + "references": { + "AOI_Tag": "{view.params.AOI_Tag}" + }, + "tagPath": "{AOI_Tag}/Cfg_PercentFLATrendMin" + }, + "type": "tag" + } + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Fct_Min" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "marginRight": 5, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "lbl_Max" + }, + "position": { + "basis": "32px", + "grow": 1 + }, + "props": { + "text": "Maximum" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "nef_Max" + }, + "position": { + "basis": "150px" + }, + "propConfig": { + "props.value": { + "binding": { + "config": { + "bidirectional": true, + "fallbackDelay": 0, + "mode": "indirect", + "references": { + "AOI_Tag": "{view.params.AOI_Tag}" + }, + "tagPath": "{AOI_Tag}/Cfg_PercentFLATrendMax" + }, + "type": "tag" + } + } + }, + "type": "ia.input.numeric-entry-field" + } + ], + "meta": { + "name": "Fct_Max" + }, + "position": { + "basis": "50px" + }, + "props": { + "style": { + "marginRight": 5, + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Fct_Current" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Fct_MinMax" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Fct_Config" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Nav_Menu.props.params.ParamsSelected" + }, + "transforms": [ + { + "expression": "toBoolean({value})", + "type": "expression" + } + ], + "type": "property" + } + } + }, + "props": { + "direction": "column", + "style": { + "borderColor": "#AAAAAA", + "borderStyle": "solid", + "borderWidth": 1, + "classes": "Popups/core", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "component": { + "onRowClick": { + "config": { + "script": "\tself.parent.custom.rowIndex \u003d event.rowIndex\n\tself.parent.custom.detailledView \u003d not self.parent.custom.detailledView" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "tbl_Flt" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": "parent.custom.detailledView" + }, + "transforms": [ + { + "expression": "!{value}", + "type": "expression" + } + ], + "type": "property" + } + }, + "props.data[0].Description": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "AOI_Tag": "{view.params.AOI_Tag}" + }, + "tagPath": "{AOI_Tag}/Sts_eEventValue/Sts_eEventValue_0_" + }, + "transforms": [ + { + "fallback": "", + "inputType": "scalar", + "mappings": [ + { + "input": 2, + "output": "External trip (Auxiliary input." + }, + { + "input": 3, + "output": "Single phase operation detected with excessive load." + }, + { + "input": 4, + "output": "DC Bus Volts \u003c Undervoltage Level" + }, + { + "input": 5, + "output": "DC Bus Volts \u003e Max Value." + }, + { + "input": 7, + "output": "An internal electronic overload trip has occurred." + }, + { + "input": 8, + "output": "Heatsink/Power Module temperature exceeds a predefined value." + }, + { + "input": 9, + "output": "Control module temperature exceeds a predefined value." + }, + { + "input": 10, + "output": "The dynamic brake resistor has exceeds its max. operating temp." + }, + { + "input": 12, + "output": "The drive output current has exceeded the hardware current limit." + }, + { + "input": 13, + "output": "A current path to earth grnd detected at one or more of the drive o/p ter." + }, + { + "input": 14, + "output": "The grnd current \u003e the level set in Grnd Warning Level Param 467." + }, + { + "input": 15, + "output": "O/P torque curr \u003c Load Loss Level A490 for a time \u003e Load Loss Time A491." + }, + { + "input": 16, + "output": "Motor Thermistor" + }, + { + "input": 17, + "output": "The DC bus ripple has exceeded a preset level" + }, + { + "input": 18, + "output": "Motor Positive Temperature Coefficient over temp." + }, + { + "input": 19, + "output": "System resource utilization is at or above 90 % of capacity." + }, + { + "input": 20, + "output": "Commanded speed, encoder speed differential and timeout exceeded." + }, + { + "input": 21, + "output": "O/P Phase Loss (if enabled). Configure with A557 [Out Phas Loss En]." + }, + { + "input": 24, + "output": "The drive is not following a commanded decelration." + }, + { + "input": 25, + "output": "Motor oper. speed \u003e limit set by the max speed P524 [Overspeed Limit]" + }, + { + "input": 26, + "output": "Encoder movement \u003e level in [Brake Slip Count] after the brake was set." + }, + { + "input": 27, + "output": "Torque Prove Conflict" + }, + { + "input": 28, + "output": "Encoderless operation not read and/or understood" + }, + { + "input": 29, + "output": "Analog input has lost signal." + }, + { + "input": 33, + "output": "Drive unsuccessfully attempted to reset a fault" + }, + { + "input": 35, + "output": "The current magnitude \u003e trip level set by P1640 [IPMMax Cur]" + }, + { + "input": 36, + "output": "The current magnitude \u003e trip level set by P1640 [IPMMax Cur]" + }, + { + "input": 38, + "output": "A phase to grnd fault has been detected between the drive \u0026 motor" + }, + { + "input": 39, + "output": "A phase to grnd fault has been detected between the drive \u0026 motor" + }, + { + "input": 40, + "output": "A phase to grnd fault has been detected between the drive \u0026 motor" + }, + { + "input": 41, + "output": "Excessive current has been detected between output terminals." + }, + { + "input": 42, + "output": "Excessive current has been detected between output terminals." + }, + { + "input": 43, + "output": "Excessive current has been detected between output terminals." + }, + { + "input": 44, + "output": "A phase to grnd fault has been detected between the drive \u0026 motor in this phase." + }, + { + "input": 45, + "output": "A phase to grnd fault has been detected between the drive \u0026 motor in this phase." + }, + { + "input": 46, + "output": "A phase to grnd fault has been detected between the drive \u0026 motor in this phase." + }, + { + "input": 48, + "output": "The drive was commanded to write default values to EEPROM." + }, + { + "input": 49, + "output": "Power Up Marker in fault queue is indicating a drive power cycle." + }, + { + "input": 51, + "output": "Indication that the fault queue has been cleared." + }, + { + "input": 52, + "output": "Faults Cleared" + }, + { + "input": 55, + "output": "Temp. sensor on the Main Control board detected excessive heat." + }, + { + "input": 59, + "output": "Safety 1 \u0026 Safety 2 inputs are not enabled." + }, + { + "input": 61, + "output": "Programmed value in [Current Limit Value] has been exceeded." + }, + { + "input": 62, + "output": "Programmed value in [Current Limit Value] has been exceeded." + }, + { + "input": 63, + "output": "Shear Pinx Level Program A486, A488 \u003e Share Pinx Time Program A487, A489" + }, + { + "input": 64, + "output": "Drive overload rating has been exceeded." + }, + { + "input": 71, + "output": "Control over the Modbus or DSI comm link has been interrupted" + }, + { + "input": 72, + "output": "Control over the network option card\u0027s remote network has been interrupted." + }, + { + "input": 73, + "output": "Control through the embedded EtherNet/IP adapter interrupted." + }, + { + "input": 74, + "output": "The DPI communications option has a fault." + }, + { + "input": 75, + "output": "The DPI communications option has a fault." + }, + { + "input": 76, + "output": "The DPI communications option has a fault." + }, + { + "input": 77, + "output": "Calculate is the autotune default is not in the range of acceptable values." + }, + { + "input": 78, + "output": "Value for flux amps determined by autotune exceeds [Motor NP FLA]." + }, + { + "input": 79, + "output": "Motor did not come up to speed in allotted time during Autotune." + }, + { + "input": 80, + "output": "The autotune function was either cancelled by the user or failed." + }, + { + "input": 81, + "output": "Modbus or DSI master device have been interrupted." + }, + { + "input": 82, + "output": "Network option card have been interrupted." + }, + { + "input": 83, + "output": "Comm. between the drive and the Emb. EtherNet/IP adapter interrupted." + }, + { + "input": 84, + "output": "The DPI port stopped communicating." + }, + { + "input": 85, + "output": "The DPI port stopped communicating." + }, + { + "input": 86, + "output": "The DPI port stopped communicating." + }, + { + "input": 87, + "output": "Volt calculated for motor inductive impedance \u003e 25% of [Motor NP Volts]." + }, + { + "input": 91, + "output": "Required differential encoder. One of the 2 encoder chanel sig. missing." + }, + { + "input": 93, + "output": "Hardware Enable is disabled but still indicateds drive is not enabled." + }, + { + "input": 94, + "output": "\"Freeze-Fire\" (Function Loss) input is inactive" + }, + { + "input": 95, + "output": "Fdbck loss has been detected for the source of P132 Âux Vel Fdbk Sel]" + }, + { + "input": 96, + "output": "A Fdbck Loss has been detected for the source of P847 [Psn Fdbk]" + }, + { + "input": 100, + "output": "Drive parameter non-volatile storage is corrupted" + }, + { + "input": 101, + "output": "External non-volatile storage has failed." + }, + { + "input": 105, + "output": "Control module was disconnected while drive was powered." + }, + { + "input": 106, + "output": "The PF525 control module doesn\u0027t support power module with 0.25 HP" + }, + { + "input": 107, + "output": "The control module couldn\u0027t recognize the power module. Hardware failure." + }, + { + "input": 109, + "output": "The control module was mounted to a different drive type power module." + }, + { + "input": 110, + "output": "Keypad membrane failure / disconnected." + }, + { + "input": 111, + "output": "Safety input enable H/W malfunction. Safety inputs is not enabled." + }, + { + "input": 114, + "output": "Microprocessor failure." + }, + { + "input": 122, + "output": "Failure detected in drive control \u0026 I/O section." + }, + { + "input": 125, + "output": "The firmware is corrupt, mismatched, or incompatible with th hardware." + }, + { + "input": 126, + "output": "Non-recoverable fmwr of hrdwr error \u0026 drive was stopped and reset" + }, + { + "input": 127, + "output": "A critical problem with the firmware was detected." + }, + { + "input": 70, + "output": "Failure has been detected in the drive power section." + }, + { + "input": 6, + "output": "Drive is unable to accelerate or decelerate motor." + } + ], + "outputType": "document", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.data[0].Severity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "AOI_Tag": "{view.params.AOI_Tag}" + }, + "tagPath": "{AOI_Tag}/Sts_eEventType/Sts_eEventType_0_" + }, + "transforms": [ + { + "fallback": "", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "Status" + }, + { + "input": 2, + "output": "Warning" + }, + { + "input": 3, + "output": "Fault" + } + ], + "outputType": "document", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.data[0].Time": { + "binding": { + "config": { + "expression": "if(!({this.props.data[0].Severity} \u003d \"\"),\r\ntag({view.params.AOI_Tag}+\"/Sts_tEventTimeD0/Sts_tEventTimeD0_0_\") + \"-\" +\r\nif(tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD0/Sts_tEventTimeD0_1_\")\u003e9,tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD0/Sts_tEventTimeD0_1_\"), \"0\" + tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD0/Sts_tEventTimeD0_1_\")) + \"-\" +\r\nif(tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD0/Sts_tEventTimeD0_2_\")\u003e9,tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD0/Sts_tEventTimeD0_2_\"), \"0\" + tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD0/Sts_tEventTimeD0_2_\")) + \" \" +\r\ntag({view.params.AOI_Tag}+\"/Sts_tEventTimeD0/Sts_tEventTimeD0_3_\") + \":\" +\r\nif(tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD0/Sts_tEventTimeD0_4_\")\u003e9,tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD0/Sts_tEventTimeD0_4_\"), \"0\" + tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD0/Sts_tEventTimeD0_4_\")) + \":\" +\r\nif(tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD0/Sts_tEventTimeD0_5_\")\u003e9,tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD0/Sts_tEventTimeD0_5_\"), \"0\" + tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD0/Sts_tEventTimeD0_5_\")),\r\n\"\")" + }, + "type": "expr" + } + }, + "props.data[1].Description": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "AOI_Tag": "{view.params.AOI_Tag}" + }, + "tagPath": "{AOI_Tag}/Sts_eEventValue/Sts_eEventValue_1_" + }, + "transforms": [ + { + "fallback": "", + "inputType": "scalar", + "mappings": [ + { + "input": 2, + "output": "External trip (Auxiliary input." + }, + { + "input": 3, + "output": "Single phase operation detected with excessive load." + }, + { + "input": 4, + "output": "DC Bus Volts \u003c Undervoltage Level" + }, + { + "input": 5, + "output": "DC Bus Volts \u003e Max Value." + }, + { + "input": 7, + "output": "An internal electronic overload trip has occurred." + }, + { + "input": 8, + "output": "Heatsink/Power Module temperature exceeds a predefined value." + }, + { + "input": 9, + "output": "Control module temperature exceeds a predefined value." + }, + { + "input": 10, + "output": "The dynamic brake resistor has exceeds its max. operating temp." + }, + { + "input": 12, + "output": "The drive output current has exceeded the hardware current limit." + }, + { + "input": 13, + "output": "A current path to earth grnd detected at one or more of the drive o/p ter." + }, + { + "input": 14, + "output": "The grnd current \u003e the level set in Grnd Warning Level Param 467." + }, + { + "input": 15, + "output": "O/P torque curr \u003c Load Loss Level A490 for a time \u003e Load Loss Time A491." + }, + { + "input": 16, + "output": "Motor Thermistor" + }, + { + "input": 17, + "output": "The DC bus ripple has exceeded a preset level" + }, + { + "input": 18, + "output": "Motor Positive Temperature Coefficient over temp." + }, + { + "input": 19, + "output": "System resource utilization is at or above 90 % of capacity." + }, + { + "input": 20, + "output": "Commanded speed, encoder speed differential and timeout exceeded." + }, + { + "input": 21, + "output": "O/P Phase Loss (if enabled). Configure with A557 [Out Phas Loss En]." + }, + { + "input": 24, + "output": "The drive is not following a commanded decelration." + }, + { + "input": 25, + "output": "Motor oper. speed \u003e limit set by the max speed P524 [Overspeed Limit]" + }, + { + "input": 26, + "output": "Encoder movement \u003e level in [Brake Slip Count] after the brake was set." + }, + { + "input": 27, + "output": "Torque Prove Conflict" + }, + { + "input": 28, + "output": "Encoderless operation not read and/or understood" + }, + { + "input": 29, + "output": "Analog input has lost signal." + }, + { + "input": 33, + "output": "Drive unsuccessfully attempted to reset a fault" + }, + { + "input": 35, + "output": "The current magnitude \u003e trip level set by P1640 [IPMMax Cur]" + }, + { + "input": 36, + "output": "The current magnitude \u003e trip level set by P1640 [IPMMax Cur]" + }, + { + "input": 38, + "output": "A phase to grnd fault has been detected between the drive \u0026 motor" + }, + { + "input": 39, + "output": "A phase to grnd fault has been detected between the drive \u0026 motor" + }, + { + "input": 40, + "output": "A phase to grnd fault has been detected between the drive \u0026 motor" + }, + { + "input": 41, + "output": "Excessive current has been detected between output terminals." + }, + { + "input": 42, + "output": "Excessive current has been detected between output terminals." + }, + { + "input": 43, + "output": "Excessive current has been detected between output terminals." + }, + { + "input": 44, + "output": "A phase to grnd fault has been detected between the drive \u0026 motor in this phase." + }, + { + "input": 45, + "output": "A phase to grnd fault has been detected between the drive \u0026 motor in this phase." + }, + { + "input": 46, + "output": "A phase to grnd fault has been detected between the drive \u0026 motor in this phase." + }, + { + "input": 48, + "output": "The drive was commanded to write default values to EEPROM." + }, + { + "input": 49, + "output": "Power Up Marker in fault queue is indicating a drive power cycle." + }, + { + "input": 51, + "output": "Indication that the fault queue has been cleared." + }, + { + "input": 52, + "output": "Faults Cleared" + }, + { + "input": 55, + "output": "Temp. sensor on the Main Control board detected excessive heat." + }, + { + "input": 59, + "output": "Safety 1 \u0026 Safety 2 inputs are not enabled." + }, + { + "input": 61, + "output": "Programmed value in [Current Limit Value] has been exceeded." + }, + { + "input": 62, + "output": "Programmed value in [Current Limit Value] has been exceeded." + }, + { + "input": 63, + "output": "Shear Pinx Level Program A486, A488 \u003e Share Pinx Time Program A487, A489" + }, + { + "input": 64, + "output": "Drive overload rating has been exceeded." + }, + { + "input": 71, + "output": "Control over the Modbus or DSI comm link has been interrupted" + }, + { + "input": 72, + "output": "Control over the network option card\u0027s remote network has been interrupted." + }, + { + "input": 73, + "output": "Control through the embedded EtherNet/IP adapter interrupted." + }, + { + "input": 74, + "output": "The DPI communications option has a fault." + }, + { + "input": 75, + "output": "The DPI communications option has a fault." + }, + { + "input": 76, + "output": "The DPI communications option has a fault." + }, + { + "input": 77, + "output": "Calculate is the autotune default is not in the range of acceptable values." + }, + { + "input": 78, + "output": "Value for flux amps determined by autotune exceeds [Motor NP FLA]." + }, + { + "input": 79, + "output": "Motor did not come up to speed in allotted time during Autotune." + }, + { + "input": 80, + "output": "The autotune function was either cancelled by the user or failed." + }, + { + "input": 81, + "output": "Modbus or DSI master device have been interrupted." + }, + { + "input": 82, + "output": "Network option card have been interrupted." + }, + { + "input": 83, + "output": "Comm. between the drive and the Emb. EtherNet/IP adapter interrupted." + }, + { + "input": 84, + "output": "The DPI port stopped communicating." + }, + { + "input": 85, + "output": "The DPI port stopped communicating." + }, + { + "input": 86, + "output": "The DPI port stopped communicating." + }, + { + "input": 87, + "output": "Volt calculated for motor inductive impedance \u003e 25% of [Motor NP Volts]." + }, + { + "input": 91, + "output": "Required differential encoder. One of the 2 encoder chanel sig. missing." + }, + { + "input": 93, + "output": "Hardware Enable is disabled but still indicateds drive is not enabled." + }, + { + "input": 94, + "output": "\"Freeze-Fire\" (Function Loss) input is inactive" + }, + { + "input": 95, + "output": "Fdbck loss has been detected for the source of P132 Âux Vel Fdbk Sel]" + }, + { + "input": 96, + "output": "A Fdbck Loss has been detected for the source of P847 [Psn Fdbk]" + }, + { + "input": 100, + "output": "Drive parameter non-volatile storage is corrupted" + }, + { + "input": 101, + "output": "External non-volatile storage has failed." + }, + { + "input": 105, + "output": "Control module was disconnected while drive was powered." + }, + { + "input": 106, + "output": "The PF525 control module doesn\u0027t support power module with 0.25 HP" + }, + { + "input": 107, + "output": "The control module couldn\u0027t recognize the power module. Hardware failure." + }, + { + "input": 109, + "output": "The control module was mounted to a different drive type power module." + }, + { + "input": 110, + "output": "Keypad membrane failure / disconnected." + }, + { + "input": 111, + "output": "Safety input enable H/W malfunction. Safety inputs is not enabled." + }, + { + "input": 114, + "output": "Microprocessor failure." + }, + { + "input": 122, + "output": "Failure detected in drive control \u0026 I/O section." + }, + { + "input": 125, + "output": "The firmware is corrupt, mismatched, or incompatible with th hardware." + }, + { + "input": 126, + "output": "Non-recoverable fmwr of hrdwr error \u0026 drive was stopped and reset" + }, + { + "input": 127, + "output": "A critical problem with the firmware was detected." + }, + { + "input": 70, + "output": "Failure has been detected in the drive power section." + }, + { + "input": 6, + "output": "Drive is unable to accelerate or decelerate motor." + } + ], + "outputType": "document", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.data[1].Severity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "AOI_Tag": "{view.params.AOI_Tag}" + }, + "tagPath": "{AOI_Tag}/Sts_eEventType/Sts_eEventType_1_" + }, + "transforms": [ + { + "fallback": "", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "Status" + }, + { + "input": 2, + "output": "Warning" + }, + { + "input": 3, + "output": "Fault" + } + ], + "outputType": "document", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.data[1].Time": { + "binding": { + "config": { + "expression": "if(!({this.props.data[1].Severity} \u003d \"\"),\r\ntag({view.params.AOI_Tag}+\"/Sts_tEventTimeD1/Sts_tEventTimeD1_0_\") + \"-\" +\r\nif(tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD1/Sts_tEventTimeD1_1_\")\u003e9,tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD1/Sts_tEventTimeD1_1_\"), \"0\" + tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD1/Sts_tEventTimeD1_1_\")) + \"-\" +\r\nif(tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD1/Sts_tEventTimeD1_2_\")\u003e9,tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD1/Sts_tEventTimeD1_2_\"), \"0\" + tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD1/Sts_tEventTimeD1_2_\")) + \" \" +\r\ntag({view.params.AOI_Tag}+\"/Sts_tEventTimeD1/Sts_tEventTimeD1_3_\") + \":\" +\r\nif(tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD1/Sts_tEventTimeD1_4_\")\u003e9,tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD1/Sts_tEventTimeD1_4_\"), \"0\" + tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD1/Sts_tEventTimeD1_4_\")) + \":\" +\r\nif(tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD1/Sts_tEventTimeD1_5_\")\u003e9,tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD1/Sts_tEventTimeD1_5_\"), \"0\" + tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD1/Sts_tEventTimeD1_5_\")),\r\n\"\")" + }, + "type": "expr" + } + }, + "props.data[2].Description": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "AOI_Tag": "{view.params.AOI_Tag}" + }, + "tagPath": "{AOI_Tag}/Sts_eEventValue/Sts_eEventValue_2_" + }, + "transforms": [ + { + "fallback": "", + "inputType": "scalar", + "mappings": [ + { + "input": 2, + "output": "External trip (Auxiliary input." + }, + { + "input": 3, + "output": "Single phase operation detected with excessive load." + }, + { + "input": 4, + "output": "DC Bus Volts \u003c Undervoltage Level" + }, + { + "input": 5, + "output": "DC Bus Volts \u003e Max Value." + }, + { + "input": 7, + "output": "An internal electronic overload trip has occurred." + }, + { + "input": 8, + "output": "Heatsink/Power Module temperature exceeds a predefined value." + }, + { + "input": 9, + "output": "Control module temperature exceeds a predefined value." + }, + { + "input": 10, + "output": "The dynamic brake resistor has exceeds its max. operating temp." + }, + { + "input": 12, + "output": "The drive output current has exceeded the hardware current limit." + }, + { + "input": 13, + "output": "A current path to earth grnd detected at one or more of the drive o/p ter." + }, + { + "input": 14, + "output": "The grnd current \u003e the level set in Grnd Warning Level Param 467." + }, + { + "input": 15, + "output": "O/P torque curr \u003c Load Loss Level A490 for a time \u003e Load Loss Time A491." + }, + { + "input": 16, + "output": "Motor Thermistor" + }, + { + "input": 17, + "output": "The DC bus ripple has exceeded a preset level" + }, + { + "input": 18, + "output": "Motor Positive Temperature Coefficient over temp." + }, + { + "input": 19, + "output": "System resource utilization is at or above 90 % of capacity." + }, + { + "input": 20, + "output": "Commanded speed, encoder speed differential and timeout exceeded." + }, + { + "input": 21, + "output": "O/P Phase Loss (if enabled). Configure with A557 [Out Phas Loss En]." + }, + { + "input": 24, + "output": "The drive is not following a commanded decelration." + }, + { + "input": 25, + "output": "Motor oper. speed \u003e limit set by the max speed P524 [Overspeed Limit]" + }, + { + "input": 26, + "output": "Encoder movement \u003e level in [Brake Slip Count] after the brake was set." + }, + { + "input": 27, + "output": "Torque Prove Conflict" + }, + { + "input": 28, + "output": "Encoderless operation not read and/or understood" + }, + { + "input": 29, + "output": "Analog input has lost signal." + }, + { + "input": 33, + "output": "Drive unsuccessfully attempted to reset a fault" + }, + { + "input": 35, + "output": "The current magnitude \u003e trip level set by P1640 [IPMMax Cur]" + }, + { + "input": 36, + "output": "The current magnitude \u003e trip level set by P1640 [IPMMax Cur]" + }, + { + "input": 38, + "output": "A phase to grnd fault has been detected between the drive \u0026 motor" + }, + { + "input": 39, + "output": "A phase to grnd fault has been detected between the drive \u0026 motor" + }, + { + "input": 40, + "output": "A phase to grnd fault has been detected between the drive \u0026 motor" + }, + { + "input": 41, + "output": "Excessive current has been detected between output terminals." + }, + { + "input": 42, + "output": "Excessive current has been detected between output terminals." + }, + { + "input": 43, + "output": "Excessive current has been detected between output terminals." + }, + { + "input": 44, + "output": "A phase to grnd fault has been detected between the drive \u0026 motor in this phase." + }, + { + "input": 45, + "output": "A phase to grnd fault has been detected between the drive \u0026 motor in this phase." + }, + { + "input": 46, + "output": "A phase to grnd fault has been detected between the drive \u0026 motor in this phase." + }, + { + "input": 48, + "output": "The drive was commanded to write default values to EEPROM." + }, + { + "input": 49, + "output": "Power Up Marker in fault queue is indicating a drive power cycle." + }, + { + "input": 51, + "output": "Indication that the fault queue has been cleared." + }, + { + "input": 52, + "output": "Faults Cleared" + }, + { + "input": 55, + "output": "Temp. sensor on the Main Control board detected excessive heat." + }, + { + "input": 59, + "output": "Safety 1 \u0026 Safety 2 inputs are not enabled." + }, + { + "input": 61, + "output": "Programmed value in [Current Limit Value] has been exceeded." + }, + { + "input": 62, + "output": "Programmed value in [Current Limit Value] has been exceeded." + }, + { + "input": 63, + "output": "Shear Pinx Level Program A486, A488 \u003e Share Pinx Time Program A487, A489" + }, + { + "input": 64, + "output": "Drive overload rating has been exceeded." + }, + { + "input": 71, + "output": "Control over the Modbus or DSI comm link has been interrupted" + }, + { + "input": 72, + "output": "Control over the network option card\u0027s remote network has been interrupted." + }, + { + "input": 73, + "output": "Control through the embedded EtherNet/IP adapter interrupted." + }, + { + "input": 74, + "output": "The DPI communications option has a fault." + }, + { + "input": 75, + "output": "The DPI communications option has a fault." + }, + { + "input": 76, + "output": "The DPI communications option has a fault." + }, + { + "input": 77, + "output": "Calculate is the autotune default is not in the range of acceptable values." + }, + { + "input": 78, + "output": "Value for flux amps determined by autotune exceeds [Motor NP FLA]." + }, + { + "input": 79, + "output": "Motor did not come up to speed in allotted time during Autotune." + }, + { + "input": 80, + "output": "The autotune function was either cancelled by the user or failed." + }, + { + "input": 81, + "output": "Modbus or DSI master device have been interrupted." + }, + { + "input": 82, + "output": "Network option card have been interrupted." + }, + { + "input": 83, + "output": "Comm. between the drive and the Emb. EtherNet/IP adapter interrupted." + }, + { + "input": 84, + "output": "The DPI port stopped communicating." + }, + { + "input": 85, + "output": "The DPI port stopped communicating." + }, + { + "input": 86, + "output": "The DPI port stopped communicating." + }, + { + "input": 87, + "output": "Volt calculated for motor inductive impedance \u003e 25% of [Motor NP Volts]." + }, + { + "input": 91, + "output": "Required differential encoder. One of the 2 encoder chanel sig. missing." + }, + { + "input": 93, + "output": "Hardware Enable is disabled but still indicateds drive is not enabled." + }, + { + "input": 94, + "output": "\"Freeze-Fire\" (Function Loss) input is inactive" + }, + { + "input": 95, + "output": "Fdbck loss has been detected for the source of P132 Âux Vel Fdbk Sel]" + }, + { + "input": 96, + "output": "A Fdbck Loss has been detected for the source of P847 [Psn Fdbk]" + }, + { + "input": 100, + "output": "Drive parameter non-volatile storage is corrupted" + }, + { + "input": 101, + "output": "External non-volatile storage has failed." + }, + { + "input": 105, + "output": "Control module was disconnected while drive was powered." + }, + { + "input": 106, + "output": "The PF525 control module doesn\u0027t support power module with 0.25 HP" + }, + { + "input": 107, + "output": "The control module couldn\u0027t recognize the power module. Hardware failure." + }, + { + "input": 109, + "output": "The control module was mounted to a different drive type power module." + }, + { + "input": 110, + "output": "Keypad membrane failure / disconnected." + }, + { + "input": 111, + "output": "Safety input enable H/W malfunction. Safety inputs is not enabled." + }, + { + "input": 114, + "output": "Microprocessor failure." + }, + { + "input": 122, + "output": "Failure detected in drive control \u0026 I/O section." + }, + { + "input": 125, + "output": "The firmware is corrupt, mismatched, or incompatible with th hardware." + }, + { + "input": 126, + "output": "Non-recoverable fmwr of hrdwr error \u0026 drive was stopped and reset" + }, + { + "input": 127, + "output": "A critical problem with the firmware was detected." + }, + { + "input": 70, + "output": "Failure has been detected in the drive power section." + }, + { + "input": 6, + "output": "Drive is unable to accelerate or decelerate motor." + } + ], + "outputType": "document", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.data[2].Severity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "AOI_Tag": "{view.params.AOI_Tag}" + }, + "tagPath": "{AOI_Tag}/Sts_eEventType/Sts_eEventType_2_" + }, + "transforms": [ + { + "fallback": "", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "Status" + }, + { + "input": 2, + "output": "Warning" + }, + { + "input": 3, + "output": "Fault" + } + ], + "outputType": "document", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.data[2].Time": { + "binding": { + "config": { + "expression": "if(!({this.props.data[2].Severity} \u003d \"\"),\r\ntag({view.params.AOI_Tag}+\"/Sts_tEventTimeD2/Sts_tEventTimeD2_0_\") + \"-\" +\r\nif(tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD2/Sts_tEventTimeD2_1_\")\u003e9,tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD2/Sts_tEventTimeD2_1_\"), \"0\" + tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD2/Sts_tEventTimeD2_1_\")) + \"-\" +\r\nif(tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD2/Sts_tEventTimeD2_2_\")\u003e9,tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD2/Sts_tEventTimeD2_2_\"), \"0\" + tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD2/Sts_tEventTimeD2_2_\")) + \" \" +\r\ntag({view.params.AOI_Tag}+\"/Sts_tEventTimeD2/Sts_tEventTimeD2_3_\") + \":\" +\r\nif(tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD2/Sts_tEventTimeD2_4_\")\u003e9,tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD2/Sts_tEventTimeD2_4_\"), \"0\" + tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD2/Sts_tEventTimeD2_4_\")) + \":\" +\r\nif(tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD2/Sts_tEventTimeD2_5_\")\u003e9,tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD2/Sts_tEventTimeD2_5_\"), \"0\" + tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD2/Sts_tEventTimeD2_5_\")),\r\n\"\")" + }, + "type": "expr" + } + }, + "props.data[3].Description": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "AOI_Tag": "{view.params.AOI_Tag}" + }, + "tagPath": "{AOI_Tag}/Sts_eEventValue/Sts_eEventValue_3_" + }, + "transforms": [ + { + "fallback": "", + "inputType": "scalar", + "mappings": [ + { + "input": 2, + "output": "External trip (Auxiliary input." + }, + { + "input": 3, + "output": "Single phase operation detected with excessive load." + }, + { + "input": 4, + "output": "DC Bus Volts \u003c Undervoltage Level" + }, + { + "input": 5, + "output": "DC Bus Volts \u003e Max Value." + }, + { + "input": 7, + "output": "An internal electronic overload trip has occurred." + }, + { + "input": 8, + "output": "Heatsink/Power Module temperature exceeds a predefined value." + }, + { + "input": 9, + "output": "Control module temperature exceeds a predefined value." + }, + { + "input": 10, + "output": "The dynamic brake resistor has exceeds its max. operating temp." + }, + { + "input": 12, + "output": "The drive output current has exceeded the hardware current limit." + }, + { + "input": 13, + "output": "A current path to earth grnd detected at one or more of the drive o/p ter." + }, + { + "input": 14, + "output": "The grnd current \u003e the level set in Grnd Warning Level Param 467." + }, + { + "input": 15, + "output": "O/P torque curr \u003c Load Loss Level A490 for a time \u003e Load Loss Time A491." + }, + { + "input": 16, + "output": "Motor Thermistor" + }, + { + "input": 17, + "output": "The DC bus ripple has exceeded a preset level" + }, + { + "input": 18, + "output": "Motor Positive Temperature Coefficient over temp." + }, + { + "input": 19, + "output": "System resource utilization is at or above 90 % of capacity." + }, + { + "input": 20, + "output": "Commanded speed, encoder speed differential and timeout exceeded." + }, + { + "input": 21, + "output": "O/P Phase Loss (if enabled). Configure with A557 [Out Phas Loss En]." + }, + { + "input": 24, + "output": "The drive is not following a commanded decelration." + }, + { + "input": 25, + "output": "Motor oper. speed \u003e limit set by the max speed P524 [Overspeed Limit]" + }, + { + "input": 26, + "output": "Encoder movement \u003e level in [Brake Slip Count] after the brake was set." + }, + { + "input": 27, + "output": "Torque Prove Conflict" + }, + { + "input": 28, + "output": "Encoderless operation not read and/or understood" + }, + { + "input": 29, + "output": "Analog input has lost signal." + }, + { + "input": 33, + "output": "Drive unsuccessfully attempted to reset a fault" + }, + { + "input": 35, + "output": "The current magnitude \u003e trip level set by P1640 [IPMMax Cur]" + }, + { + "input": 36, + "output": "The current magnitude \u003e trip level set by P1640 [IPMMax Cur]" + }, + { + "input": 38, + "output": "A phase to grnd fault has been detected between the drive \u0026 motor" + }, + { + "input": 39, + "output": "A phase to grnd fault has been detected between the drive \u0026 motor" + }, + { + "input": 40, + "output": "A phase to grnd fault has been detected between the drive \u0026 motor" + }, + { + "input": 41, + "output": "Excessive current has been detected between output terminals." + }, + { + "input": 42, + "output": "Excessive current has been detected between output terminals." + }, + { + "input": 43, + "output": "Excessive current has been detected between output terminals." + }, + { + "input": 44, + "output": "A phase to grnd fault has been detected between the drive \u0026 motor in this phase." + }, + { + "input": 45, + "output": "A phase to grnd fault has been detected between the drive \u0026 motor in this phase." + }, + { + "input": 46, + "output": "A phase to grnd fault has been detected between the drive \u0026 motor in this phase." + }, + { + "input": 48, + "output": "The drive was commanded to write default values to EEPROM." + }, + { + "input": 49, + "output": "Power Up Marker in fault queue is indicating a drive power cycle." + }, + { + "input": 51, + "output": "Indication that the fault queue has been cleared." + }, + { + "input": 52, + "output": "Faults Cleared" + }, + { + "input": 55, + "output": "Temp. sensor on the Main Control board detected excessive heat." + }, + { + "input": 59, + "output": "Safety 1 \u0026 Safety 2 inputs are not enabled." + }, + { + "input": 61, + "output": "Programmed value in [Current Limit Value] has been exceeded." + }, + { + "input": 62, + "output": "Programmed value in [Current Limit Value] has been exceeded." + }, + { + "input": 63, + "output": "Shear Pinx Level Program A486, A488 \u003e Share Pinx Time Program A487, A489" + }, + { + "input": 64, + "output": "Drive overload rating has been exceeded." + }, + { + "input": 71, + "output": "Control over the Modbus or DSI comm link has been interrupted" + }, + { + "input": 72, + "output": "Control over the network option card\u0027s remote network has been interrupted." + }, + { + "input": 73, + "output": "Control through the embedded EtherNet/IP adapter interrupted." + }, + { + "input": 74, + "output": "The DPI communications option has a fault." + }, + { + "input": 75, + "output": "The DPI communications option has a fault." + }, + { + "input": 76, + "output": "The DPI communications option has a fault." + }, + { + "input": 77, + "output": "Calculate is the autotune default is not in the range of acceptable values." + }, + { + "input": 78, + "output": "Value for flux amps determined by autotune exceeds [Motor NP FLA]." + }, + { + "input": 79, + "output": "Motor did not come up to speed in allotted time during Autotune." + }, + { + "input": 80, + "output": "The autotune function was either cancelled by the user or failed." + }, + { + "input": 81, + "output": "Modbus or DSI master device have been interrupted." + }, + { + "input": 82, + "output": "Network option card have been interrupted." + }, + { + "input": 83, + "output": "Comm. between the drive and the Emb. EtherNet/IP adapter interrupted." + }, + { + "input": 84, + "output": "The DPI port stopped communicating." + }, + { + "input": 85, + "output": "The DPI port stopped communicating." + }, + { + "input": 86, + "output": "The DPI port stopped communicating." + }, + { + "input": 87, + "output": "Volt calculated for motor inductive impedance \u003e 25% of [Motor NP Volts]." + }, + { + "input": 91, + "output": "Required differential encoder. One of the 2 encoder chanel sig. missing." + }, + { + "input": 93, + "output": "Hardware Enable is disabled but still indicateds drive is not enabled." + }, + { + "input": 94, + "output": "\"Freeze-Fire\" (Function Loss) input is inactive" + }, + { + "input": 95, + "output": "Fdbck loss has been detected for the source of P132 Âux Vel Fdbk Sel]" + }, + { + "input": 96, + "output": "A Fdbck Loss has been detected for the source of P847 [Psn Fdbk]" + }, + { + "input": 100, + "output": "Drive parameter non-volatile storage is corrupted" + }, + { + "input": 101, + "output": "External non-volatile storage has failed." + }, + { + "input": 105, + "output": "Control module was disconnected while drive was powered." + }, + { + "input": 106, + "output": "The PF525 control module doesn\u0027t support power module with 0.25 HP" + }, + { + "input": 107, + "output": "The control module couldn\u0027t recognize the power module. Hardware failure." + }, + { + "input": 109, + "output": "The control module was mounted to a different drive type power module." + }, + { + "input": 110, + "output": "Keypad membrane failure / disconnected." + }, + { + "input": 111, + "output": "Safety input enable H/W malfunction. Safety inputs is not enabled." + }, + { + "input": 114, + "output": "Microprocessor failure." + }, + { + "input": 122, + "output": "Failure detected in drive control \u0026 I/O section." + }, + { + "input": 125, + "output": "The firmware is corrupt, mismatched, or incompatible with th hardware." + }, + { + "input": 126, + "output": "Non-recoverable fmwr of hrdwr error \u0026 drive was stopped and reset" + }, + { + "input": 127, + "output": "A critical problem with the firmware was detected." + }, + { + "input": 70, + "output": "Failure has been detected in the drive power section." + }, + { + "input": 6, + "output": "Drive is unable to accelerate or decelerate motor." + } + ], + "outputType": "document", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.data[3].Severity": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "AOI_Tag": "{view.params.AOI_Tag}" + }, + "tagPath": "{AOI_Tag}/Sts_eEventType/Sts_eEventType_3_" + }, + "transforms": [ + { + "fallback": "", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "Status" + }, + { + "input": 2, + "output": "Warning" + }, + { + "input": 3, + "output": "Fault" + } + ], + "outputType": "document", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.data[3].Time": { + "binding": { + "config": { + "expression": "if(!({this.props.data[3].Severity} \u003d \"\"),\r\ntag({view.params.AOI_Tag}+\"/Sts_tEventTimeD3/Sts_tEventTimeD3_0_\") + \"-\" +\r\nif(tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD3/Sts_tEventTimeD3_1_\")\u003e9,tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD3/Sts_tEventTimeD3_1_\"), \"0\" + tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD3/Sts_tEventTimeD3_1_\")) + \"-\" +\r\nif(tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD3/Sts_tEventTimeD3_2_\")\u003e9,tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD3/Sts_tEventTimeD3_2_\"), \"0\" + tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD3/Sts_tEventTimeD3_2_\")) + \" \" +\r\ntag({view.params.AOI_Tag}+\"/Sts_tEventTimeD3/Sts_tEventTimeD3_3_\") + \":\" +\r\nif(tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD3/Sts_tEventTimeD3_4_\")\u003e9,tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD3/Sts_tEventTimeD3_4_\"), \"0\" + tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD3/Sts_tEventTimeD3_4_\")) + \":\" +\r\nif(tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD3/Sts_tEventTimeD3_5_\")\u003e9,tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD3/Sts_tEventTimeD3_5_\"), \"0\" + tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD3/Sts_tEventTimeD3_5_\")),\r\n\"\")" + }, + "type": "expr" + } + } + }, + "props": { + "data": [ + {}, + {}, + {}, + {} + ], + "pager": { + "bottom": false + }, + "rows": { + "height": 66, + "subviewExpansionMode": "single" + }, + "selection": { + "enableRowSelection": false + } + }, + "type": "ia.display.table" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "lbl_Dtl" + }, + "position": { + "basis": "100px" + }, + "props": { + "style": { + "fontWeight": "bold", + "marginLeft": 5 + }, + "text": "Detail" + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.parent.parent.parent.parent.getChild(\"Fct_Fault\").custom.detailledView \u003d not self.parent.parent.parent.parent.getChild(\"Fct_Fault\").custom.detailledView" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "icn_Close" + }, + "position": { + "basis": "50px" + }, + "props": { + "color": "#808080", + "path": "material/close" + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "Fct_Hdr" + }, + "position": { + "basis": "50px" + }, + "props": { + "justify": "space-between", + "style": { + "backgroundColor": "#D1D3D5", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "lbl_Time" + }, + "position": { + "basis": "32px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD\"+{parent.custom.eventNr}+\"/Sts_tEventTimeD\"+{parent.custom.eventNr}+\"_0_\") + \"-\" +\r\nif(tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD\"+{parent.custom.eventNr}+\"/Sts_tEventTimeD\"+{parent.custom.eventNr}+\"_1_\")\u003e9,tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD\"+{parent.custom.eventNr}+\"/Sts_tEventTimeD\"+{parent.custom.eventNr}+\"_1_\"), \"0\" + tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD\"+{parent.custom.eventNr}+\"/Sts_tEventTimeD\"+{parent.custom.eventNr}+\"_1_\")) + \"-\" +\r\nif(tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD\"+{parent.custom.eventNr}+\"/Sts_tEventTimeD\"+{parent.custom.eventNr}+\"_2_\")\u003e9,tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD\"+{parent.custom.eventNr}+\"/Sts_tEventTimeD\"+{parent.custom.eventNr}+\"_2_\"), \"0\" + tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD\"+{parent.custom.eventNr}+\"/Sts_tEventTimeD\"+{parent.custom.eventNr}+\"_2_\")) + \" \" +\r\ntag({view.params.AOI_Tag}+\"/Sts_tEventTimeD\"+{parent.custom.eventNr}+\"/Sts_tEventTimeD\"+{parent.custom.eventNr}+\"_3_\") + \":\" +\r\nif(tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD\"+{parent.custom.eventNr}+\"/Sts_tEventTimeD\"+{parent.custom.eventNr}+\"_4_\")\u003e9,tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD\"+{parent.custom.eventNr}+\"/Sts_tEventTimeD\"+{parent.custom.eventNr}+\"_4_\"), \"0\" + tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD\"+{parent.custom.eventNr}+\"/Sts_tEventTimeD\"+{parent.custom.eventNr}+\"_4_\")) + \":\" +\r\nif(tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD\"+{parent.custom.eventNr}+\"/Sts_tEventTimeD\"+{parent.custom.eventNr}+\"_5_\")\u003e9,tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD\"+{parent.custom.eventNr}+\"/Sts_tEventTimeD\"+{parent.custom.eventNr}+\"_5_\"), \"0\" + tag({view.params.AOI_Tag}+\"/Sts_tEventTimeD\"+{parent.custom.eventNr}+\"/Sts_tEventTimeD\"+{parent.custom.eventNr}+\"_5_\"))" + }, + "type": "expr" + } + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "lbl_Desc" + }, + "position": { + "basis": "32px" + }, + "props": { + "style": { + "fontWeight": "bold" + }, + "text": "Description/Action" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "mkd_Desc" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "AOI_Tag": "{view.params.AOI_Tag}", + "eventNr": "{parent.custom.eventNr}" + }, + "tagPath": "{AOI_Tag}/Sts_eEventValue/Sts_eEventValue_{eventNr}_" + }, + "transforms": [ + { + "fallback": "", + "inputType": "scalar", + "mappings": [ + { + "input": 2, + "output": "An aux. input is open. \u003cbr\u003e An Aplication interlock is preventing drive from energizing the motor. \u003cbr\u003e \u003cbr\u003e 1. Check aux. interlock wiring \u003cbr\u003e 2. Verify communications programming for intentional fault. " + }, + { + "input": 3, + "output": "Power Loss \u003cbr\u003e \u003cbr\u003e 1. Monitor incoming AC line for low voltage or line power interruption \u003cbr\u003e 2. Check input fuses \u003cbr\u003e 3. Reduce load" + }, + { + "input": 4, + "output": "DC Bus Volts \u003c Undervoltage Level \u003cbr\u003e\u003cbr\u003eMonitor the incoming AC line for low voltage or line interruption" + }, + { + "input": 5, + "output": "Monitor the AC line for high line voltage or transient conditions.\u003cbr\u003e Bus overvoltage can also be caused by motor regeneration. \u003cbr\u003e\u003cbr\u003eExtend the decel time or install dynamic brake option." + }, + { + "input": 7, + "output": "An excessive motor load exists. \u003cbr\u003e\u003cbr\u003e1. Reduce load so drive output current does not exceed the current set by parameter P033 (Motor OL Current) \u003cbr\u003e2. Verify A530 (Boost Select) setting" + }, + { + "input": 8, + "output": "Heatsink/Power Module temperature exceeds a predefined value. \u003cbr\u003e\u003cbr\u003e1. Check for blocked or dirty heat sink fins. \u003cbr\u003e2. Verify that ambient temperature has not exceeded the rated ambient temperature \u003cbr\u003e3. Check fan." + }, + { + "input": 9, + "output": "Control module temperature exceeds a predefined value. \u003cbr\u003e\u003cbr\u003e1. Check product ambient temperature\u003cbr\u003e2. Check for airflow obstruction \u003cbr\u003e3. Check for dirt or debris \u003cbr\u003e4. Check fan" + }, + { + "input": 10, + "output": "The dynamic brake resistor has exceeds its max. operating temp." + }, + { + "input": 12, + "output": "The drive output current has exceeded the hardware current limit.\u003cbr\u003e\u003cbr\u003e1. Check for excess load \u003cbr\u003e2. Check for improper A530 boost setting \u003cbr\u003e3. Check DC brake volts setting too high or other causes of excess current" + }, + { + "input": 13, + "output": "A current path to earth ground detected. \u003cbr\u003e\u003cbr\u003e Check the motor and external wiring to the drive output terminals for a grounded condition" + }, + { + "input": 14, + "output": "The grnd current \u003e the level set in Grnd Warning Level Param 467." + }, + { + "input": 15, + "output": "Load loss \u003cbr\u003e\u003cbr\u003e1. Verify connections between motor and load.\u003cbr\u003e2. Verify level and time requirements." + }, + { + "input": 16, + "output": "Motor Thermistor" + }, + { + "input": 17, + "output": "The DC bus ripple has exceeded a preset level" + }, + { + "input": 18, + "output": "Motor Positive Temperature Coefficient over temp." + }, + { + "input": 19, + "output": "System resource utilization is at or above 90 % of capacity." + }, + { + "input": 20, + "output": "Commanded speed, encoder speed differential and timeout exceeded." + }, + { + "input": 21, + "output": "Output Phase loss \u003cbr\u003e\u003cbr\u003e1. Verify motor wiring\u003cbr\u003e2. Verify motor" + }, + { + "input": 24, + "output": "The drive is not following a commanded decelration." + }, + { + "input": 25, + "output": "Motor oper. speed \u003e limit set by the max speed P524 (Overspeed Limit)" + }, + { + "input": 26, + "output": "Encoder movement \u003e level in (Brake Slip Count) after the brake was set." + }, + { + "input": 27, + "output": "Torque Prove Conflict" + }, + { + "input": 28, + "output": "Encoderless operation not read and/or understood" + }, + { + "input": 29, + "output": "Analog input has lost signal. \u003cbr\u003e\u003cbr\u003e1. Check parameters.\u003cbr\u003e2. Check for broken/loose connections at inputs." + }, + { + "input": 33, + "output": "Drive unsuccessfully attempted to reset a fault and resume running for the programmed number A541 of tries \u003cbr\u003e\u003cbr\u003eCorrect the cause of the fault and manually clear." + }, + { + "input": 35, + "output": "The current magnitude \u003e trip level set by P1640 (IPMMax Cur)" + }, + { + "input": 36, + "output": "The current magnitude \u003e trip level set by P1640 (IPMMax Cur)" + }, + { + "input": 38, + "output": "A phase to ground fault has been detected between the drive and motor in this phase \u003cbr\u003e\u003cbr\u003e1. Check the wiring between the drive and motor \u003cbr\u003e2. Check motor for grounded phase. \u003cbr\u003e3. Replace drive." + }, + { + "input": 39, + "output": "A phase to ground fault has been detected between the drive and motor in this phase \u003cbr\u003e\u003cbr\u003e1. Check the wiring between the drive and motor \u003cbr\u003e2. Check motor for grounded phase. \u003cbr\u003e3. Replace drive." + }, + { + "input": 40, + "output": "A phase to ground fault has been detected between the drive and motor in this phase \u003cbr\u003e\u003cbr\u003e1. Check the wiring between the drive and motor \u003cbr\u003e2. Check motor for grounded phase. \u003cbr\u003e3. Replace drive." + }, + { + "input": 41, + "output": "Excessive current has been detected between these two output terminals. \u003cbr\u003e\u003cbr\u003e 1. Check the motor and drive output terminal wiring for a shorted condition. \u003cbr\u003e2. Replace drive." + }, + { + "input": 42, + "output": "Excessive current has been detected between these two output terminals. \u003cbr\u003e\u003cbr\u003e 1. Check the motor and drive output terminal wiring for a shorted condition. \u003cbr\u003e2. Replace drive." + }, + { + "input": 43, + "output": "Excessive current has been detected between these two output terminals. \u003cbr\u003e\u003cbr\u003e 1. Check the motor and drive output terminal wiring for a shorted condition. \u003cbr\u003e2. Replace drive." + }, + { + "input": 44, + "output": "A phase to grnd fault has been detected between the drive \u0026 motor in this phase." + }, + { + "input": 45, + "output": "A phase to grnd fault has been detected between the drive \u0026 motor in this phase." + }, + { + "input": 46, + "output": "A phase to grnd fault has been detected between the drive \u0026 motor in this phase." + }, + { + "input": 48, + "output": "The drive was commanded to write default values to EEPROM. \u003cbr\u003e\u003cbr\u003e1. Clear the fault or cycle power to the drive. \u003cbr\u003e2. Program the drive parameters as needed." + }, + { + "input": 49, + "output": "Power Up Marker in fault queue is indicating a drive power cycle." + }, + { + "input": 51, + "output": "Indication that the fault queue has been cleared." + }, + { + "input": 52, + "output": "Faults Cleared" + }, + { + "input": 55, + "output": "Temp. sensor on the Main Control board detected excessive heat." + }, + { + "input": 59, + "output": "Safety 1 \u0026 Safety 2 inputs are not enabled. \u003cbr\u003e\u003cbr\u003eCheck safety input signals. If not using safety, verify \u0026 tighten jumper for I/O terminals S1, S2 \u0026 S+" + }, + { + "input": 61, + "output": "Programmed value in [Current Limit Value] has been exceeded." + }, + { + "input": 62, + "output": "Programmed value in [Current Limit Value] has been exceeded." + }, + { + "input": 63, + "output": "Shear Pinx Level Program A486, A488 \u003e Share Pinx Time Program A487, A489 \u003cbr\u003e\u003cbr\u003e1. Verify connections between motor and load. \u003cbr\u003e2. Verify level and time requirements." + }, + { + "input": 64, + "output": "Drive Overload detected. Drive rating of 110% for 1 minute or 150% for 3 seconds has been exceeded. \u003cbr\u003e\u003cbr\u003e Reduce load or extend Accel. Time." + }, + { + "input": 71, + "output": "Control over the Modbus or DSI comm link has been interrupted \u003cbr\u003e\u003cbr\u003e1. Cycle power \u003cbr\u003e2. Check communicatings cabling \u003cbr\u003e3. Check Modbus or DSI settings \u003cbr\u003e4. Check Modbus or DSI Status." + }, + { + "input": 72, + "output": "Control over the network option card\u0027s remote network has been interrupted. \u003cbr\u003e\u003cbr\u003e1. Cycle power \u003cbr\u003e2. Check communications cabling \u003cbr\u003e3. Check network adapter settings \u003cbr\u003e4. Check external network status." + }, + { + "input": 73, + "output": "Control through the embedded EtherNet/IP adapter interrupted. \u003cbr\u003e\u003cbr\u003e1. Cycle power \u003cbr\u003e2. Check communications cabling \u003cbr\u003e3. Check EtherNet/IP settings \u003cbr\u003e4. Check external network status." + }, + { + "input": 74, + "output": "The DPI communications option has a fault." + }, + { + "input": 75, + "output": "The DPI communications option has a fault." + }, + { + "input": 76, + "output": "The DPI communications option has a fault." + }, + { + "input": 77, + "output": "Calculate is the autotune default is not in the range of acceptable values." + }, + { + "input": 78, + "output": "Value for flux amps determined by autotune exceeds (Motor NP FLA)." + }, + { + "input": 79, + "output": "Motor did not come up to speed in allotted time during Autotune." + }, + { + "input": 80, + "output": "The autotune function was manually cancelled or fault occured \u003cbr\u003e\u003cbr\u003eRestart procedure." + }, + { + "input": 81, + "output": "DSI Communication Interrupted. \u003cbr\u003e1. Cycle power, Check communication cabling. \u003cbr\u003e2. Check Modbus or DSI settings and Status \u003cbr\u003e3. Modify using C125 (Comm Loss Action) \u003cbr\u003e4. Connecting I/O terminals C1 and C2 to ground may improve noise immunity \u003cbr\u003e5. Replace wiring, Modbus master device or control module" + }, + { + "input": 82, + "output": "Network option card interrupted. \u003cbr\u003e\u003cbr\u003e1. Cycle power \u003cbr\u003e2. Reinstall option card in drive \u003cbr\u003e3. Modify using C125 (Comm Loss Action). \u003cbr\u003e4. Replace wiring, port expander, option card or control module." + }, + { + "input": 83, + "output": "Embedded EtherNet/IP adapter interrupted. \u003cbr\u003e\u003cbr\u003e1. Cycle power \u003cbr\u003e2. Check EtherNet/IP setting \u003cbr\u003e3. Checkdrive\u0027s Ethernet settings and diagnostic parameters. \u003cbr\u003e4. Modify using C125 (Comm Loss Action) \u003cbr\u003e5. Replace wiring, Ethernet switch or control module." + }, + { + "input": 84, + "output": "The DPI port stopped communicating." + }, + { + "input": 85, + "output": "The DPI port stopped communicating." + }, + { + "input": 86, + "output": "The DPI port stopped communicating." + }, + { + "input": 87, + "output": "Volt calculated for motor inductive impedance \u003e 25% of (Motor NP Volts)." + }, + { + "input": 91, + "output": "Encoder signals is missing \u003cbr\u003e\u003cbr\u003e1. Check wiring. \u003cbr\u003e2. If P047, P049, P051 (Speed Referencex) \u003d 16 Positioning and A535 (Motor Fdbk Type) \u003d 5 Quad check, swap the encoder channel inputs or swap any two motor leads. \u003cbr\u003e3. Replace encoder" + }, + { + "input": 93, + "output": "Hardware Enable is disabled but still indicateds drive is not enabled." + }, + { + "input": 94, + "output": "\"Freeze-Fire\" (Function Loss) input is inactive, input to the programmed terminal is open. \u003cbr\u003e\u003cbr\u003eClose input to terminal and cycle power" + }, + { + "input": 100, + "output": "Drive parameter non-volatile storage is corrupted. \u003cbr\u003e\u003cbr\u003eSet P053 (Reset To Defauts) to 2 \u0027Factory Rset\u0027" + }, + { + "input": 101, + "output": "External non-volatile storage has failed. \u003cbr\u003e\u003cbr\u003eSet P053 (Reset To Defaults) to 2 \u0027Factory Rset\u0027" + }, + { + "input": 105, + "output": "Control module was disconnected while drive was powered. \u003cbr\u003e\u003cbr\u003e1. Clear fault and verify all parameter settings. \u003cbr\u003e2. Do not remove or install the control module while power is applied" + }, + { + "input": 106, + "output": "The PF525 control module doesn\u0027t support power modules \u003cbr\u003e\u003cbr\u003e1. Change to a different power module. \u003cbr\u003e2. Change to a PowerFlex 523 control module." + }, + { + "input": 107, + "output": "The control module couldn\u0027t recognize the power module. Hardware failure. \u003cbr\u003e\u003cbr\u003e1. Change to a different power module. \u003cbr\u003e2. Replace control module if changing power module does not work." + }, + { + "input": 109, + "output": "The control module was mounted to a different drive type power module. \u003cbr\u003e\u003cbr\u003eSet P053 (Reset To Defaults) to 3 \u0027PowerReset\u0027" + }, + { + "input": 110, + "output": "Keypad membrane failure / disconnected. \u003cbr\u003e\u003cbr\u003e1. Cycle power \u003cbr\u003e2. Replace control module if fault cannot be cleared" + }, + { + "input": 111, + "output": "Safety Hardware \u003cbr\u003e\u003cbr\u003e1. Check safety input signals. If not using safety, verify and tighten jumber for I/O terminals S1, S2 and S+. \u003cbr\u003e2. Replace control module if fault cannot be cleared." + }, + { + "input": 114, + "output": "Microprocessor failure. \u003cbr\u003e\u003cbr\u003e1. Cylce power. \u003cbr\u003e2. Verify grounding requirements. \u003cbr\u003e3. Replace control module if fault cannot be cleared." + }, + { + "input": 122, + "output": "Failure detected in drive control \u0026 I/O section. \u003cbr\u003e\u003cbr\u003e1. Cycle power. \u003cbr\u003e2. Replace drive or control module if fault cannot be cleared." + }, + { + "input": 125, + "output": "Application did not flash correctly. \u003cbr\u003e\u003cbr\u003eReflash" + }, + { + "input": 126, + "output": "Non-recoverable fmwr of hrdwr error \u0026 drive was stopped and reset. \u003cbr\u003e\u003cbr\u003e1. Clear fault or cycle power to the drive. \u003cbr\u003e2. Replace drive or control module if fault cannot be cleared." + }, + { + "input": 127, + "output": "A critical problem with the firmware was detected. Drive is using backup fmwr taht only supports DSI comms \u003cbr\u003e\u003cbr\u003ePerform firmware flash update using DSI communications to attempt to load a valid set of firmware." + }, + { + "input": 70, + "output": "Failure has been detected in the drive power section. \u003cbr\u003e\u003cbr\u003e1. Check maximum ambient temp has not been exceeded. \u003cbr\u003e2. Cycle power. \u003cbr\u003e3. Replace drive if fault cannot be cleared." + }, + { + "input": 6, + "output": "Drive is unable to accelerate or decelerate motor. \u003cbr\u003e\u003cbr\u003e1. Increase P041, A442, A444, A446 (Accel Time x) or reduce load so drive output current does not exceed the current set by parameter A484, A485 (Current Limit x) for too long. \u003cbr\u003e2. Check for overhaulding load." + } + ], + "outputType": "document", + "type": "map" + } + ], + "type": "tag" + } + } + }, + "props": { + "markdown": { + "escapeHtml": false + } + }, + "type": "ia.display.markdown" + } + ], + "meta": { + "name": "Fct_FltDtl" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "propConfig": { + "custom.eventNr": { + "binding": { + "config": { + "path": "parent.custom.rowIndex" + }, + "type": "property" + } + }, + "position.display": { + "binding": { + "config": { + "path": "parent.custom.detailledView" + }, + "type": "property" + } + } + }, + "props": { + "direction": "column", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "custom": { + "detailledView": 0, + "rowIndex": 0 + }, + "meta": { + "name": "Fct_Fault" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": ".../Nav_Menu.props.params.ErrorSelected" + }, + "transforms": [ + { + "expression": "toBoolean({value})", + "type": "expression" + } + ], + "type": "property" + }, + "onChange": { + "enabled": null, + "script": "\tif currentValue.value \u003d\u003d 0:\n\t\tself.custom.detailledView \u003d 0\n\t\tprint \"test\"" + } + } + }, + "props": { + "direction": "column", + "style": { + "borderColor": "#AAAAAA", + "borderStyle": "solid", + "borderWidth": 1, + "classes": "Popups/core", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Fct_Core" + }, + "position": { + "basis": "250px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "Popups/background" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.reporting/reports/Alarm Report Standard/data.bin b/project/dcframe1-hmi1/Core/com.inductiveautomation.reporting/reports/Alarm Report Standard/data.bin new file mode 100644 index 0000000..38add3a Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.reporting/reports/Alarm Report Standard/data.bin differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.reporting/reports/Alarm Report Standard/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.reporting/reports/Alarm Report Standard/resource.json new file mode 100644 index 0000000..2eef249 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.reporting/reports/Alarm Report Standard/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "data.bin" + ], + "attributes": { + "lastModificationSignature": "115850c6b82612a1daf5364de554c791c4d3767cfd3ecec6821318cdb2bbe0d0", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.vision/client-event-scripts/data.bin b/project/dcframe1-hmi1/Core/com.inductiveautomation.vision/client-event-scripts/data.bin new file mode 100644 index 0000000..003b0e1 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.vision/client-event-scripts/data.bin differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.vision/client-event-scripts/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.vision/client-event-scripts/resource.json new file mode 100644 index 0000000..aa620b0 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.vision/client-event-scripts/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "C", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "data.bin" + ], + "attributes": { + "lastModificationSignature": "194b82d38fc51a8bab6b0f890b427f6548df1ae3acc1f1553181ccbec6ac2fc2", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.vision/client-tags/data.bin b/project/dcframe1-hmi1/Core/com.inductiveautomation.vision/client-tags/data.bin new file mode 100644 index 0000000..0457110 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.vision/client-tags/data.bin differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.vision/client-tags/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.vision/client-tags/resource.json new file mode 100644 index 0000000..dc1b660 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.vision/client-tags/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "C", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "data.bin" + ], + "attributes": { + "lastModificationSignature": "6582e620f1a5c1d8b080021d686fa3346d1c7c52ae346f759c9ff2ce342cd844", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.vision/launch-properties/data.bin b/project/dcframe1-hmi1/Core/com.inductiveautomation.vision/launch-properties/data.bin new file mode 100644 index 0000000..a69486c Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.vision/launch-properties/data.bin differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.vision/launch-properties/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.vision/launch-properties/resource.json new file mode 100644 index 0000000..2c9188b --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.vision/launch-properties/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "CG", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "data.bin" + ], + "attributes": { + "lastModificationSignature": "85c03fe637045b0e89db42259058651ed4afb214931f9b07bae8c0aacdfa6eaf", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:09Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.vision/login-properties/data.bin b/project/dcframe1-hmi1/Core/com.inductiveautomation.vision/login-properties/data.bin new file mode 100644 index 0000000..e41ef12 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.vision/login-properties/data.bin differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.vision/login-properties/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.vision/login-properties/resource.json new file mode 100644 index 0000000..0475d39 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.vision/login-properties/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "C", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "data.bin" + ], + "attributes": { + "lastModificationSignature": "f42d08c007a9a1645bae004bf62ae825be32ae49a8373a27b3f591e5f1df52b9", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:09Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.vision/polling-properties/data.bin b/project/dcframe1-hmi1/Core/com.inductiveautomation.vision/polling-properties/data.bin new file mode 100644 index 0000000..a013f99 Binary files /dev/null and b/project/dcframe1-hmi1/Core/com.inductiveautomation.vision/polling-properties/data.bin differ diff --git a/project/dcframe1-hmi1/Core/com.inductiveautomation.vision/polling-properties/resource.json b/project/dcframe1-hmi1/Core/com.inductiveautomation.vision/polling-properties/resource.json new file mode 100644 index 0000000..778f221 --- /dev/null +++ b/project/dcframe1-hmi1/Core/com.inductiveautomation.vision/polling-properties/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "C", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "data.bin" + ], + "attributes": { + "lastModificationSignature": "61490d6db1fcbf1591c1789635947761d51885fbb009c72ccbd346dccb4f8126", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/ignition/event-scripts/data.bin b/project/dcframe1-hmi1/Core/ignition/event-scripts/data.bin new file mode 100644 index 0000000..52fd797 Binary files /dev/null and b/project/dcframe1-hmi1/Core/ignition/event-scripts/data.bin differ diff --git a/project/dcframe1-hmi1/Core/ignition/event-scripts/resource.json b/project/dcframe1-hmi1/Core/ignition/event-scripts/resource.json new file mode 100644 index 0000000..b7ef2b9 --- /dev/null +++ b/project/dcframe1-hmi1/Core/ignition/event-scripts/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "data.bin" + ], + "attributes": { + "lastModificationSignature": "4915f24f3de693a1263d2987cdf2a675130d37eae7ec178cd9066b3e07846dc4", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/ignition/global-props/data.bin b/project/dcframe1-hmi1/Core/ignition/global-props/data.bin new file mode 100644 index 0000000..b7a7158 Binary files /dev/null and b/project/dcframe1-hmi1/Core/ignition/global-props/data.bin differ diff --git a/project/dcframe1-hmi1/Core/ignition/global-props/resource.json b/project/dcframe1-hmi1/Core/ignition/global-props/resource.json new file mode 100644 index 0000000..a082ddc --- /dev/null +++ b/project/dcframe1-hmi1/Core/ignition/global-props/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "data.bin" + ], + "attributes": { + "lastModificationSignature": "e0636654e57f50dbea12115d611b014427f30ef25e4f3c037c89f4625cf5becc", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:49:02Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/ignition/named-query/Alarms/Alarm History Report/query.sql b/project/dcframe1-hmi1/Core/ignition/named-query/Alarms/Alarm History Report/query.sql new file mode 100644 index 0000000..97f372b --- /dev/null +++ b/project/dcframe1-hmi1/Core/ignition/named-query/Alarms/Alarm History Report/query.sql @@ -0,0 +1,15 @@ +SELECT + DATE_FORMAT(CONVERT_TZ(e.EventTimeStamp, '+00:00', '-05:00'), '%m/%d/%Y %h:%i:%s %p') eventTime, + e.SourceName as SourceName, + e.Message as DisplayPath, + REVERSE(INSERT(Reverse(Trim(CONCAT(CASE WHEN e.Active <> 0 THEN "Active, " ELSE "" END, CASE WHEN e.Acked <> 0 THEN "Acknowledged, " ELSE "" END, CASE WHEN e.Suppressed <> 0 THEN "Suppressed, " ELSE "" END, CASE WHEN e.Shelved <> 0 THEN "Shelved, " ELSE "" END))), 1, 1, "")) as States, + CASE WHEN e.Priority = 0 THEN 'Diagnostic' WHEN e.Priority = 1 THEN 'Low' WHEN e.Priority = 2 THEN 'Medium' WHEN e.Priority = 3 THEN 'High' WHEN e.Priority = 4 THEN 'Critical' ELSE '' END Priority, + e.Tag1Value eventValue, + e.PersonID as ackUser +FROM + allevent e +WHERE + e.EventTimeStamp BETWEEN :startDate AND :endDate AND Priority BETWEEN :minPriority AND :maxPriority AND + ((:active AND e.Active = True) OR (:ack AND e.Acked = True)) +ORDER BY e.EventTimeStamp DESC +LIMIT :limit \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/ignition/named-query/Alarms/Alarm History Report/resource.json b/project/dcframe1-hmi1/Core/ignition/named-query/Alarms/Alarm History Report/resource.json new file mode 100644 index 0000000..58d48b9 --- /dev/null +++ b/project/dcframe1-hmi1/Core/ignition/named-query/Alarms/Alarm History Report/resource.json @@ -0,0 +1,75 @@ +{ + "scope": "DG", + "version": 2, + "restricted": false, + "overridable": true, + "files": [ + "query.sql" + ], + "attributes": { + "useMaxReturnSize": false, + "autoBatchEnabled": false, + "fallbackValue": "", + "maxReturnSize": 100, + "cacheUnit": "SEC", + "type": "Query", + "enabled": true, + "cacheAmount": 1, + "cacheEnabled": false, + "database": "", + "fallbackEnabled": false, + "lastModificationSignature": "37fb1cc3397bcab6919db02c45977d1896722478e26671373824f5f6d6b1672b", + "permissions": [ + { + "zone": "", + "role": "" + } + ], + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + }, + "parameters": [ + { + "type": "Parameter", + "identifier": "startDate", + "sqlType": 8 + }, + { + "type": "Parameter", + "identifier": "endDate", + "sqlType": 8 + }, + { + "type": "Parameter", + "identifier": "active", + "sqlType": 6 + }, + { + "type": "Parameter", + "identifier": "clear", + "sqlType": 6 + }, + { + "type": "Parameter", + "identifier": "ack", + "sqlType": 6 + }, + { + "type": "Parameter", + "identifier": "limit", + "sqlType": 2 + }, + { + "type": "Parameter", + "identifier": "minPriority", + "sqlType": 2 + }, + { + "type": "Parameter", + "identifier": "maxPriority", + "sqlType": 2 + } + ] + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/ignition/named-query/Alarms/Alarm History/query.sql b/project/dcframe1-hmi1/Core/ignition/named-query/Alarms/Alarm History/query.sql new file mode 100644 index 0000000..30ca2a9 --- /dev/null +++ b/project/dcframe1-hmi1/Core/ignition/named-query/Alarms/Alarm History/query.sql @@ -0,0 +1,18 @@ +SELECT + DATE_FORMAT(e.eventTime, '%m/%d/%Y %h:%i:%s %p') eventTime, + e.displayPath, + SUBSTRING_INDEX(source, '/alm:', -1) name, + e.eventType, + CASE WHEN e.priority = 0 THEN 'Diagnostic' WHEN e.priority = 1 THEN 'Low' WHEN e.priority = 2 THEN 'Medium' WHEN e.priority = 3 THEN 'High' WHEN e.priority = 4 THEN 'Critical' ELSE '' END priority, + COALESCE(COALESCE(COALESCE(d.intvalue, d.floatvalue), d.strvalue), '') eventValue, + COALESCE(ack.strvalue, '') ackUser +FROM + alarm_events e + LEFT JOIN alarm_event_data d ON d.id = e.id AND d.propname = 'eventValue' + LEFT JOIN alarm_event_data ack ON ack.id = e.id AND ack.propname = 'ackUser' +WHERE + eventtime BETWEEN :startDate AND :endDate AND priority BETWEEN :minPriority AND :maxPriority AND + ((:active AND e.eventtype = 0) OR (:clear AND e.eventtype = 1) OR (:ack AND e.eventtype = 2)) +ORDER BY + e.eventTime DESC +LIMIT :limit \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/ignition/named-query/Alarms/Alarm History/resource.json b/project/dcframe1-hmi1/Core/ignition/named-query/Alarms/Alarm History/resource.json new file mode 100644 index 0000000..2bdebaa --- /dev/null +++ b/project/dcframe1-hmi1/Core/ignition/named-query/Alarms/Alarm History/resource.json @@ -0,0 +1,75 @@ +{ + "scope": "DG", + "version": 2, + "restricted": false, + "overridable": true, + "files": [ + "query.sql" + ], + "attributes": { + "useMaxReturnSize": false, + "autoBatchEnabled": false, + "fallbackValue": "", + "maxReturnSize": 100, + "cacheUnit": "SEC", + "type": "Query", + "enabled": true, + "cacheAmount": 1, + "cacheEnabled": false, + "database": "", + "fallbackEnabled": false, + "lastModificationSignature": "340378e09d18ae2e4dd37b9c252822113a192b186683064558c74ac671698700", + "permissions": [ + { + "zone": "", + "role": "" + } + ], + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + }, + "parameters": [ + { + "type": "Parameter", + "identifier": "startDate", + "sqlType": 8 + }, + { + "type": "Parameter", + "identifier": "endDate", + "sqlType": 8 + }, + { + "type": "Parameter", + "identifier": "active", + "sqlType": 6 + }, + { + "type": "Parameter", + "identifier": "clear", + "sqlType": 6 + }, + { + "type": "Parameter", + "identifier": "ack", + "sqlType": 6 + }, + { + "type": "Parameter", + "identifier": "limit", + "sqlType": 2 + }, + { + "type": "Parameter", + "identifier": "minPriority", + "sqlType": 2 + }, + { + "type": "Parameter", + "identifier": "maxPriority", + "sqlType": 2 + } + ] + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/ignition/named-query/Alarms/Alarm Summary Table/query.sql b/project/dcframe1-hmi1/Core/ignition/named-query/Alarms/Alarm Summary Table/query.sql new file mode 100644 index 0000000..8f753d7 --- /dev/null +++ b/project/dcframe1-hmi1/Core/ignition/named-query/Alarms/Alarm Summary Table/query.sql @@ -0,0 +1,27 @@ +SELECT + (CASE a.priority + WHEN 1 THEN "Low" + WHEN 2 THEN "Medium" + WHEN 3 THEN "High" + WHEN 4 THEN "Critical" + ELSE "Diagnostic" + END) as "Priority", + SUM(CASE WHEN c.eventtime IS NULL THEN 1 ELSE 0 END) active, + SUM(CASE WHEN c.eventtime IS NULL THEN 0 ELSE 1 END) cleared, + SUM(CASE WHEN k.eventtime IS NULL THEN 1 ELSE 0 END) unacknowledged, + COUNT(*) total, + AVG(CASE WHEN k.eventtime IS NULL THEN 0 ELSE TIMESTAMPDIFF(SECOND, a.eventtime, COALESCE(k.eventtime, CURRENT_TIMESTAMP)) END) acknowledgeTime, + AVG(CASE WHEN c.eventtime IS NULL THEN 0 ELSE TIMESTAMPDIFF(SECOND, a.eventtime, COALESCE(c.eventtime, CURRENT_TIMESTAMP)) END) clearTime, + SUM(TIMESTAMPDIFF(SECOND, a.eventtime, COALESCE(c.eventtime, CURRENT_TIMESTAMP))) totalTime +FROM + alarm_events a + LEFT JOIN alarm_events c ON c.eventid = a.eventid AND c.eventtype = 1 + LEFT JOIN alarm_events k ON k.eventid = a.eventid AND k.eventtype = 2 +WHERE + a.eventtime + BETWEEN :startDate AND :endDate + AND a.eventtype = 0 +GROUP BY + a.priority +ORDER BY + a.priority ASC \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/ignition/named-query/Alarms/Alarm Summary Table/resource.json b/project/dcframe1-hmi1/Core/ignition/named-query/Alarms/Alarm Summary Table/resource.json new file mode 100644 index 0000000..0ac177f --- /dev/null +++ b/project/dcframe1-hmi1/Core/ignition/named-query/Alarms/Alarm Summary Table/resource.json @@ -0,0 +1,45 @@ +{ + "scope": "DG", + "version": 2, + "restricted": false, + "overridable": true, + "files": [ + "query.sql" + ], + "attributes": { + "useMaxReturnSize": false, + "autoBatchEnabled": false, + "fallbackValue": "", + "maxReturnSize": 100, + "cacheUnit": "SEC", + "type": "Query", + "enabled": true, + "cacheAmount": 1, + "cacheEnabled": false, + "database": "", + "fallbackEnabled": false, + "lastModificationSignature": "42dd33c879db17f0e97a2a368ab2edabd5e05ac606f97563030207a183350c9a", + "permissions": [ + { + "zone": "", + "role": "" + } + ], + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + }, + "parameters": [ + { + "type": "Parameter", + "identifier": "startDate", + "sqlType": 7 + }, + { + "type": "Parameter", + "identifier": "endDate", + "sqlType": 7 + } + ] + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/ignition/named-query/Alarms/Alarm Summary/query.sql b/project/dcframe1-hmi1/Core/ignition/named-query/Alarms/Alarm Summary/query.sql new file mode 100644 index 0000000..24a30fb --- /dev/null +++ b/project/dcframe1-hmi1/Core/ignition/named-query/Alarms/Alarm Summary/query.sql @@ -0,0 +1,19 @@ +SELECT + a.priority, + SUM(CASE WHEN c.eventtime IS NULL THEN 1 ELSE 0 END) active, + SUM(CASE WHEN c.eventtime IS NULL THEN 0 ELSE 1 END) cleared, + SUM(CASE WHEN k.eventtime IS NULL THEN 1 ELSE 0 END) unacknowledged, + COUNT(*) total, + AVG(CASE WHEN k.eventtime IS NULL THEN 0 ELSE TIMESTAMPDIFF(SECOND, a.eventtime, COALESCE(k.eventtime, CURRENT_TIMESTAMP)) END) acknowledgeTime, + AVG(CASE WHEN c.eventtime IS NULL THEN 0 ELSE TIMESTAMPDIFF(SECOND, a.eventtime, COALESCE(c.eventtime, CURRENT_TIMESTAMP)) END) clearTime, + SUM(TIMESTAMPDIFF(SECOND, a.eventtime, COALESCE(c.eventtime, CURRENT_TIMESTAMP))) totalTime +FROM + alarm_events a + LEFT JOIN alarm_events c ON c.eventid = a.eventid AND c.eventtype = 1 + LEFT JOIN alarm_events k ON k.eventid = a.eventid AND k.eventtype = 2 +WHERE + a.eventtime BETWEEN :startDate AND :endDate AND a.eventtype = 0 +GROUP BY + a.priority +ORDER BY + a.priority ASC \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/ignition/named-query/Alarms/Alarm Summary/resource.json b/project/dcframe1-hmi1/Core/ignition/named-query/Alarms/Alarm Summary/resource.json new file mode 100644 index 0000000..0f5466e --- /dev/null +++ b/project/dcframe1-hmi1/Core/ignition/named-query/Alarms/Alarm Summary/resource.json @@ -0,0 +1,45 @@ +{ + "scope": "DG", + "version": 2, + "restricted": false, + "overridable": true, + "files": [ + "query.sql" + ], + "attributes": { + "useMaxReturnSize": false, + "autoBatchEnabled": false, + "fallbackValue": "", + "maxReturnSize": 100, + "cacheUnit": "SEC", + "type": "Query", + "enabled": true, + "cacheAmount": 1, + "cacheEnabled": false, + "database": "", + "fallbackEnabled": false, + "lastModificationSignature": "1181d784ffa7fad34e065fed7f3facd2bf0f43f0da837d1c7ec1e43637bb3bc6", + "permissions": [ + { + "zone": "", + "role": "" + } + ], + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + }, + "parameters": [ + { + "type": "Parameter", + "identifier": "startDate", + "sqlType": 8 + }, + { + "type": "Parameter", + "identifier": "endDate", + "sqlType": 8 + } + ] + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/ignition/named-query/Alarms/Alarms By Hour/query.sql b/project/dcframe1-hmi1/Core/ignition/named-query/Alarms/Alarms By Hour/query.sql new file mode 100644 index 0000000..9838966 --- /dev/null +++ b/project/dcframe1-hmi1/Core/ignition/named-query/Alarms/Alarms By Hour/query.sql @@ -0,0 +1,13 @@ +SELECT + HOUR(a.eventtime) label, + COUNT(*) total, + SUM(TIMESTAMPDIFF(SECOND, a.eventtime, COALESCE(c.eventtime, CURRENT_TIMESTAMP))) duration +FROM + alarm_events a + LEFT JOIN alarm_events c ON c.eventid = a.eventid AND c.eventtype = 1 +WHERE + a.eventtime BETWEEN :startDate AND :endDate AND a.eventtype = 0 +GROUP BY + HOUR(a.eventtime) +ORDER BY + HOUR(a.eventtime) ASC \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/ignition/named-query/Alarms/Alarms By Hour/resource.json b/project/dcframe1-hmi1/Core/ignition/named-query/Alarms/Alarms By Hour/resource.json new file mode 100644 index 0000000..fd95f22 --- /dev/null +++ b/project/dcframe1-hmi1/Core/ignition/named-query/Alarms/Alarms By Hour/resource.json @@ -0,0 +1,45 @@ +{ + "scope": "DG", + "version": 2, + "restricted": false, + "overridable": true, + "files": [ + "query.sql" + ], + "attributes": { + "useMaxReturnSize": false, + "autoBatchEnabled": false, + "fallbackValue": "", + "maxReturnSize": 100, + "cacheUnit": "SEC", + "type": "Query", + "enabled": true, + "cacheAmount": 1, + "cacheEnabled": false, + "database": "", + "fallbackEnabled": false, + "lastModificationSignature": "19b2eab0c03356a913b1442e185d1f6c6c71b89b541b2a3fb3413fd448aa0901", + "permissions": [ + { + "zone": "", + "role": "" + } + ], + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:09Z" + }, + "parameters": [ + { + "type": "Parameter", + "identifier": "startDate", + "sqlType": 8 + }, + { + "type": "Parameter", + "identifier": "endDate", + "sqlType": 8 + } + ] + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/ignition/named-query/Alarms/Alarms Duration/query.sql b/project/dcframe1-hmi1/Core/ignition/named-query/Alarms/Alarms Duration/query.sql new file mode 100644 index 0000000..1469926 --- /dev/null +++ b/project/dcframe1-hmi1/Core/ignition/named-query/Alarms/Alarms Duration/query.sql @@ -0,0 +1,13 @@ +SELECT + CASE WHEN a.displaypath = '' THEN 'Unknown' ELSE a.displaypath END displaypath, + SUM(TIMESTAMPDIFF(SECOND, a.eventtime, COALESCE(c.eventtime, CURRENT_TIMESTAMP))) duration +FROM + alarm_events a + LEFT JOIN alarm_events c ON c.eventid = a.eventid AND c.eventtype = 1 +WHERE + a.eventtime BETWEEN :startDate AND :endDate AND a.eventtype = 0 +GROUP BY + a.displaypath +ORDER BY + duration DESC, a.displaypath ASC +LIMIT :limit \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/ignition/named-query/Alarms/Alarms Duration/resource.json b/project/dcframe1-hmi1/Core/ignition/named-query/Alarms/Alarms Duration/resource.json new file mode 100644 index 0000000..9adf75c --- /dev/null +++ b/project/dcframe1-hmi1/Core/ignition/named-query/Alarms/Alarms Duration/resource.json @@ -0,0 +1,50 @@ +{ + "scope": "DG", + "version": 2, + "restricted": false, + "overridable": true, + "files": [ + "query.sql" + ], + "attributes": { + "useMaxReturnSize": false, + "autoBatchEnabled": false, + "fallbackValue": "", + "maxReturnSize": 100, + "cacheUnit": "SEC", + "type": "Query", + "enabled": true, + "cacheAmount": 1, + "cacheEnabled": false, + "database": "", + "fallbackEnabled": false, + "lastModificationSignature": "e3f9129ad9bd3cdd0d5858d9b37c76aecaed9ff6a96d59a644a339a1fd01aec9", + "permissions": [ + { + "zone": "", + "role": "" + } + ], + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + }, + "parameters": [ + { + "type": "Parameter", + "identifier": "startDate", + "sqlType": 8 + }, + { + "type": "Parameter", + "identifier": "endDate", + "sqlType": 8 + }, + { + "type": "Parameter", + "identifier": "limit", + "sqlType": 2 + } + ] + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/ignition/named-query/Alarms/Alarms Frequency/query.sql b/project/dcframe1-hmi1/Core/ignition/named-query/Alarms/Alarms Frequency/query.sql new file mode 100644 index 0000000..d521b1e --- /dev/null +++ b/project/dcframe1-hmi1/Core/ignition/named-query/Alarms/Alarms Frequency/query.sql @@ -0,0 +1,12 @@ +SELECT + CASE WHEN a.displaypath = '' THEN 'Unknown' ELSE a.displaypath END displaypath, + COUNT(*) cnt +FROM + alarm_events a +WHERE + a.eventtime BETWEEN :startDate AND :endDate AND a.eventtype = 0 +GROUP BY + a.displaypath +ORDER BY + cnt DESC, a.displaypath ASC +LIMIT :limit \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/ignition/named-query/Alarms/Alarms Frequency/resource.json b/project/dcframe1-hmi1/Core/ignition/named-query/Alarms/Alarms Frequency/resource.json new file mode 100644 index 0000000..7cd27c6 --- /dev/null +++ b/project/dcframe1-hmi1/Core/ignition/named-query/Alarms/Alarms Frequency/resource.json @@ -0,0 +1,50 @@ +{ + "scope": "DG", + "version": 2, + "restricted": false, + "overridable": true, + "files": [ + "query.sql" + ], + "attributes": { + "useMaxReturnSize": false, + "autoBatchEnabled": false, + "fallbackValue": "", + "maxReturnSize": 100, + "cacheUnit": "SEC", + "type": "Query", + "enabled": true, + "cacheAmount": 1, + "cacheEnabled": false, + "database": "", + "fallbackEnabled": false, + "lastModificationSignature": "9d1d4b1c60d608eee1beecc92dc694b8442cee78174daba9cecddbff6e5b52db", + "permissions": [ + { + "zone": "", + "role": "" + } + ], + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + }, + "parameters": [ + { + "type": "Parameter", + "identifier": "startDate", + "sqlType": 8 + }, + { + "type": "Parameter", + "identifier": "endDate", + "sqlType": 8 + }, + { + "type": "Parameter", + "identifier": "limit", + "sqlType": 2 + } + ] + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/ignition/named-query/Alarms/Longest Duration Alarm/query.sql b/project/dcframe1-hmi1/Core/ignition/named-query/Alarms/Longest Duration Alarm/query.sql new file mode 100644 index 0000000..21edcd7 --- /dev/null +++ b/project/dcframe1-hmi1/Core/ignition/named-query/Alarms/Longest Duration Alarm/query.sql @@ -0,0 +1,12 @@ +SELECT + CASE WHEN a.displaypath = '' THEN 'Unknown' ELSE a.displaypath END displaypath, + SUM(TIMESTAMPDIFF(SECOND, a.eventtime, COALESCE(c.eventtime, CURRENT_TIMESTAMP))) total +FROM + alarm_events a + LEFT JOIN alarm_events c ON c.eventid = a.eventid AND c.eventtype = 1 +WHERE + a.eventtime BETWEEN :startDate AND :endDate AND a.eventtype = 0 +GROUP BY + a.displaypath +ORDER BY total DESC +LIMIT 1 \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/ignition/named-query/Alarms/Longest Duration Alarm/resource.json b/project/dcframe1-hmi1/Core/ignition/named-query/Alarms/Longest Duration Alarm/resource.json new file mode 100644 index 0000000..f87fa00 --- /dev/null +++ b/project/dcframe1-hmi1/Core/ignition/named-query/Alarms/Longest Duration Alarm/resource.json @@ -0,0 +1,45 @@ +{ + "scope": "DG", + "version": 2, + "restricted": false, + "overridable": true, + "files": [ + "query.sql" + ], + "attributes": { + "useMaxReturnSize": false, + "autoBatchEnabled": false, + "fallbackValue": "", + "maxReturnSize": 100, + "cacheUnit": "SEC", + "type": "Query", + "enabled": true, + "cacheAmount": 1, + "cacheEnabled": false, + "database": "", + "fallbackEnabled": false, + "lastModificationSignature": "7f21d69c6d3e5b30e52bfa459986e75e506189b6e0961afef6b217ef63253be7", + "permissions": [ + { + "zone": "", + "role": "" + } + ], + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + }, + "parameters": [ + { + "type": "Parameter", + "identifier": "startDate", + "sqlType": 8 + }, + { + "type": "Parameter", + "identifier": "endDate", + "sqlType": 8 + } + ] + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/ignition/named-query/Alarms/Most Frequent Alarm/query.sql b/project/dcframe1-hmi1/Core/ignition/named-query/Alarms/Most Frequent Alarm/query.sql new file mode 100644 index 0000000..ec3f8b6 --- /dev/null +++ b/project/dcframe1-hmi1/Core/ignition/named-query/Alarms/Most Frequent Alarm/query.sql @@ -0,0 +1,11 @@ +SELECT + CASE WHEN a.displaypath = '' THEN 'Unknown' ELSE a.displaypath END displaypath, + COUNT(*) total +FROM + alarm_events a +WHERE + a.eventtime BETWEEN :startDate AND :endDate AND a.eventtype = 0 +GROUP BY + a.displaypath +ORDER BY total DESC +LIMIT 1 \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/ignition/named-query/Alarms/Most Frequent Alarm/resource.json b/project/dcframe1-hmi1/Core/ignition/named-query/Alarms/Most Frequent Alarm/resource.json new file mode 100644 index 0000000..65fa0c3 --- /dev/null +++ b/project/dcframe1-hmi1/Core/ignition/named-query/Alarms/Most Frequent Alarm/resource.json @@ -0,0 +1,45 @@ +{ + "scope": "DG", + "version": 2, + "restricted": false, + "overridable": true, + "files": [ + "query.sql" + ], + "attributes": { + "useMaxReturnSize": false, + "autoBatchEnabled": false, + "fallbackValue": "", + "maxReturnSize": 100, + "cacheUnit": "SEC", + "type": "Query", + "enabled": true, + "cacheAmount": 1, + "cacheEnabled": false, + "database": "", + "fallbackEnabled": false, + "lastModificationSignature": "6a0d458d37c835ed5aabdd20568c8356396b3857d80909ff823d321b50922001", + "permissions": [ + { + "zone": "", + "role": "" + } + ], + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + }, + "parameters": [ + { + "type": "Parameter", + "identifier": "startDate", + "sqlType": 8 + }, + { + "type": "Parameter", + "identifier": "endDate", + "sqlType": 8 + } + ] + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/ignition/named-query/Audit Log/Audit Log/query.sql b/project/dcframe1-hmi1/Core/ignition/named-query/Audit Log/Audit Log/query.sql new file mode 100644 index 0000000..1eb7cf9 --- /dev/null +++ b/project/dcframe1-hmi1/Core/ignition/named-query/Audit Log/Audit Log/query.sql @@ -0,0 +1,18 @@ +SELECT + audit_events_id, + TO_CHAR(event_timestamp, 'FMМM/FMDD/YY FMHH12:MI:SS AM') event_timestamp, + actor, + action, + action_target, + action_value, + actor_host, + status_code, + originating_system, + originating_context +FROM + audit_events +WHERE + event_timestamp BETWEEN :startDate AND :endDate AND + (:search = '' OR (:search != '' AND (actor LIKE :search OR action LIKE :search OR action_target LIKE :search))) +ORDER BY + audit_events_id DESC \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/ignition/named-query/Audit Log/Audit Log/resource.json b/project/dcframe1-hmi1/Core/ignition/named-query/Audit Log/Audit Log/resource.json new file mode 100644 index 0000000..0e24525 --- /dev/null +++ b/project/dcframe1-hmi1/Core/ignition/named-query/Audit Log/Audit Log/resource.json @@ -0,0 +1,50 @@ +{ + "scope": "DG", + "version": 2, + "restricted": false, + "overridable": true, + "files": [ + "query.sql" + ], + "attributes": { + "useMaxReturnSize": false, + "autoBatchEnabled": false, + "fallbackValue": "", + "maxReturnSize": 100, + "cacheUnit": "SEC", + "type": "Query", + "enabled": true, + "cacheAmount": 1, + "cacheEnabled": false, + "database": "dcframe-db", + "fallbackEnabled": false, + "lastModificationSignature": "fe98a4bc761e86db97a3ad23e67e090bd580c5d65446829b6cdc0aee7c5518bb", + "permissions": [ + { + "zone": "", + "role": "" + } + ], + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:55:32Z" + }, + "parameters": [ + { + "type": "Parameter", + "identifier": "startDate", + "sqlType": 8 + }, + { + "type": "Parameter", + "identifier": "endDate", + "sqlType": 8 + }, + { + "type": "Parameter", + "identifier": "search", + "sqlType": 7 + } + ] + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/ignition/script-python/PlantPAX/securityCheck/code.py b/project/dcframe1-hmi1/Core/ignition/script-python/PlantPAX/securityCheck/code.py new file mode 100644 index 0000000..4bbacc4 --- /dev/null +++ b/project/dcframe1-hmi1/Core/ignition/script-python/PlantPAX/securityCheck/code.py @@ -0,0 +1,40 @@ +def verify(roles, security_level): + verification_result = False + + authentication_dictionary = { + "securityDeviceConfigHMI": ["Administrator", "Maintenance", "Operations Supervisor",], + "securityConfigSecurity": ["Administrator", "Maintenance", "Operations Supervisor",], + "securityDeviceConfigBehavior": ["Administrator", "Maintenance", "Operations Supervisor",], + "securityDeviceConfigTimers": ["Administrator", "Maintenance", "Operations Supervisor", "Operator"], + "securityDeviceConfigFailTimers": ["Administrator", "Maintenance", "Operations Supervisor", "Operator"], + "securityBypassFeedback": ["Administrator", "Maintenance", "Operations Supervisor",], + "securityBypassInterlocks": ["Administrator", "Maintenance", "Operations Supervisor",], + "securityDeviceConfigLimits": ["Administrator", "Maintenance", "Operations Supervisor", "Operator"], + "securityDeviceConfigThresholds": ["Administrator", "Maintenance", "Operations Supervisor", "Operator"], + "securityEnableSimulation": ["Administrator", "Maintenance", ], + "securityEnterOperSettings": ["Administrator", "Maintenance", "Operations Supervisor", "Operator"], + "securityOperateEquipment": ["Administrator", "Maintenance", "Operations Supervisor", "Operator"], + "securityOverrideInputs": ["Administrator", "Maintenance", "Operations Supervisor",], + "securityAlarmConfig": ["Administrator", "Maintenance", "Operations Supervisor",], + "securityAlarmDisable": ["Administrator", "Maintenance", "Operations Supervisor",], + "securityAlarmShelve": ["Administrator", "Maintenance", "Operations Supervisor", "Operator"], + "securityCmdSrcMaint": ["Administrator", "Maintenance", ], + "securityCmdSrcOperProg": ["Administrator", "Maintenance", "Operations Supervisor", "Operator"], + "securityCmdSrcOutOfService": ["Administrator", "Maintenance", "Operations Supervisor",], + "securityDeviceConfigTuning": ["Administrator", "Maintenance", "Operations Supervisor",], + "userHasBasic": ["Administrator", "Maintenance", "Operations Supervisor", "Operator"], + "userHasAdvanced": ["Administrator", "Maintenance", "Operations Supervisor",], + } + + try: + level_roles = authentication_dictionary[security_level] + string = "" + + for role in roles: + if role in level_roles: + verification_result = True + + except: + verification_result = False + + return verification_result diff --git a/project/dcframe1-hmi1/Core/ignition/script-python/PlantPAX/securityCheck/resource.json b/project/dcframe1-hmi1/Core/ignition/script-python/PlantPAX/securityCheck/resource.json new file mode 100644 index 0000000..a574a43 --- /dev/null +++ b/project/dcframe1-hmi1/Core/ignition/script-python/PlantPAX/securityCheck/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "code.py" + ], + "attributes": { + "lastModificationSignature": "44718e8438f3d36d5d6463553d7d4dc03ff9d324d3b2c5a86952dc43f1284fe8", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/ignition/script-python/nav/code.py b/project/dcframe1-hmi1/Core/ignition/script-python/nav/code.py new file mode 100644 index 0000000..090fe07 --- /dev/null +++ b/project/dcframe1-hmi1/Core/ignition/script-python/nav/code.py @@ -0,0 +1,18 @@ +# Encapsulation of system.perspective.openPopup +# Use on button event script - Non-Resizable popup with close Icon. +# This allows for feeding the path of the view and the params for the view. + +def popupBtn(path, popUpParams, popUpTitle, showClose, resize): + import random + # Generate Page ID (random from 1 to 100) + pgID = str(random.randint(1,100)) + popUpParams = dict(popUpParams) + system.perspective.openPopup(pgID, path, params = popUpParams, title = popUpTitle, showCloseIcon = showClose, resizable = resize) + +def hoverLblOpn(path, popUpParams, popUpTitle, showClose, resize, lblPos): + pgID = "hoverLbl" + popUpParams = dict(popUpParams) + system.perspective.openPopup(pgID, path, params = popUpParams, title = popUpTitle, showCloseIcon = showClose, resizable = resize, position = lblPos) + +def hoverLblCls(): + system.perspective.closePopup("hoverLbl") diff --git a/project/dcframe1-hmi1/Core/ignition/script-python/nav/resource.json b/project/dcframe1-hmi1/Core/ignition/script-python/nav/resource.json new file mode 100644 index 0000000..052a450 --- /dev/null +++ b/project/dcframe1-hmi1/Core/ignition/script-python/nav/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "code.py" + ], + "attributes": { + "lastModificationSignature": "b98496172f63149edff6bbf832da1967f01be0a33c2fe4b7b57b2d004c4b2717", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/mobile/mobile.project.settings/data.bin b/project/dcframe1-hmi1/Core/mobile/mobile.project.settings/data.bin new file mode 100644 index 0000000..2cf8837 Binary files /dev/null and b/project/dcframe1-hmi1/Core/mobile/mobile.project.settings/data.bin differ diff --git a/project/dcframe1-hmi1/Core/mobile/mobile.project.settings/resource.json b/project/dcframe1-hmi1/Core/mobile/mobile.project.settings/resource.json new file mode 100644 index 0000000..b7eae1e --- /dev/null +++ b/project/dcframe1-hmi1/Core/mobile/mobile.project.settings/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "data.bin" + ], + "attributes": { + "lastModificationSignature": "72ff2521fccd550e51683faa4cb9cc88f5a892c210d614298aaac79b3b43a183", + "lastModification": { + "actor": "admin", + "timestamp": "2025-11-05T22:39:10Z" + } + } +} \ No newline at end of file diff --git a/project/dcframe1-hmi1/Core/project.json b/project/dcframe1-hmi1/Core/project.json new file mode 100644 index 0000000..323d1fe --- /dev/null +++ b/project/dcframe1-hmi1/Core/project.json @@ -0,0 +1,7 @@ +{ + "title": "Core", + "description": "", + "enabled": true, + "inheritable": true, + "parent": "" +} \ No newline at end of file