
RBPLC (Customer) asked a question.
What are the ramifications of changing the data type of an element of a tag which is based on a UDS definition whose data type is defined differently? For example, in the UDS, Motor.speed is defined as a 32 bit float but in the tag based on the Motor UDS, the .speed element is changed to a 32 bit integer? There are other data types that can be changed as well. Why is this allowed and what would be the intended use case for changing the data type in the tag from the UDS defined data type?
Edit: It also looks like if you change the data type in the UDS definition after having changed the data type in the tag, the change from the UDS definition propagates to the tag, which is what I would expect.
Good morning, others may speak to their experience in the field when changing data types for individual UDS versus changing the UDS definition, but some things to consider in your example any time users change a data type from Float 32-bit to Integer 32-bit:
To address your second question, it's allowed for users to handle exception cases. Example: one Motor/Drive reports frequency as Float 32-bit which the UDS was built around, but a replacement unit only responds in 16-bit Integer registers so an exception is made to one UDS instance to handle this by changing data type of the tag.
Thanks for the good question!
It's interesting that you can do it but I'm not sure it's a good idea (as you listed all the potential issues). As a follow on, why does changing retentiveness in the UDS definition not propagate to the tags in the same way that changing the data type does?