I maintain 1 program for multiple machines that are very similar, one issue I have to dance around from time to time is if 1 program uses lets say C1:25 on an XA2 as a digital in, and in another program I want to use it as a voltage in, I can not switch it as in the system layout I can only define it as one thing. My workaround is enabling or disabling the XA2's based on my IO assignments, which creates tons of duplicate logic.
It would be nice if a warning showed up instead of locking this functionality out, giving me the flexibility of assigning IO anyway I choose. A way of safely doing this could be to force an SMC when doing this functionality. This could prevent user mistakes. I personally would rather just have the flexibility to do what I want and have my logic be the functionality decider, but with an SMC I could at least get rid of multiple modules doing 99% of the same tasks.
Customer support service by UserEcho