Using different IO-modules in the S7-1500 template

Can one replace the IO-modules in the S7-1500 template and still connect to FactoryIO? When I try to do that FactoryIO is not able to connect. The S7-PLCSIM error light flickers and diagnostics complain about Faulty LED and errors in communicating with %I addresses.

image
image

Has anyone successfully replaced the default local IO-modules in the template, perhaps with remote IO-modules?

Below is my experience, so far unsuccessful.

Using the template to connect to S7-PLCSIM and removing the local IO-modules removes the addresses defined in the template project and it breaks the connection to FactoryIO. It also caused the ERROR light on the S7-1500 simulator to flicker. The diagnostics status of the PLC displays Faulty LED (SF) and the error events seem to match the %I addresses that where assigned to the IO-modules removed.

I tried creating other modules, for example remote IO-modules, and to assign the same %I addresses to them, but it doesn’t seems to remove the errors.

I noticed that the byteOffsets in the function that glues the TIA program communication to FactoryIO seem to match addresses assigned to the default IO modules in the template. Does one need to adapt this function if IO-modules are removed or replaced?

It seems that I was able to get rid of the errors, after all, if arbitrary IO-modules were added so that all input-addresses could be assigned to them (%I0-%I63 and %I512).

Now the question is, is it possible to assign arbitrary number of %I-addresses without getting these errors? A guess is that the address ranges in FC9000 lab function needs to be adjusted. If so, how? Is there any documentation?