Request for local variables in PAC Display and Groov - Where did the suggestion box go?


The suggest box category isn’t showing up for me and I can’t find any of the posts that were in there when searching.


Well, we re-arranged things, and are still fine-tuning (and resurrecting) a few things since the conversion. Was there something in particular you missed? (I’ve been bringing some pieces back manually.)


One of the categories in the old forum was “Suggestion Box”. I was looking for the posts regarding adding a feature for local variables in PAC Display.


That would be awesome. It would definitely cut down on some of the variables we include in our code here which only serve a graphical purpose.


Thanks for the input. Could you give me an example/use case or two of this? FYI, in groov, we’re working on some new features (coming soon!) I suspect might help for this kind of situation. Have you used/considered groov?


Here would be my use case:

For example, I have 60 HVAC zones that all have the same points - space temp, setpoint, damper position, etc. I store all these points in tables in the strategy. So if I want the space temperature from zone 10, ZoneSpaceTemp[10] would get me that data. This allows for a single chart to iterate through all the zones to perform the operating logic. Works beautifully.

Now when it comes to display, I have two choices:

  1. Create a window for one zone and then copy it for all the others and hope the customer never requests a change and that I don’t make any mistakes on the source window so I don’t have to fix 60 separate windows or delete them all and start the copy process all over again. (<- So this isn’t much of a choice)

  2. Create one window and have it pull data from “Display variables” in the strategy. So the user selects a zone from a floorplan graphic, that will store a display index variable in the strategy with the zone number that was selected. I then have a chart that has logic that moves the requested zone variables from the tables into display variables like this: DisplayZoneSpaceTemp = ZoneSpaceTemp[DisplayIndex];
    This works just fine, as long as only one operator is viewing the zones, since any operator can change the DisplayIndex. To work around this, I have to create multiple DisplayIndex’s for each workstation and have a custom PAC Display HMI for each workstation that is hard coded to that DisplayIndex - no fun when I need to do updates to the HMI.

What I would like is to have a variable that is local to PAC Display that I can use as a DisplayIndex to pull the ZoneSpaceTemp directly. This would eliminate having to have a display chart in the strategy and also allow multiple users to use display and see different zones at the same time without doing a bunch of extra work and creating a maintenance nightmare.

If this was something that was available in Groov, then I would consider looking at it again, but currently I do not use Groov.


I have the same issue as Philip with oil well leases, only there can potentially be up to 100 (my limit) different leases. The problem, beside maintain multiple lease display pages, and using a single set of “display” variables, is that multiple users can walk all over another users selection. By using some type of user ID, and a table of pointers each user would could their own environment.



If you are running PAC Display, then you could easily set up SoftPAC to communicate with Display runtime locally which will create a unique experience for each individual user or operator. Each work station would be able to scroll through all the zones at separate instances and see all the zones. You could set up bits to toggle each time a different user wants to change a value (like an EDIT VALUES BUTTON). Code it so whoever hits the edit button first is the only one that can edit it but the others can still view it. You can even put a value in the actual brain that tells other operators how many people are viewing that particular zone at the same time.
The scratchpad area would handle all the value transfers. Each workstation will have it’s own unique hard coded number (stored in SoftPAC strategy). This number will be the only thing that will be different for each workstation. The SoftPAC and Display programs would all be identical. You can even store that unique value to show which work station changed that value last. Hope that makes sense.


Thank you Phillip. This is something I’ve need since starting with the Opto SNAP system. In a multi-user system you have to know who is logged in and what they are doing, i.e. Logging changes to the environment.



That is a good idea - you can even use the OptoMMP Server if you don’t have SoftPAC available at an installation.


On second thought OptoMMP server wouldn’t work so well as you would want the logic of SoftPAC locally to handle the transfer of the display variables otherwise you are back to managing multiple sets of display variables on the main strategy.