I'm going through and cleaning up my AOIs / remaking some of them from scratch, and I've been trying to decide if there's any benefit to making all my tag InOut parameters vs normal inputs and outputs.
I don't allow any access to tags internal to the AOI itself, anything that needs to be read from it or written to it is done by having an accessible tag external to the AOI that is passed in / written to from the AOI.
So in theory, using a standard Input or Output tag means I have a tag external to the AOI, that has its value passed to a second identical tag inside the AOI, whereas an InOut parameter is passing a reference to the external tag's memory location into the AOI.
That means I should see a nice decrease in the size of the AOI by switching to InOut parameters, right? Except I did a sample AOI and it only saved me 8 bytes, and that was with 52 parameters (which yes, will not work on firmware revisions greater than 28)!
What's more is that my overall program size actually increased by 1,796 bytes . This is the exact same program with the only difference being this one instance of this one AOI.
Can anyone explain what I'm missing here? On paper I should be seeing nice memory usage savings, but instead I've seen a bump.
I don't allow any access to tags internal to the AOI itself, anything that needs to be read from it or written to it is done by having an accessible tag external to the AOI that is passed in / written to from the AOI.
So in theory, using a standard Input or Output tag means I have a tag external to the AOI, that has its value passed to a second identical tag inside the AOI, whereas an InOut parameter is passing a reference to the external tag's memory location into the AOI.
That means I should see a nice decrease in the size of the AOI by switching to InOut parameters, right? Except I did a sample AOI and it only saved me 8 bytes, and that was with 52 parameters (which yes, will not work on firmware revisions greater than 28)!
What's more is that my overall program size actually increased by 1,796 bytes . This is the exact same program with the only difference being this one instance of this one AOI.
Can anyone explain what I'm missing here? On paper I should be seeing nice memory usage savings, but instead I've seen a bump.