Inputs for AsIOMMan functions

Hi,
it is unclear to me what the input of the AsIOMMCreate() function should be? pDataObject and pNewModule

We are using ST as programming language.

Hi Martin,

The pNewModule input is a pointer to a string containing the name of the module you wish to modify (“arconfig” or “iomap”).

The pDataObject input is a pointer to the data object that contains the new module data. You would create a data object that contains the new arconfig or iomap information. This function block then takes that data object and replaces the existing arconfig or iomap file with it.

I highly recommend reading through the provided sample code. It is in C so you will not be able to directly import it to an ST program, but it should help you understand how these function blocks are meant to be used.

Hi,

some time ago I added a simple sample in another thread, maybe it helps a bit.

Best regards!

Thanks for the help!

I tested this solution and it works.

I have only one doubt:
if the cpu is different beetween the 2 (or more) configurations, is this method still valid?
Because i tried switching beetween a X20CP0484 and a X20CP0483 configuration and the hardware tree that it generated was wrong.

But with 2 identical CPU it works.
Thanks again.

1 Like

Hi,

with different PLC types it’s not possible.
The reason is that a PLC has to have the suitable Automation Runtime to boot up.
If it’s not the right AR, the PLC can’t boot, so switching between different PLC types will not work.

To manage different types of PLC, you need suitable initial setup installations, for example by different USB initial installation packages containing the right project for the type of the PLC used.
As soon as the PLC is able to boot into RUN, you can use AsIOMMan.

Best regards!

1 Like

Thanks,
One last question.
When you change the configuration with this method, do you also load all the other files in the new configuration (bindings, eventbindings, mapp services files, ecc…)?
Because after a quick test it seems that the hardware configuration changes, but the eventbindings, for example, are still the ones from the old active configuration.

AsIOMMan is for the exchange of IOs - not for any exchange in terms of software.

Here a different approach could be used. You create Project installation packages (PIP) and place them on your USER partition. Then you use the ArProject library to install this full package. This will exchangr hardware and also software - similar to a “download” within AS

3 Likes

Hi Martin, have you find solution for your topic? Can you update us?

Hi, the project shared by Alexander was really helpful and works.
I haven’t tried Oliver’s solution but it could be the right way to do it in case you need exchange in terms of software as well as hardware.
Thanks again for the help!

cool I marked Alexander reply as a solution. Next time you can do it as well :slight_smile: