D4xxxx(x) points are Holding Register Points interpreted as Double Precision. Two registers are used for each point with both registers assumed to have a positive value.
Because of this mapping:
Do not declare Double Precision points with overlapping addresses. For example, D40001 and D40002 overlap, while D40001 and D40003 do not.
Do not define points that use the same Holding Register and Double Precision point address (for example, defining one point with the address D40001 and another with the address 40001).
Configure Double Precision points as DINT or UDINT point.
Arrays are not supported for Double Precision points.
Supported Modbus TCP/IP Memory Types.