Hi,
Please see below issue with nested UDT and OPC Item pathing.
UDT Instance has bindings to a direct modbus register, which works perfectly fine on the root UDT instances, where all parameters are defined as integer types.
[PLC_M340]HRS{AddressOffsetDescription+BaseAddress+(DeviceNum*BlockLength-BlockLength)}:16
  # Parameter values
     AddressOffsetDescription = 0
     BaseAddress = 10000
     DeviceNum = 1
     BlockLength = 22
  # Results in the following OPC Item Path
     [PLC_M340]HRS10000:16
  # Which has a 16 character string at this address
Now, the issue is when this UDT is nested, and the same parameters provided, the OPC path has .0 added to it.
[PLC_M340]HRS{AddressOffsetDescription+BaseAddress+(DeviceNum*BlockLength-BlockLength)}:16
  # Parameter values
     AddressOffsetDescription = 0
     BaseAddress = 10000
     DeviceNum = 1
     BlockLength = 22
  # Results in the following OPC Item Path
     [PLC_M340]HRS10000.0:16
  # This OPC tag is incorrect, and invalid
The resulting OPC tag is different, given the same parameters.
I believe this issue is that the calculated number is formatted incorrectly because the solution I have for now is to format the parameter with |#00
[PLC_M340]HRS{AddressOffsetDescription+BaseAddress+(DeviceNum*BlockLength-BlockLength)|#00}:16
  # Parameter values
     AddressOffsetDescription = 0
     BaseAddress = 10000
     DeviceNum = 1
     BlockLength = 22
  # Results in the following OPC Item Path
     [PLC_M340]HRS10000:16
  # Which has a 16 character string at this address
Version
8.1.19
Thanks,