The SIMATIC AX Hardware Declaration Language allows defining a hardware configuration either as a single file or as a set of files.
In case the hardware configuration consists of multiple files, the content of the individual files are treated the same as a single file containing the same configuration.
This allows to e.g. define different devices in different files or placing templates in a separate file. However, this also means that all rules that apply to a single file also apply to the set of all files. For example, the name of a PLC module must be unique within all files that are being compiled.