Overwhelmed with complexity of SA example project, but I need some of its functionality

In the past I have been developing relatively small SCADA projects with Citect and for navigation I always used direct buttons on a template. These buttons would have indicators to show is an active alarm was present on the page, if an override existed on the page or if a process activity was active. In a way this was a fairly decent way of providing situational awareness to operators.

I now am developing a project with way too many graphic screens and it is no longer practical to use my button approach. I looked at the example project and really like the treeview object, tied in with a page hierarchy defined in Visualisation/Menu Configuration I think it would look really neat. if the tree page links also can have various indicators next to them to draw operators to the pages that have an alarm than this would be even better.

I have no need as of yet for any other features of the SA project, and I don't intend to use the panes defined and here I get stuck.

I get the feeling you either need to commit fully to the SA methodology and project style or not use it all; I like to think I can do a fair bit of Cicode coding but I have been going at this for a few days now and I am not making any progress. I get my page tree to work in the example project but the moment I move it into my own project it fails and breaks. I try to debug, create a workspace, define panes even but it becomes really messy really quickly.

Can someone give me some feedback; is it possible to achieve what I want (a tree list with all the pages in my project as defined by me in the "Menu Configuration", each with up to 4 indicators behind the page to show if there is an alarm (plus a count), an override, and an active process.

Should I abandon trying to decipher the SA project, should I try and use the Library control tree from the SXW style (although this seems more limited and seems to 'claim' an area of the display. I hope this all makes sense!

Parents
  • Hi Kees,

    A few customers have asked for what you want, which is to use the tree control to represent the page hierarchy AND also have the page based alarm counting indicators next to each item. Unfortunately that is currently not possible out of the box. The page based alarm counting code is currently "hard-coded" to the page based navigation zone. The tree currently only supports displaying hierarchical alarm counts when displaying equipment - not random/navigation menus.

    It certainly is not impossible to do, but you will need to be a pretty hard-core cicoder to write the hierarchical counting algorithm required (you need to roll up n levels). My gut feel is that with the code shipped in pagenavigation.ci and the treeview.ci you would be able to roll your own and it would be pretty fast, especially if you utilised cicode maps as your count storage. If you do choose this route, just remember to take care to calculate the total expect alarm counts such that your servers can handle the requests for your number of clients.

    In terms of committing to "SA" the naming of "SA_Include" is a mistake I regret. It really should have been called something like "Workspace_Include". Workspace can be used to build any type of project. It just happens to have built into it the core concept of contextualisation which Situational Awareness relies upon. In terms of visual presentation, well you can use whatever style you like. All the SA library objects are in "SA_Library" which you don't have to use. You can use your own non-sa symbols.

    At a high level, the workspace (SA_Include) provides:

    1. Master Page (Layout) concept with multiple smaller pages which are displayed within the panes. You can create your own master pages with your own layout. You don't need to use the ones we have in the starter project. There are a couple of big customers on here that have absolute top notch workspace designs that far out pace what we shipped.
    2. Context driven navigation
    3. Content drive automatic content filling
    4. Menu Navigation and page based, equipment alarm counting
    5. Equipment based Alarm/Trend pages

    Just pt 1 alone is worth it my opinion. Page load/save times in Graphics Builder are immediately improved because they don't have a copy of the entire template embedded in them. Runtime is also a lot nicer between page transitions as the system doesn't need to reload titlebars, alarm banners, navigation trees etc. To get the absolute best out of Workspace, you need Equipment. Certainly if you want alarm counts you will need equipment. That then means the Alarm/Trend page trees will work and the various navigation related context menu commands on the alarm page.

    Absolutely do not try and use the SxW tree within workspace.

    I have an example of using the Workspace Tree as menu navigation (albeit without alarm counts). PM me your email address and I can share it. If you did want to forge ahead with workspace+menutree+alarmcounts, then I would start with duplicating the treeview.ci and then replacing the alarm count code with your own code that does hierarchical page based equipment alarm counting. pagenavigation.ci will show you the basics, for 2 levels. Be warned, you won't be using much of that code.

    cheers,
    bradley
Reply
  • Hi Kees,

    A few customers have asked for what you want, which is to use the tree control to represent the page hierarchy AND also have the page based alarm counting indicators next to each item. Unfortunately that is currently not possible out of the box. The page based alarm counting code is currently "hard-coded" to the page based navigation zone. The tree currently only supports displaying hierarchical alarm counts when displaying equipment - not random/navigation menus.

    It certainly is not impossible to do, but you will need to be a pretty hard-core cicoder to write the hierarchical counting algorithm required (you need to roll up n levels). My gut feel is that with the code shipped in pagenavigation.ci and the treeview.ci you would be able to roll your own and it would be pretty fast, especially if you utilised cicode maps as your count storage. If you do choose this route, just remember to take care to calculate the total expect alarm counts such that your servers can handle the requests for your number of clients.

    In terms of committing to "SA" the naming of "SA_Include" is a mistake I regret. It really should have been called something like "Workspace_Include". Workspace can be used to build any type of project. It just happens to have built into it the core concept of contextualisation which Situational Awareness relies upon. In terms of visual presentation, well you can use whatever style you like. All the SA library objects are in "SA_Library" which you don't have to use. You can use your own non-sa symbols.

    At a high level, the workspace (SA_Include) provides:

    1. Master Page (Layout) concept with multiple smaller pages which are displayed within the panes. You can create your own master pages with your own layout. You don't need to use the ones we have in the starter project. There are a couple of big customers on here that have absolute top notch workspace designs that far out pace what we shipped.
    2. Context driven navigation
    3. Content drive automatic content filling
    4. Menu Navigation and page based, equipment alarm counting
    5. Equipment based Alarm/Trend pages

    Just pt 1 alone is worth it my opinion. Page load/save times in Graphics Builder are immediately improved because they don't have a copy of the entire template embedded in them. Runtime is also a lot nicer between page transitions as the system doesn't need to reload titlebars, alarm banners, navigation trees etc. To get the absolute best out of Workspace, you need Equipment. Certainly if you want alarm counts you will need equipment. That then means the Alarm/Trend page trees will work and the various navigation related context menu commands on the alarm page.

    Absolutely do not try and use the SxW tree within workspace.

    I have an example of using the Workspace Tree as menu navigation (albeit without alarm counts). PM me your email address and I can share it. If you did want to forge ahead with workspace+menutree+alarmcounts, then I would start with duplicating the treeview.ci and then replacing the alarm count code with your own code that does hierarchical page based equipment alarm counting. pagenavigation.ci will show you the basics, for 2 levels. Be warned, you won't be using much of that code.

    cheers,
    bradley
Children
No Data