diff --git a/silecs-codegen/src/xml/genparam.py b/silecs-codegen/src/xml/genparam.py
index c79a7af3f99779ecf543f5c3f99551eb304ffcb5..8768c748a19909b147180e931b4a58cbadb106c9 100644
--- a/silecs-codegen/src/xml/genparam.py
+++ b/silecs-codegen/src/xml/genparam.py
@@ -241,6 +241,7 @@ def genParamBase( funcGetSilecsDesignFilePath, funcGetParameterFile, funcGetSile
             for device in devices:
                 instance = libxml2.newNode("Instance")
                 instance.setProp("label", device.silecsDeviceLabel)
+                instance.setProp("fesa-label", device.fesaDeviceName)
                 instance.setProp("address",    str(int(controller.computeInstAddress(mappings[MEM_TYPE]))))
                 instance.setProp("DI-address", str(int(controller.computeInstAddress(mappings[DI_TYPE]))))
                 instance.setProp("DO-address", str(int(controller.computeInstAddress(mappings[DO_TYPE]))))
diff --git a/silecs-codegen/src/xml/genplcsrc.py b/silecs-codegen/src/xml/genplcsrc.py
index a772f0d20280822918ac9226230d878ec9aef9a4..9540618e5732b9a90609d61efcf121c83dcd5ed1 100644
--- a/silecs-codegen/src/xml/genplcsrc.py
+++ b/silecs-codegen/src/xml/genplcsrc.py
@@ -192,7 +192,8 @@ def generateSiemensSources(param, sourceFolderPath ,logTopics):
                 deviceList = ''
                 for deviceDOM in deviceDOMList:
                     deviceLabel = deviceDOM.prop('label')
-                    deviceList += s7template.stlDevice(deviceLabel, paramClass.name, block.name)
+                    fesaLabel = deviceDOM.prop('fesa-label')
+                    deviceList += s7template.stlDevice(deviceLabel, paramClass.name, block.name, fesaLabel)
 
                 stlString += s7template.generateBlock(param.owner, paramClass.name, paramClass.version, param.controller.system, DBnumber, block.name, deviceList, (blockIndex == 0),param.controller.protocol)
                 symString += s7template.symBlockDB(paramClass.name, paramClass.version, block.name, DBnumber, (blockIndex == 0))
diff --git a/silecs-codegen/src/xml/s7template.py b/silecs-codegen/src/xml/s7template.py
index 70ab3f10dac916f3fbe3951f134f91685bde813d..32487dfbfaa26bc12773b1be5f7b103c6eaffbb3 100644
--- a/silecs-codegen/src/xml/s7template.py
+++ b/silecs-codegen/src/xml/s7template.py
@@ -126,6 +126,9 @@ END_DATA_BLOCK\r
 device = """    %s: _%s_%s;\r
 """
 
+device_with_comment = """    %s: _%s_%s;  //%s\r
+"""
+
 #=========================================================================
 # SYMBOLS Source template (.sdf file)
 #=========================================================================
@@ -203,8 +206,10 @@ def stlBlockUDT(owner, className, classVersion, blockName, regList, isFirst):
         return blockUDT %(className, blockName, owner, regList)
     
 # BLOCK_MODE: data-block instance ----------------------------------------
-def stlDevice(devLabel, className, blockName):
-    return device %(devLabel, className, blockName)
+def stlDevice(devLabel, className, blockName, fesaName):
+    if fesaName == "":
+        return device %(devLabel, className, blockName)
+    return device_with_comment %(devLabel, className, blockName, fesaName)
 	    
 # DEVICE_MODE: data-block instance ---------------------------------------
 def stlBlock(className, blockName):
diff --git a/silecs-codegen/src/xml/test/AllTypesDU.silecsdeploy b/silecs-codegen/src/xml/test/AllTypesDU.silecsdeploy
index ae92f5a229a1eef3b1e37d9022ef65c21cf78c65..ad1c0126d16cf469a271fa49d7c672feaf128a19 100644
--- a/silecs-codegen/src/xml/test/AllTypesDU.silecsdeploy
+++ b/silecs-codegen/src/xml/test/AllTypesDU.silecsdeploy
@@ -16,8 +16,8 @@
     </Controller>
     <Controller host-name="Siemens_TiaBlock">
         <Siemens-PLC model="SIMATIC_S7-300" system="TIA-PORTAL" base-DB-number="0" protocol="BLOCK_MODE">
-            <Device silecs-design-ref="AllTypes" silecs-device-label="testDevice1" />
-            <Device silecs-design-ref="AllTypes" silecs-device-label="testDevice2" />
+            <Device silecs-design-ref="AllTypes" silecs-device-label="testDevice1" fesa-device-name="FESA_NAME1" />
+            <Device silecs-design-ref="AllTypes" silecs-device-label="testDevice2" fesa-device-name="FESA_NAME2" />
         </Siemens-PLC>
 
     </Controller>
diff --git a/silecs-codegen/src/xml/test/generated_correct/client/Beckhoff_BC9020.silecsparam b/silecs-codegen/src/xml/test/generated_correct/client/Beckhoff_BC9020.silecsparam
index d88437c9010098e936b94a761e0bf22b99ed22b7..c05fdac6b7600b087129f9b0ae6cba432392f2af 100644
--- a/silecs-codegen/src/xml/test/generated_correct/client/Beckhoff_BC9020.silecsparam
+++ b/silecs-codegen/src/xml/test/generated_correct/client/Beckhoff_BC9020.silecsparam
@@ -21,7 +21,7 @@
           <scalar format="dt"/>
       </Acquisition-Register>
       </Acquisition-Block>
-      <Instance label="SilecsHeader" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
+      <Instance label="SilecsHeader" fesa-label="" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
     </SILECS-Class>
     <SILECS-Class name="AllTypes" version="0.1.0" address="32816" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" used-mem="MW24..MW2113/2090 words" used-DI="0 word" used-DO="0 word" used-AI="0 word" used-AO="0 word">
       <Acquisition-Block name="MyROBlock" size="53" address="32816" mem-size="122">
@@ -284,8 +284,8 @@
                 <array2D dim1="2" dim2="2" format="dt"/>
             </Configuration-Register>
       </Configuration-Block>
-      <Instance label="testDevice1" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
-      <Instance label="testDevice2" address="1" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
+      <Instance label="testDevice1" fesa-label="" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
+      <Instance label="testDevice2" fesa-label="" address="1" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
     </SILECS-Class>
   </SILECS-Mapping>
 </SILECS-Param>
diff --git a/silecs-codegen/src/xml/test/generated_correct/client/Beckhoff_CX9020_TC2.silecsparam b/silecs-codegen/src/xml/test/generated_correct/client/Beckhoff_CX9020_TC2.silecsparam
index bef713a1b92ece75cb1ff8fdb9d47aa7e52e43b2..e9caaf84ba44db10cb3dc2442ae3586366bcd0a0 100644
--- a/silecs-codegen/src/xml/test/generated_correct/client/Beckhoff_CX9020_TC2.silecsparam
+++ b/silecs-codegen/src/xml/test/generated_correct/client/Beckhoff_CX9020_TC2.silecsparam
@@ -21,7 +21,7 @@
           <scalar format="dt"/>
       </Acquisition-Register>
       </Acquisition-Block>
-      <Instance label="SilecsHeader" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
+      <Instance label="SilecsHeader" fesa-label="" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
     </SILECS-Class>
     <SILECS-Class name="AllTypes" version="0.1.0" address="24628" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" used-mem="MW52..MW4259/4208 words" used-DI="0 word" used-DO="0 word" used-AI="0 word" used-AO="0 word">
       <Acquisition-Block name="MyROBlock" size="53" address="24628" mem-size="128">
@@ -284,8 +284,8 @@
                 <array2D dim1="2" dim2="2" format="dt"/>
             </Configuration-Register>
       </Configuration-Block>
-      <Instance label="testDevice1" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
-      <Instance label="testDevice2" address="1" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
+      <Instance label="testDevice1" fesa-label="" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
+      <Instance label="testDevice2" fesa-label="" address="1" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
     </SILECS-Class>
   </SILECS-Mapping>
 </SILECS-Param>
diff --git a/silecs-codegen/src/xml/test/generated_correct/client/Beckhoff_CX9020_TC3.silecsparam b/silecs-codegen/src/xml/test/generated_correct/client/Beckhoff_CX9020_TC3.silecsparam
index 38a61b138585af9a590a526881f08205ae7b15d8..5460c324f555d0c67f20e47c5ead334db4372f00 100644
--- a/silecs-codegen/src/xml/test/generated_correct/client/Beckhoff_CX9020_TC3.silecsparam
+++ b/silecs-codegen/src/xml/test/generated_correct/client/Beckhoff_CX9020_TC3.silecsparam
@@ -21,7 +21,7 @@
           <scalar format="dt"/>
       </Acquisition-Register>
       </Acquisition-Block>
-      <Instance label="SilecsHeader" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
+      <Instance label="SilecsHeader" fesa-label="" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
     </SILECS-Class>
     <SILECS-Class name="AllTypes" version="0.1.0" address="24628" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" used-mem="MW26..MW2129/2104 words" used-DI="0 word" used-DO="0 word" used-AI="0 word" used-AO="0 word">
       <Acquisition-Block name="MyROBlock" size="53" address="24628" mem-size="128">
@@ -284,8 +284,8 @@
                 <array2D dim1="2" dim2="2" format="dt"/>
             </Configuration-Register>
       </Configuration-Block>
-      <Instance label="testDevice1" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
-      <Instance label="testDevice2" address="1" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
+      <Instance label="testDevice1" fesa-label="" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
+      <Instance label="testDevice2" fesa-label="" address="1" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
     </SILECS-Class>
   </SILECS-Mapping>
 </SILECS-Param>
diff --git a/silecs-codegen/src/xml/test/generated_correct/client/Rabbit_BlockMode.silecsparam b/silecs-codegen/src/xml/test/generated_correct/client/Rabbit_BlockMode.silecsparam
index 1db0bb1f2eb880c5588cd9b97eaea838e97ab934..3adfe526ebdd2ee37d1efc8fa92801f0f3572779 100644
--- a/silecs-codegen/src/xml/test/generated_correct/client/Rabbit_BlockMode.silecsparam
+++ b/silecs-codegen/src/xml/test/generated_correct/client/Rabbit_BlockMode.silecsparam
@@ -21,7 +21,7 @@
           <scalar format="dt"/>
       </Acquisition-Register>
       </Acquisition-Block>
-      <Instance label="SilecsHeader" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
+      <Instance label="SilecsHeader" fesa-label="" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
     </SILECS-Class>
     <SILECS-Class name="AllTypes" version="0.1.0" address="44" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" used-mem="MW22..MW2165/2144 words" used-DI="0 word" used-DO="0 word" used-AI="0 word" used-AO="0 word">
       <Acquisition-Block name="MyROBlock" size="53" address="44" mem-size="120">
@@ -284,8 +284,8 @@
                 <array2D dim1="2" dim2="2" format="dt"/>
             </Configuration-Register>
       </Configuration-Block>
-      <Instance label="testDevice1" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
-      <Instance label="testDevice2" address="1" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
+      <Instance label="testDevice1" fesa-label="" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
+      <Instance label="testDevice2" fesa-label="" address="1" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
     </SILECS-Class>
   </SILECS-Mapping>
 </SILECS-Param>
diff --git a/silecs-codegen/src/xml/test/generated_correct/client/Rabbit_DeviceMode.silecsparam b/silecs-codegen/src/xml/test/generated_correct/client/Rabbit_DeviceMode.silecsparam
index 02a9573ec99115dc74a6f6a4bad6acd04c75346d..26dec21283ff76a69a6d6f7329552c8962697a7f 100644
--- a/silecs-codegen/src/xml/test/generated_correct/client/Rabbit_DeviceMode.silecsparam
+++ b/silecs-codegen/src/xml/test/generated_correct/client/Rabbit_DeviceMode.silecsparam
@@ -21,7 +21,7 @@
           <scalar format="dt"/>
       </Acquisition-Register>
       </Acquisition-Block>
-      <Instance label="SilecsHeader" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
+      <Instance label="SilecsHeader" fesa-label="" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
     </SILECS-Class>
     <SILECS-Class name="AllTypes" version="0.1.0" address="44" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" used-mem="MW22..MW2165/2144 words" used-DI="0 word" used-DO="0 word" used-AI="0 word" used-AO="0 word">
       <Acquisition-Block name="MyROBlock" size="53" address="0" mem-size="120">
@@ -284,8 +284,8 @@
                 <array2D dim1="2" dim2="2" format="dt"/>
             </Configuration-Register>
       </Configuration-Block>
-      <Instance label="testDevice1" address="44" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
-      <Instance label="testDevice2" address="2188" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
+      <Instance label="testDevice1" fesa-label="" address="44" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
+      <Instance label="testDevice2" fesa-label="" address="2188" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
     </SILECS-Class>
   </SILECS-Mapping>
 </SILECS-Param>
diff --git a/silecs-codegen/src/xml/test/generated_correct/client/Schneider_M340.silecsparam b/silecs-codegen/src/xml/test/generated_correct/client/Schneider_M340.silecsparam
index ffe64ae92876f25e257fd2d8b40e11d3f4a14a50..ebfa83d043ad7efa1ca0637fc6f9f4e90630418e 100644
--- a/silecs-codegen/src/xml/test/generated_correct/client/Schneider_M340.silecsparam
+++ b/silecs-codegen/src/xml/test/generated_correct/client/Schneider_M340.silecsparam
@@ -21,7 +21,7 @@
           <scalar format="dt"/>
       </Acquisition-Register>
       </Acquisition-Block>
-      <Instance label="SilecsHeader" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
+      <Instance label="SilecsHeader" fesa-label="" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
     </SILECS-Class>
     <SILECS-Class name="AllTypes" version="0.1.0" address="44" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" used-mem="MW22..MW2141/2120 words" used-DI="0 word" used-DO="0 word" used-AI="0 word" used-AO="0 word">
       <Acquisition-Block name="MyROBlock" size="53" address="44" mem-size="124">
@@ -284,8 +284,8 @@
                 <array2D dim1="2" dim2="2" format="dt"/>
             </Configuration-Register>
       </Configuration-Block>
-      <Instance label="testDevice1" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
-      <Instance label="testDevice2" address="1" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
+      <Instance label="testDevice1" fesa-label="" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
+      <Instance label="testDevice2" fesa-label="" address="1" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
     </SILECS-Class>
   </SILECS-Mapping>
 </SILECS-Param>
diff --git a/silecs-codegen/src/xml/test/generated_correct/client/Schneider_PremiumQuantum.silecsparam b/silecs-codegen/src/xml/test/generated_correct/client/Schneider_PremiumQuantum.silecsparam
index d35da53b02d7be1236cb022f7938199a24a1cb05..7858aa970d95a40a620ad039e431456660b3b9b6 100644
--- a/silecs-codegen/src/xml/test/generated_correct/client/Schneider_PremiumQuantum.silecsparam
+++ b/silecs-codegen/src/xml/test/generated_correct/client/Schneider_PremiumQuantum.silecsparam
@@ -21,7 +21,7 @@
           <scalar format="dt"/>
       </Acquisition-Register>
       </Acquisition-Block>
-      <Instance label="SilecsHeader" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
+      <Instance label="SilecsHeader" fesa-label="" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
     </SILECS-Class>
     <SILECS-Class name="AllTypes" version="0.1.0" address="44" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" used-mem="MW22..MW2129/2108 words" used-DI="0 word" used-DO="0 word" used-AI="0 word" used-AO="0 word">
       <Acquisition-Block name="MyROBlock" size="53" address="44" mem-size="120">
@@ -284,8 +284,8 @@
                 <array2D dim1="2" dim2="2" format="dt"/>
             </Configuration-Register>
       </Configuration-Block>
-      <Instance label="testDevice1" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
-      <Instance label="testDevice2" address="1" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
+      <Instance label="testDevice1" fesa-label="" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
+      <Instance label="testDevice2" fesa-label="" address="1" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
     </SILECS-Class>
   </SILECS-Mapping>
 </SILECS-Param>
diff --git a/silecs-codegen/src/xml/test/generated_correct/client/Siemens_Step7Block.silecsparam b/silecs-codegen/src/xml/test/generated_correct/client/Siemens_Step7Block.silecsparam
index 376b8a7847957ff19bff0039428e0fbc2b73977c..2e2e9fba237a9798f70a5538a42bf8fc39135e12 100644
--- a/silecs-codegen/src/xml/test/generated_correct/client/Siemens_Step7Block.silecsparam
+++ b/silecs-codegen/src/xml/test/generated_correct/client/Siemens_Step7Block.silecsparam
@@ -21,7 +21,7 @@
           <scalar format="dt"/>
       </Acquisition-Register>
       </Acquisition-Block>
-      <Instance label="SilecsHeader" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
+      <Instance label="SilecsHeader" fesa-label="" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
     </SILECS-Class>
     <SILECS-Class name="AllTypes" version="0.1.0" address="1" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" used-mem="DB1..DB2/4192 bytes" used-DI="0 byte" used-DO="0 byte" used-AI="0 byte" used-AO="0 byte">
       <Acquisition-Block name="MyROBlock" size="53" address="0" mem-size="118">
@@ -284,8 +284,8 @@
                 <array2D dim1="2" dim2="2" format="dt"/>
             </Configuration-Register>
       </Configuration-Block>
-      <Instance label="testDevice1" address="1" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
-      <Instance label="testDevice2" address="2" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
+      <Instance label="testDevice1" fesa-label="" address="1" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
+      <Instance label="testDevice2" fesa-label="" address="2" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
     </SILECS-Class>
   </SILECS-Mapping>
 </SILECS-Param>
diff --git a/silecs-codegen/src/xml/test/generated_correct/client/Siemens_Step7Device.silecsparam b/silecs-codegen/src/xml/test/generated_correct/client/Siemens_Step7Device.silecsparam
index 05d4dcab0b2d75734921584f27ec1f6af38ab43e..2decf2e48a5ca5f8fb90062e4561b184df63b816 100644
--- a/silecs-codegen/src/xml/test/generated_correct/client/Siemens_Step7Device.silecsparam
+++ b/silecs-codegen/src/xml/test/generated_correct/client/Siemens_Step7Device.silecsparam
@@ -21,7 +21,7 @@
           <scalar format="dt"/>
       </Acquisition-Register>
       </Acquisition-Block>
-      <Instance label="SilecsHeader" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
+      <Instance label="SilecsHeader" fesa-label="" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
     </SILECS-Class>
     <SILECS-Class name="AllTypes" version="0.1.0" address="1" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" used-mem="DB1..DB4/4192 bytes" used-DI="0 byte" used-DO="0 byte" used-AI="0 byte" used-AO="0 byte">
       <Acquisition-Block name="MyROBlock" size="53" address="1" mem-size="118">
@@ -284,8 +284,8 @@
                 <array2D dim1="2" dim2="2" format="dt"/>
             </Configuration-Register>
       </Configuration-Block>
-      <Instance label="testDevice1" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
-      <Instance label="testDevice2" address="1" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
+      <Instance label="testDevice1" fesa-label="" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
+      <Instance label="testDevice2" fesa-label="" address="1" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
     </SILECS-Class>
   </SILECS-Mapping>
 </SILECS-Param>
diff --git a/silecs-codegen/src/xml/test/generated_correct/client/Siemens_TiaBlock.silecsparam b/silecs-codegen/src/xml/test/generated_correct/client/Siemens_TiaBlock.silecsparam
index 1eb150cc370d47b28bbfda966c054c51ec93a345..a6597eaef2bbba0b87b31ed546b95b2e0803d799 100644
--- a/silecs-codegen/src/xml/test/generated_correct/client/Siemens_TiaBlock.silecsparam
+++ b/silecs-codegen/src/xml/test/generated_correct/client/Siemens_TiaBlock.silecsparam
@@ -21,7 +21,7 @@
           <scalar format="dt"/>
       </Acquisition-Register>
       </Acquisition-Block>
-      <Instance label="SilecsHeader" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
+      <Instance label="SilecsHeader" fesa-label="" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
     </SILECS-Class>
     <SILECS-Class name="AllTypes" version="0.1.0" address="1" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" used-mem="DB1..DB4/4192 bytes" used-DI="0 byte" used-DO="0 byte" used-AI="0 byte" used-AO="0 byte">
       <Acquisition-Block name="MyROBlock" size="53" address="1" mem-size="118">
@@ -284,8 +284,8 @@
                 <array2D dim1="2" dim2="2" format="dt"/>
             </Configuration-Register>
       </Configuration-Block>
-      <Instance label="testDevice1" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
-      <Instance label="testDevice2" address="1" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
+      <Instance label="testDevice1" fesa-label="FESA_NAME1" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
+      <Instance label="testDevice2" fesa-label="FESA_NAME2" address="1" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
     </SILECS-Class>
   </SILECS-Mapping>
 </SILECS-Param>
diff --git a/silecs-codegen/src/xml/test/generated_correct/client/Siemens_TiaDevice.silecsparam b/silecs-codegen/src/xml/test/generated_correct/client/Siemens_TiaDevice.silecsparam
index a5ec4f63d36afe9adbaae9b455d67b715bea8fd6..7c4d44483a48bb9bc4aa67a262c7b21f4398ea56 100644
--- a/silecs-codegen/src/xml/test/generated_correct/client/Siemens_TiaDevice.silecsparam
+++ b/silecs-codegen/src/xml/test/generated_correct/client/Siemens_TiaDevice.silecsparam
@@ -21,7 +21,7 @@
           <scalar format="dt"/>
       </Acquisition-Register>
       </Acquisition-Block>
-      <Instance label="SilecsHeader" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
+      <Instance label="SilecsHeader" fesa-label="" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
     </SILECS-Class>
     <SILECS-Class name="AllTypes" version="0.1.0" address="1" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" used-mem="DB1..DB2/4192 bytes" used-DI="0 byte" used-DO="0 byte" used-AI="0 byte" used-AO="0 byte">
       <Acquisition-Block name="MyROBlock" size="53" address="0" mem-size="118">
@@ -284,8 +284,8 @@
                 <array2D dim1="2" dim2="2" format="dt"/>
             </Configuration-Register>
       </Configuration-Block>
-      <Instance label="testDevice1" address="1" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
-      <Instance label="testDevice2" address="2" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
+      <Instance label="testDevice1" fesa-label="" address="1" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
+      <Instance label="testDevice2" fesa-label="" address="2" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
     </SILECS-Class>
   </SILECS-Mapping>
 </SILECS-Param>
diff --git a/silecs-codegen/src/xml/test/generated_correct/client/Virtual_SiemensBlock.silecsparam b/silecs-codegen/src/xml/test/generated_correct/client/Virtual_SiemensBlock.silecsparam
index 001cf778ef6cbc6a0d57793c1e44703a70fac4e2..f8bcea02df71dcfb22a8da06fc9b64ff14566677 100644
--- a/silecs-codegen/src/xml/test/generated_correct/client/Virtual_SiemensBlock.silecsparam
+++ b/silecs-codegen/src/xml/test/generated_correct/client/Virtual_SiemensBlock.silecsparam
@@ -21,7 +21,7 @@
           <scalar format="dtl"/>
       </Acquisition-Register>
       </Acquisition-Block>
-      <Instance label="SilecsHeader" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
+      <Instance label="SilecsHeader" fesa-label="" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
     </SILECS-Class>
     <SILECS-Class name="AllTypes" version="0.1.0" address="1" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" used-mem="DB1..DB4/4192 bytes" used-DI="0 byte" used-DO="0 byte" used-AI="0 byte" used-AO="0 byte">
       <Acquisition-Block name="MyROBlock" size="53" address="1" mem-size="118">
@@ -284,8 +284,8 @@
                 <array2D dim1="2" dim2="2" format="dt"/>
             </Configuration-Register>
       </Configuration-Block>
-      <Instance label="testDevice1" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
-      <Instance label="testDevice2" address="1" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
+      <Instance label="testDevice1" fesa-label="" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
+      <Instance label="testDevice2" fesa-label="" address="1" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
     </SILECS-Class>
   </SILECS-Mapping>
 </SILECS-Param>
diff --git a/silecs-codegen/src/xml/test/generated_correct/client/Virtual_SiemensDevice.silecsparam b/silecs-codegen/src/xml/test/generated_correct/client/Virtual_SiemensDevice.silecsparam
index a33c5eaefb2abe1dde6cc0687ae0cf8680969914..58ac07ca32a5c103b56e6aa51a51da8f82dc8402 100644
--- a/silecs-codegen/src/xml/test/generated_correct/client/Virtual_SiemensDevice.silecsparam
+++ b/silecs-codegen/src/xml/test/generated_correct/client/Virtual_SiemensDevice.silecsparam
@@ -21,7 +21,7 @@
           <scalar format="dtl"/>
       </Acquisition-Register>
       </Acquisition-Block>
-      <Instance label="SilecsHeader" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
+      <Instance label="SilecsHeader" fesa-label="" address="0" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
     </SILECS-Class>
     <SILECS-Class name="AllTypes" version="0.1.0" address="1" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1" used-mem="DB1..DB2/4192 bytes" used-DI="0 byte" used-DO="0 byte" used-AI="0 byte" used-AO="0 byte">
       <Acquisition-Block name="MyROBlock" size="53" address="0" mem-size="118">
@@ -284,8 +284,8 @@
                 <array2D dim1="2" dim2="2" format="dt"/>
             </Configuration-Register>
       </Configuration-Block>
-      <Instance label="testDevice1" address="1" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
-      <Instance label="testDevice2" address="2" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
+      <Instance label="testDevice1" fesa-label="" address="1" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
+      <Instance label="testDevice2" fesa-label="" address="2" DI-address="-1" DO-address="-1" AI-address="-1" AO-address="-1"/>
     </SILECS-Class>
   </SILECS-Mapping>
 </SILECS-Param>
diff --git a/silecs-codegen/src/xml/test/generated_correct/controller/Siemens_TiaBlock.scl b/silecs-codegen/src/xml/test/generated_correct/controller/Siemens_TiaBlock.scl
index 27403832634a8ab74399cd6caf811d4fd2a8cf6a..ba4548a4a8043262a0a8e41bd6d8a960a693c8c7 100644
--- a/silecs-codegen/src/xml/test/generated_correct/controller/Siemens_TiaBlock.scl
+++ b/silecs-codegen/src/xml/test/generated_correct/controller/Siemens_TiaBlock.scl
@@ -173,8 +173,8 @@ AUTHOR:    schwinn
 FAMILY:    SILECS
 NAME:      BLK_MODE
 STRUCT
-    testDevice1: _AllTypes_MyROBlock;
-    testDevice2: _AllTypes_MyROBlock;
+    testDevice1: _AllTypes_MyROBlock;  //FESA_NAME1
+    testDevice2: _AllTypes_MyROBlock;  //FESA_NAME2
 
 END_STRUCT;
 BEGIN
@@ -186,8 +186,8 @@ AUTHOR:    schwinn
 FAMILY:    SILECS
 NAME:      BLK_MODE
 STRUCT
-    testDevice1: _AllTypes_MyRWBlock;
-    testDevice2: _AllTypes_MyRWBlock;
+    testDevice1: _AllTypes_MyRWBlock;  //FESA_NAME1
+    testDevice2: _AllTypes_MyRWBlock;  //FESA_NAME2
 
 END_STRUCT;
 BEGIN
@@ -199,8 +199,8 @@ AUTHOR:    schwinn
 FAMILY:    SILECS
 NAME:      BLK_MODE
 STRUCT
-    testDevice1: _AllTypes_MyWOBlock;
-    testDevice2: _AllTypes_MyWOBlock;
+    testDevice1: _AllTypes_MyWOBlock;  //FESA_NAME1
+    testDevice2: _AllTypes_MyWOBlock;  //FESA_NAME2
 
 END_STRUCT;
 BEGIN
@@ -212,8 +212,8 @@ AUTHOR:    schwinn
 FAMILY:    SILECS
 NAME:      BLK_MODE
 STRUCT
-    testDevice1: _AllTypes_MyCBlock;
-    testDevice2: _AllTypes_MyCBlock;
+    testDevice1: _AllTypes_MyCBlock;  //FESA_NAME1
+    testDevice2: _AllTypes_MyCBlock;  //FESA_NAME2
 
 END_STRUCT;
 BEGIN