Rounding error when transmitting code initialisation values

Which products are affected?
ESP-DDS2-x (Global Drive PLC Developer Studio V2.x)

What happens?
When downloading a DDS project to a PLC target system (e. g. a Servo PLC), the codes can be initialised with a value and saved in a way that they are protected from mains failure. The codes to be initialised must be entered into the Code initialisation values (register card Resources) together with the initialisation value.

When transmitting code initialisation values, the last decimal position of a code is not correctly transmitted to the PLC target system.

Example:
If 0.57 was entered for code C0081 in the Code initialisation values, a value of 0.56 is transmitted.

When does the problem occur?
In principle, this problem can occur in all codes of the fixed point type with at least one decimal position. Depending on the value to be initialised, there can be a rounding error in the last decimal position.

Possible diagnostics?
Verify if the code to be initialised is a code of the fixed point type. In system codes, you will find this information in the code attribute table (fixed point = FIX32). In user codes, the type is defined in the field external data type in the Instance parameter manager (register card Resources). After the download of the DDS project, use the Parameter monitor (register card Resources) to ensure that the initialisation values for codes of the fixed point type have been correctly transmitted.

Short-term measures/recommendations?
None.

Evaluation:
When downloading a project, codes are not set to the value desired. The setting in the Code initialisation values only becomes active when downloading a project and does not depend on the default setting.

URL for linking this AKB article: https://www.lenze.com/en-de/go/akb/200413547/1/
Kontaktformular