The EDDL specification does not require that every variable be declared with a default value. Therefore, non-FDI EDDs do not require default values in the variable declaration (although some EDD developers may still choose to do it as a good practice). An EDD that is 1)not in an FDI package and 2) without Default Values is ok.
The FDI specification includes a requirement (part 4, annex K) for FDI compliant device packages that all parameters required for offline configuration have a valid default value.
The default value allows any offline value to download to a device without modification.
If an EDD developer does NOT specify a default value then the default (per the definition of the data type of the variable) DEFAULT value is valid for their device. For example, the default DEFAULT for a string is ? (question mark). If the device can accept a string of all ? then that variable would not need a default value defined in the EDD. However, if for example the variable is a limit (upper range value) and the default DEFAULT value (example of NAN for floating point) is not valid, then the developer will need to include the DEFAULT value in the EDD.
A HART EDD developer may need to ADD (NOT redefine) a DEFAULT value to universal or common practice variable. They should do this for configuration variables (not necessarily calibration variables nor dynamic variables).
Every variable in an EDD intended for an FDI package must include a default value for each variable. The default is either inferred by the data type of the variable or by explicit definition of the developer ("DEFAULT_VALUE").