Write to UDT Instance parameter through GW network

Hi,

We have a test environment with a standard Ignition GW and an Edge GW connected through a GW network.

When trying to write to a UDT Instance parameter on the Edge GW from the standard Gateway, we just get [Bad_AccessDenied]

If we write to a memory tag inside the same UDT instance it works fine, but writing to a parameter gives an error as mentioned.

tagPaths = ['[tagprovider]Instance1/Parameters.Param1']
values = [69]

system.tag.writeBlocking(tagPaths, values)

returns

[Bad_AccessDenied]

While

tagPaths = ['[tagprovider]Instance1/Tag1']
values = [69]

system.tag.writeBlocking(tagPaths, values)

returns

[Good]

UDT def:

{
  "name": "TESTING",
  "parameters": {
    "Param1": {
      "dataType": "Integer",
      "value": 0
    }
  },
  "tagType": "UdtType",
  "tags": [
    {
      "valueSource": "memory",
      "name": "Tag1",
      "value": 0,
      "tagType": "AtomicTag"
    }
  ]
}

Using the same code to write to the instance parameter on the Edge GW itself works fine, just not through the GW network.

Something we have missed, or is it intended? Anyone? :slight_smile:

Are the Security Roles/Zones for each client session the same (Edge vs Remote)?

Hi Chris,

Thanks for your reply.

Seems like I had to change the access level in the service security for the tag provider from "ReadWrite" to "ReadWriteEdit" to be able to write to parameters. So writing to parameters seems to fall under the "Edit" category.

2 Likes