Suggestions for Accessing Expanded Memory Mapped Areas


Please bear with me (newbie). I’ve run into something I think a number of you must have
encountered at some point - typically I’ve used SNAP I/O modules with 4 points or less.

I have an input module (AITM-8) with 8 inputs from which I need to read 6. The code I
have is only accessing the first 4 points. I’ve since read doc 1465 (MMP Protocol Guide)
and talked with support and it’s obvious that I have to access the expanded memory area but the question is how to really do this.

We compile Opto’s O22SIOMM, O22SIOST, O22SIOUT and O22STRCT files in our project and have had no problems until now. I can see from the O22SIOMM header how Dig and Ana addresses are set and can see from doc 1465 how these addresses have changed.

I’m wondering if I need to change the addresses in the Opto header file and will this
alone get me access to the expanded memory areas or do I need to change the addresses and possibly some of the Opto C++ code?

Currently our code uses GetAnaBankValuesEx() for input and the return is a structure with an array of 64 floats. Seems like enough storage for the 6 points I need, but then…

Also in 1465 I can see the Analog Bank Read (Read Only) addresses haven’t changed so this makes me think I need to use something like an Analog Point Read instead as this has a changed address.

I’m hoping for some high level ideas on the best way to proceed or what others may have done but I think it all starts with the changed address in MMP.

Thanks in advance.