Hi Lukas,
Your observation is correct – the axes group configuration doesn’t support multiple instances of the same feature-configuration type.
Nevertheless, what could help you (or maybe not, depending on your use case) is to use PV variables declared in the .interpreter file. This configuration file is not automatically inserted into the mappMotion configuration folder – you need to add it manually from the object catalog.
Note: This is a global configuration file, so if you have multiple axes groups, it applies to all interpreter instances within those groups.
The configuration enables you, among other things, to load additional *.iec files – multiple of them – so you can achieve the configuration granularity you’re looking for.
You can create short *.var files, each declaring functionality for your devices, and map them to PLC variables (using the '{AT PLC}' syntax). From there, you’re almost set – you can use them in your motion programs (both G-code and motionST). You can also use the ACCESS keyword to define an alias, making the references much shorter.
If you want something syntactically and functionally similar to M-functions, you need two more steps – declare the variables as path-synchronous and create preprocessor macros that replace the defined M-function calls with your variable assignments.
These preprocessor macros can be created in the AIL configuration files included from the .interpreter file – again, you can use a different configuration file for each of your devices.
deviceB.var.txt (119 Bytes)
deviceB.ail.txt (180 Bytes)
deviceA.var.txt (95 Bytes)
deviceA.ail.txt (187 Bytes)