Question Regarding Mulitple Charts with the Same Logic


Dear sir/ma’am:

I am new to the Opto 22 and we are planning to use the opto 22 system to monitor the power consumption of our Data Racks, we have 300 Data Racks In total and my question is by any chance, is there any other way for us to use the flow chart for 300 times without making 300 charts that have the same logic? and also for the variable, we have multiple variables, is there also a way for us not to make multiple variable for 300 flowchart?
Thank you very much,your answers would be very much appreciated.


Hi nforp08,

Welcome to the forums.

What you describe can be achieved with a subroutine.
You could have one chart that loops through the 300 racks (probably using a pointer table) and one subroutine.
To put it simply then, you can do it with two charts.
(And depending on what calculations need to be done, you might just need the one looping chart).

As for the variables. Probably only a handful of those will be needed since the 300 racks and the 300 power measurements will be stored in two tables.

Take a good look at the front section of the Pac Control Users Guide.
It has a section on programming concepts.




Thank you for your help Mr. ben orchard. I have another question regarding the previous question. Points cannot be placed inside the subroutine based from my understading and we have 300 points for monitoring the power of the 300,does it mean that I need to make 300 charts for every point that will call the subroutine? Thank you Mr. orchard.


Hello nforp08,

You can pass a digital or analog point (or an I/O Unit) as a parameter to a subroutine, that’s what you’d need to do here.

You can not have a point as a “local variable” – perhaps that’s where the confusion comes in?

In any case, Ben’s suggestion of looping through racks or points, which you would pass to a common subroutine, should work just fine!



yes ma’am that’s what confuses me on how will i use the subroutine.Thank you ma’am and sir for the help. That gave me a clear idea on how will i use the subroutine.