Issue
TGML graphics to display "OFF" and "ON" instead of "0" and "1"
Product Line
EcoStruxure Building Operation, TAC Vista
Environment
TGML Graphics Editor
Cause
Data in the Vista database is stored as 0,1 but may be displayed using paired texts. Those paired texts can be set to show up on the graphic, or a unique conversion can take place in TGML.
Resolution
If you use default snippets that come provided with the editor, you have the option of displaying a value with either NumericPresentation or TextPresentation. The only real difference between the two is that TextPresentation defines the binding's behavior format as "Presentation" rather than "None." This will only display built in presentation formats -- an alarm state will show up as "Alarm" or "Normal" -- or if you've defined paired text within a binary point in the Vista database, that will show up instead of (0,1).
This does not, however, explicitly give you the option from within the Graphics Editor to convert decimal values into text. The example TGML code below describes how to take a value that is showing up as "0" and "1" and make it read instead as "OFF" and "ON."
<Text>Value <Bind Attribute="Content" Name="Value"> <ConvertValue SignalEqualTo="0" AttributeValue="OFF"/> <ConvertValue SignalEqualTo="1" AttributeValue="ON"/> </Bind> </Text>
Cut and paste this TGML code into the editor's Source view to view it in the editor. Just be sure to paste it between the opening tag and closing tag. If all you see in the Source view is one self-closing tag, that is because the page is empty. Either add separate opening and closing tags, or go back to Design view and add one object to the page to automatically split them.You can see here that a Text object has a binding associated with it. That binding's target attribute is "Content" because this will alter the content of the Text. (We could also change the text's stroke color, background color, font size, position on the page, etc., by changing our binding's target attribute.) ConvertValues underneath the binding tell the binding how to alter the Text's content. A SignalEqualTo 0 will write "OFF" to the content and a SignalEqualTo 1 will write "ON" to the content. The number of ConvertValues is not limited to only two. There could be a third one to say that a value of 2 should read "STANDBY."