Hi Peter,
Here is how I would tackle this one…
As often as you want the data fresh, I would run the command ‘Move I/O Unit to Numeric Table Ex’ for each of the I/O units hanging off that S2 controller.
This will, very efficiently, get the whole rack, digital, analog, in, out, the whole shebang, and move it into said table.
I would then store that table in the scratch pad (MMP) by using the command ‘Set I/O Unit Scratch Pad Float Table’. This will move the table from the I/O rack into a chunk of the scratch pad.
When it comes to moving it in, I would break the scratch pad into clear breaks, and I would leave some space between each chunk.
For example, the first rack might go from index 0 to 50, the second from index 100 to 150, the third from 200 to 250 and so on, (or what ever numbing order makes sense to your application).
This is how you make it easy to, as you say, ‘add more points’.
By giving space between each of the I/O unit chunks in the MMP, if you add a new point, the first command will just pick it up and put it in the table, the second command will just write it to the MMP, there will be nothing you need to do to the code after configuring the point.
Ok, so we now have, in very short order, got the I/O values in the scratch pad of the controller that the I/O is attached to.
Now, the last part of the job is to configure each controller in each controller as a ‘Generic OptoMMP Device’.
In other words, each of the 5 controllers will have 6 MMP I/O devices configured, itself and the 5 other S2 units.
Once you have that, your done.
You can then either address any point on the network by its index, or you can move tables around.
I’m sure Mary would like to see you do all the above with pointer tables, but they confuse the beep out of me, so I would do it the long hand way, but your welcome to do it anyway you like Peter!
As an aside, if you are using groov or PAC Display to look at any of those I/O points, I would seriously consider changing the tag from the I/O point to its matching table index number.
You will find your system speed (throughput) go up a notch or seven as then the HMI will not longer be holding up the serial I/O bus every time it needs to get a value, but it will be getting from the controller, much, much, much, much, much faster.
Anyone else got any peer to peer advice?
Cheers,
Ben.