DspSym with Genies

Has anyone got some information on using DspSym function with Genies - around how parameters are passed to the Genie when it is added at runtime?

  • I've never seen that used to display genies but I see the help says it can. I'm wondering if it was meant for a no-substitution genie. If that's the case, you could create the base genie with substitutions, then create a bunch of genies that have the base genie in them and all the substitutions hard coded for a specific piece of equipment.

    I always wondered why the Graphics Builder has the option to Disable Genie Forms. Maybe no-sub genies were used more pre-v4?

  • We use DspSym to display runtime genies to work around a problem Citect/PlantSCADA has with saving multiple lines that have move/resize/rotate animation.  Anything over about 10 on a page takes an exponentially longer time to save the page (e.g. 60 of these lines could take over 2hrs to save the page).

    We pass parameters to the genies via metadata; which is written to the genie directly after the DspSym is called.  We never found a way of passing a tag (other than as a tag name in metadata).

  • Hi Tim,

    DspSym was updated in the 2018 version allowing it to display genies. We did this as we wanted vector based symbols with animation.

    We don't support displaying genies at runtime that have genie parameters, as the substitution that occurs is a configuration time concept.

    Of course, you can still "parameterize" your genie using metadata as Steve mentioned. We do this with the Alarm priority genies of situational awareness projects.

    Do a search for DspSym in the ExampleSA project to uses of it. In particular have a look at PageNavigation.ci which demonstrates the manipulation of the genies metadata. But then you know how to use metadata functions... ;)

    There is no direct way to pass tags, other than using the usual page background cicode tricks. (<- that is not an endorsement to try that...)

    bradley