How to properly setup a PROFINET device with a given GSDML

As a developer of IOC/IOE I can give some comments on this.
First of all most of the problems in this post is fixed in later versions. The “INTERNAL” GSDML-file is only supposed to be used by IO Engineering Tool, not in any external tools such as TIA or Phoenix. For external tools the other GSDML shall be used. However, in IO Engineering tool, the only file that should be used for the internal device is the “INTERNAL” (with VendorId 0).
In later versions of IO Engineering Tool we have hidden the display of the filename for the internal device, removed the possibility to add any other devices(from other files than the INTERNAL) under the “Device”-node and also very recently removed the “INTERNAL” file from the controller HOME-folder.
We know this has caused problems when the INTERNAL file has been found under home and users has tried to use it in other tools.

To summarize: To configure your device in IO Engineering tool you use the INTERNAL-file, to configure the controller end (PLC) you use the normal file. The INTERNAL file is only used to give the same look and feel to both controller and device configuration in IO Engineering Tool.