As you can see in the previous post there are errors in the reading. All the alarm blocks are identical with updated registers (tedious process.)
When I would create this type of project on a Rockwell panel for example, I would pass parameters. There would be a text object with a bunch of variables inserted to it with a #1 located in the instance portion of the alarm. This would net me a custom object that is tied to whatever registers the parameter passed to it would indicate the instance needed.
I would prefer this because It allows the future scalability to be infinite.
When using logix5000 it is even easier because I have a array of alarm user defined data type that I can place the instance into in the same fashion.
The first problem is that I need to place the data into a udt located in the HMI so I can do manipulation. The second problem is not hogging the bandwidth by streamlining the read process.