S+ Operations 1.1.0: Display Builder User Guide
S+ Operations 1.1.0: Display Builder User Guide
S+ Operations 1.1.0: Display Builder User Guide
S+ Operations 1.1.0
Display Builder User Guide
Symphony Plus
S+ Operations 1.1.0
Display Builder User Guide
NOTICE
This document contains information about one or more ABB products and may include a description of or a
reference to one or more standards that may be generally relevant to the ABB products. The presence of
any such description of a standard or reference to a standard is not a representation that all of the ABB
products referenced in this document support all of the features of the described or referenced standard. In
order to determine the specific features supported by a particular ABB product, the reader should consult the
product specifications for the particular ABB product.
ABB may have one or more patents or pending patent applications protecting the intellectual property in the
ABB products described in this document.
The information in this document is subject to change without notice and should not be construed as a
commitment by ABB. ABB assumes no responsibility for any errors that may appear in this document.
In no event shall ABB be liable for direct, indirect, special, incidental or consequential damages of any nature
or kind arising from the use of this document, nor shall ABB be liable for incidental or consequential
damages arising from use of any software or hardware described in this document.
This document and parts thereof must not be reproduced or copied without written permission from ABB,
and the contents thereof must not be imparted to a third party nor used for any unauthorized purpose.
The software or hardware described in this document is furnished under a license and may be used, copied,
or disclosed only in accordance with the terms of such license. This product meets the requirements
specified in EMC Directive 2004/108/EC and in Low Voltage Directive 2006/95/EC.
TRADEMARKS
Symphony is a registered or pending trademark of ABB S.p.A.
All rights to copyrights, registered trademarks, and trademarks reside with their respective owners.
Copyright © 2012 ABB.
All rights reserved.
Release: July 2012
Document number: 2VAA001149C
TABLE OF CONTENTS
2. INTRODUCTION ...................................................................................... 20
8. SYMBOLS ................................................................................................ 40
20.3 Tips for the Use of the Plant Libraries ......................................................... 128
25.23 Create a Text File Containing the Common Script Code ....................... 197
25.33 Quality and Alarm Management (IsBad, IsAlm, IsToAck) ...................... 206
25.33.1 IsBad / IsBad_n .................................................................................... 206
25.33.2 IsAlm / IsAlm_n / IsToAck / IsToAck_n .............................................. 206
25.34 Object.string-Value and Text Format for Analog Fields ........................ 206
1.1 Scope
The ABB Operator Station is called Symphony Plus Operations or S+ Operations. The operator displays or mimics are
created with the ABB Display Builder software.
The goal of this manual is to allow first time users to get familiar with the Display Builder software. This manual covers the
basics of display creation, and it will show examples for the following key topics:
static shapes
dynamic value fields
bar and trend charts
dynamic buttons
simple symbols
simple faceplates
Not all features in the Display Builder is addressed in this manual; the following high level topics are not covered in this
manual:
Display Scripting
Custom control configuration using PRCBTN
2VAA001149C 19
SPlus Operations Display Builder User Guide INTRODUCTION
2. INTRODUCTION
2.1 Overview
The Display Builder is the application for creating and updating static and dynamic objects within the Graphic Displays of
Symphony Plus.
The displays consist of a working or editable version and a running version. The running version is the display that
operators use to control plant operations. The working or editable version is the source display.
Display developers modify the working version of the displays. Once the working version is ready for plant operations the
“Add to System” button in the Display Builder is used to make or update the running version of the display.
Note: It is possible to have running versions of the displays on a central server, (see the directories section of the S+
Operations registry), however is in not recommended and it limits some of the stand-alone and redundancy capabilities.
The working versions of the displays do not need to be on all clients. Some engineering standards or practices should be
put in place to ensure that two different versions of the working display do not exist.
Try to define only one location to be the master for all displays.
20 2VAA001149C
SPlus Operations Display Builder User Guide THE BASICS
3. THE BASICS
2VAA001149C 21
SPlus Operations Display Builder User Guide THE BASICS
22 2VAA001149C
SPlus Operations Display Builder User Guide GETTING STARTED
4. GETTING STARTED
Notes:
Displays can only be edited if the user has the correct security and the source or working display exists on the
operator station being use.
Object List –shows all items, including group sub items, on a display. This list is sorted in the order that the
objects were created or in alphabetical order.
Display Area – this shows the actual display. More than one display can be edited at the same time. Tabs at the
top of the display area show the different displays that are open.
Properties Window – this shows detailed information on the selected object, its dynamics, header and layout
information.
To offer more available space to edit displays, the Object List and Properties Window can be hidden or set to
floating and then resized.
To re-open either the Object List or Properties Window once they are hidden, Right Click on the top two menu
bars, for a selection dialog.
The Open button also shows the last sixteen displays that were opened.
24 2VAA001149C
SPlus Operations Display Builder User Guide GETTING STARTED
2VAA001149C 25
SPlus Operations Display Builder User Guide GETTING STARTED
A working display can be moved to the running system by selecting the (Add to System) Button.
The “Add to System” button will only add the display to the connected server; by default it will not add the display to all the
servers and clients.
To add displays to all nodes, there are two options:
Use the automatic “Update Servers” option
Manually copy the running displays to all nodes
There are two folders bin and binsym. The binsym folder saves the symbols while the bin is used
by the main display.
The automatic “Update Servers” option is useful once the plant is operational and all servers are connected and
functioning. The automatic “Update Servers” option has some limitations such as:
If servers are missing the procedure will be slower
If servers are offline their displays will be out-of-sync.
Displays are updated on all servers. This can be a problem if testing is required and the running displays is being
used by operations people
26 2VAA001149C
SPlus Operations Display Builder User Guide GETTING STARTED
To configure the automatic “Update Servers” options the SYSSETUP tool is used. Under the REGISTRY options, APPS,
and then IbDisp select the options:
Update Servers – YES
Server1, Server2 … Serverx – is a list of the names of clients and servers that need to be updated
2VAA001149C 27
SPlus Operations Display Builder User Guide GETTING STARTED
For custom displays it is possible to adjust the size of the Window View Port.
To adjust the default size, click on the #WVP object and manual resize it. The resizing can also be done using the
28 2VAA001149C
SPlus Operations Display Builder User Guide STATIC GRAPHIC OBJECTS
To add text click on the (Text) button in the second menu, then click on the display where the text should go.
A dialog will come up allowing the user to enter the required text. The text can be repositioned by selecting it and
dragging it to a new position.
The Properties Window can be used to:
Change text color
Change Fill Style, (this includes Shadowing)
Change Orientation, (Horizontal or Vertical)
It should be noted that text underlining is not supported in the Font properties, to add underlining use the line tool
to create a horizontal line.
2VAA001149C 29
SPlus Operations Display Builder User Guide CREATING STATIC PIPES
A static pipe can be drawn using the (Rectangle) Tool. Using the Rectangle Tool, a rectangle representing the pipe
can be positioned on the display.
The Properties Window is used to define the pipe (or rectangle) attributes. The key points for a static pipe are:
Fill Style, use Horizontal for horizontal pipe and vertical for vertical pipes
Color to define the piping. For a 3D look use two different colors
A static tank can be drawn using the (Rectangle) Tool. The tank is drawn first as a rectangle.
The Properties Window is then used to modify the presentation. The key items are:
Fill Style is Vertical (for vertical tanks)
Smoothness is 100%. This makes the top and bottom of the rectangle into semi-circles
Supports and banding can be added to the tank. This is done by adding rectangles with no fill style on.
30 2VAA001149C
SPlus Operations Display Builder User Guide CREATING STATIC PIPES
For detailed work a grid can be turned on to help with dimensions and sizing. To enable the grid select the (Snap to
Grid) button on the top menu bar.
To add a valve cap the Circle tool is used. Once a circle is added, right click to access the arc tool.
2VAA001149C 31
SPlus Operations Display Builder User Guide CREATING STATIC PIPES
The valve cap then needs to be filled, to do this use Properties Window and:
Set foreground color to desired color
Set fill color to FORE (or foreground)
The final step is to define a valve step, this done with rectangle tool. Like the valve cap the Properties Window
is used to define the foreground color and fill style to FORE.
32 2VAA001149C
SPlus Operations Display Builder User Guide CREATING STATIC PIPES
A selected symbol library will open like a display. The library is not editable without System Administrator rights.
Objects on the Symbol Library can be dragged and dropped into the working display.
2VAA001149C 33
SPlus Operations Display Builder User Guide DYNAMIC TEMPLATE ELEMENTS
The templates are accessed using the button on the first menu bar. The following templates are available:
Select the Template button then select Analog Value, next click on the display in the location where
the text value should appear.
The Properties Window can be used to modify the colors and font.
Right Click on the Analog Value and select the option “Dynamic” and this will open the display diagram
configuration dialog. An Alphanumeric diagram type named “DALF” will be automatically setup.
34 2VAA001149C
SPlus Operations Display Builder User Guide DYNAMIC TEMPLATE ELEMENTS
The number of decimal points and the number of characters can be adjusted. To change this select the DALF
diagram tab and then modify the Format entry.
Analogs are usually FLOAT, but other formats are possible. The default formatting code for floats is: %6.2f, where
6=the number of digits and 2= the number of decimals. For one decimal and eight characters the format would be:
%8.1f, but the size should also be increased to 8.
To add digital status to a display, select the (Template) button then select Digital Status, next click on
the display in the location where the text value should appear.
The Properties Window can be used to modify the colors and font.
Digital status text comes from the database and not the display.
By default the color of the Digital Status is adjusted based on the system alarm and return-to-normal colors. For
details on this see the BATTDECK.XML in the /DECK directory.
Once a Digital Status is dropped on a display the Properties Window is used to adjust:
o Foreground and background colors
o Font size, type and weight
o Orientation, horizontal or vertical
The default is one tag, to increase the number of tags toggle the curves selection, this will increase the number of
curves that show at the bottom. The tags are selected by clicking on the appropriate curve. When a curve is
selected a dialog will be called to:o
o Define the tag name to use
o Select the Low and High Range. By default this is dynamically extracted from the database
o Define the color of the curve
2VAA001149C 37
SPlus Operations Display Builder User Guide DYNAMIC TEMPLATE ELEMENTS
The basic trend template is a building block to create more advanced symbols and display.
Review the symbol library to check from more advanced trend charts.
38 2VAA001149C
SPlus Operations Display Builder User Guide DYNAMIC TEMPLATE ELEMENTS
The scaling of the bar is based on the High and Low instrument levels for analogs.
Review the symbol library to check from more advanced bar charts.
2VAA001149C 39
SPlus Operations Display Builder User Guide SYMBOLS
8. SYMBOLS
A symbol is a grouping of display objects. This grouping of display objects can represent a static object like a tank or they
can be animated to change color or position based on dynamic values in the database.
Symbols can also be either local or global.
A local symbol named Group if static or Macro Symbol if dynamic is a unique group of object symbol that exists on a
display. Local symbols can be copied between displays or copied multiple times on a display. Each version of a local
symbol is unique, and changes to one local symbol will not be translated to other local symbols. For dynamic local
symbols all the tags are “hard coded”.
A global symbol is stored as a separate group of files. When a global symbol is changed the change will be reflected in all
displays that reference that global symbol.
When a symbol is changed all effected displays need to be “Added to System” again.
Opening a display older than one of its symbols, Display Builder automatically sets the
display as modified.
The first step is to use the Circle tool to define the pump body. The Properties Window is used to set the
foreground color and the fill style of FORE.
The inlet and outlet of the pump are drawn using the Rectangle tool. The Properties Window is used to set
the foreground color and the fill style of FORE.
40 2VAA001149C
SPlus Operations Display Builder User Guide SYMBOLS
Many more details could be added to the pump, but for simplicity some simple outlining will be shown. The
outlining is added using the circle tool.
Once all the detail is added to the pump, use the mouse to select the all the pump object, then Right-Click and
select Group. Grouped objects can be renamed, and copied, resized, and referenced to in script.
2VAA001149C 41
SPlus Operations Display Builder User Guide SYMBOLS
The DDYN diagram type needs to have a tag defined and the color states need to be defined.
42 2VAA001149C
SPlus Operations Display Builder User Guide SYMBOLS
2VAA001149C 43
SPlus Operations Display Builder User Guide SYMBOLS
The hopper will consist of two rectangles created with the rectangle tool and a triangle created with the
closed polyline tool. The Properties Window was used to change the foreground and background colors, the fill
style and the line width.
To define a global symbol, select the header button. In the Header dialog, Header page section, define:
o Page Title – this is the caption that will appear in the symbol library for the display type to be symbol.
o Symbol as page type
Once the header definition is complete, the final step is to Save the symbol.
A circuit breaker will consist of two circles and two lines, using the Circle and Line Tools a circuit breaker
symbol can be drawn. For this example a 1-state will be shown as RED and CLOSED, a 0-state will be shown as
WHITE and OPEN.
The Text Tool is used to add the “A” character. Using the Properties Window the text color and font can be
changed.
2VAA001149C 45
SPlus Operations Display Builder User Guide SYMBOLS
To change the static lines and text to dynamic objects, select each item individually and Right-Click on it, then
select “Dynamic” and change the Diagram Type to DDYN.
The DDYN diagram is used to set the color of the object based on a real time value. For this example the goal is
to make the object toggle between visible and invisible. To make the object appear invisible the background color
is selected.
46 2VAA001149C
SPlus Operations Display Builder User Guide SYMBOLS
Under the Var tab for both circuit breaker lines leave the tagname definition as:
For the “A” Character “Var” tab define the tagname as:
The %TAG% is a placeholder for the first tag to be passed to the symbol, this first tag would be the circuit breaker
position. The %TAG1% is the placeholder for the second tag, which is the circuit breaker alarm indication.
A symbol can have up to 10 placeholders (%TAG%, %TAG1, %TAG2% … %TAG9%).
To define the displays as a symbol select the header button. In the header dialog define:
o Page Title – this is the caption that will appear in the symbol library
o For the display type select: symbol.
Once the header definition is complete, the final steps is to Save the symbol.
After the symbol has been saved and added to the system it is available for use on displays. To test the static
symbol a new display can be opened with the New Button. Global symbols can be referenced with the
Global Symbol button.
2VAA001149C 47
SPlus Operations Display Builder User Guide SYMBOLS
When a dynamic symbol is used on a display, the tag names need to be entered for the animation. The tab “Tag
Selection: (x)” is used to enter the tags that need to be passed. The “x” is the total number of tagnames to be
pass, (2 in this example).
48 2VAA001149C
SPlus Operations Display Builder User Guide DYNAMIC BUTTONS
9. DYNAMIC BUTTONS
A dynamic button is a hot spot on a display that is used to:
Move to a new graphic
Call up a popup or mini-display
Do a control action
Launch a program
Typically a dynamic button looks like a 3D gray button, but it could be drawn to look like any graphic element, for example
a pump symbol could be a dynamic button.
To create a dynamic button, the step would be:
Draw a element on the graphic, (or use an existing element)
Make the element dynamic
Select the diagram type of DINP (Input Diagram)
Configure the action that the diagram should do
50 2VAA001149C
SPlus Operations Display Builder User Guide DYNAMIC BUTTONS
An Element Dialog will appear. This is used to give the object a specific name. Either a unique name can be used
or the default can be selected.
Right Click on the button again , and select the option “Dynamic”
Change the Diagram type to “DINP”
2VAA001149C 51
SPlus Operations Display Builder User Guide DYNAMIC BUTTONS
52 2VAA001149C
SPlus Operations Display Builder User Guide DYNAMIC BUTTONS
2VAA001149C 53
SPlus Operations Display Builder User Guide CONTROL POP-UPS (FACEPLATES)
54 2VAA001149C
SPlus Operations Display Builder User Guide CONTROL POP-UPS (FACEPLATES)
For a working system the button should have some text on or near it to explain the function of the button.
2VAA001149C 55
SPlus Operations Display Builder User Guide CONTROL POP-UPS (FACEPLATES)
56 2VAA001149C
SPlus Operations Display Builder User Guide CONTROL POP-UPS (FACEPLATES)
2VAA001149C 57
SPlus Operations Display Builder User Guide REFERENCE GUIDE SECTIONS
11.1 Overview
The Display Builder is application for creating and updating static and Dynamic Objects within the Graphic Displays of S+
Operations.
It consists of an off-line tool that allows you to create and modify plant Graphic Displays. The tool runs on the same
system where S+ Operations is installed, either on the Client or the Server. It can be used by all operators or maintenance
people who have the Windows rights to modify plant data.
The S+ Operations Graphic Display Builder is implemented as single tool. It is independent from the S+ Operations
application. You can run it along with any other applications on your Windows workstation.
58 2VAA001149C
SPlus Operations Display Builder User Guide REFERENCE GUIDE SECTIONS
These methods, together with the ability to change the color, size, orientation, position and drawing attributes of the
graphic objects allows you to generate very complex Graphic Displays.
The template tool button is called to create these different data presentations.
If a logical color is changed the display will automatically pick up the new.
The definition of the logical colors is done in the file BLCOLDECK.XML. This file is found in the DECK directory.
New colors name can also be added to this file.
The syntax of the BLCOLDECK.XML is as follows:
<COLOR name="plgManual" descr="Manual mode" colorname="light grey" r="235" g="235"
b="235" />
Where:
name = the logical color name
descr = description of the use of the logical color
colorname = a definition of what the color looks like.
r = red RGB value (0-255)
g = green RGB value (0-255)
b = blue RGB value (0-255)
Some logical colors have blink color and so they have three more parameters as below:
R_BLINK
2VAA001149C 59
SPlus Operations Display Builder User Guide REFERENCE GUIDE SECTIONS
G_BLINK
B_BLINK
When you assign a dynamic including a logical color having blink color, every second the object will blink between its
main color and blink color.
After the file BLCOLDECK.XML is updated it must be imported using the SYSSETUP program
For diagram types that support fixed or system colors, the Output option of the diagram type tab sets the color
definition.
60 2VAA001149C
SPlus Operations Display Builder User Guide REFERENCE GUIDE SECTIONS
The static color is the color that the diagram is drawn in. Process variables can be based on a color override rule.
The color override allows data to be displayed using a color based on tag quality attributes such as Alarm
condition.
Validity checks
Optionally, the color override can append two suffix characters to the value (for color blind users). The suffix is
also based on the quality attribute of the tag.
The OIS_COLOR is determined using the file BATTDECK.XML. The BATTDECK.XML defines the colors for all
the possible states that a tag can be in.
The BATTDECK.XML can use fixed colors or logical colors. The syntax of the BATTDECK is as follows:
<ITEM pos="0" bit="IMP" type="BC" lcolor="plaErrorSymbol" symbol="NI" invert="Y" descr="Not implemented" />
<ITEM pos="1" bit="IMP" type="FC" lcolor="plaErrorText" symbol="NI" invert="Y" descr="Not implemented" />
<ITEM pos="2" bit="INSV" type="BC" color="AQUA" symbol="IN" descr="Inserted value" />
<ITEM pos="3" bit="INSV" type="FC" color="BLUE" symbol="IN" descr="Inserted value" />
Where:
pos = bit position in quality definition (do not change)
bit = short description of bit (do not change)
type = definition as either foreground color, or background color (do not change)
lcolor = logical color name (Note: use lcolor or color, not both)
color = name of color, color must be a defined name (Note: use lcolor or color, not both)
symbol = characters (up to 3) to show on console for this state
descr = long description of bit (do not change)
After the BATTDECK.XML is modified it needs to be imported into the system, this done using SYSSETUP.
2VAA001149C 61
SPlus Operations Display Builder User Guide REFERENCE GUIDE SECTIONS
Selecting a Logical Color, Display Builder will automatically add LcFb() or LcBg() functions to object script:
The first parameter of this function is fixed (SO_Obj), the second one represents the eventual subelement name,
the third one represents L.C. name.
This function run-time assigns the L.C. to the object. For this reason, if an object is saved with a Logical Color as
foreground, changing RGB value of L.C., automatically object foreground/background changes.
This function is always written after events declarations and before attributes assignment. Example:
62 2VAA001149C
SPlus Operations Display Builder User Guide REFERENCE GUIDE SECTIONS
As for object foreground and background, also display background now works with Logical Colors:
2VAA001149C 63
SPlus Operations Display Builder User Guide REFERENCE GUIDE SECTIONS
AUTOLIB)
TagListLog String NO YES to create log file with tag list
UpdateServers String NO YES to enable the update of new displays on defined PC(s)
DefDisplayBg String plgDisplayBg Display background color is default dark Green
DefObjectBg String plgfillcolortext New object background color is white
DefObjectFg String plgText1 New object foreground color is white
XA_CUSTOM_COLORS BINARY Empty List of RGB codes of defined custom colors
XA_HEIGHT DWORD 680 Height of #WVP object
XA_RGBCOL DWORD -1 RGB color of Graphic Display background (-1 to use system
setting)
XA_WIDTH DWORD 920 Width of #WVP object
Eix_work
Defines the folder where editable format Graphic Display files are saved.
Eix_bin
Defines the folder where the executable format Graphic Display files are saved. This folder is used by programs like S+
Operations Explorer.
Eix_tmp
Defines the folder where the text format Graphic Display files are saved.
XA_PATH
Defines the list of the folders where the included pictures (if defined without specific path) are searched.
XA_SYMBOLS
Defines the folder where the library Graphic Display files are saved.
Eix_sym
Define the folder where the the executable format Symbol files are saved.
Eix_sysbin
Define the folder where the system symbols and faceplates are released.
Extension Purpose
.UCBG Defines each graphic portion and defines the scripts.
.UCBP Defines Header information.
.UCBD Defines information related to the Diagrams
.UCBV Defines information related to the Variables
.UCBX Information related to the ActiveX objects. This file is present only if ActiveX objects are included in the
Graphic Display.
Extension Purpose
.G Defines each graphic portion and defines the scripts.
.PAGE Defines Header information.
.DIAG Defines information related to the Diagrams
.VAR Defines information related to the variables
.OLEX Information related to the ActiveX objects. This file is present only if ActiveX objects are included in the
Graphic Display.
Extension Purpose
.G Defines each graphic portion and defines the scripts.
.DIAG_A Defines information related to the Diagrams in text format
.PGVAR_A Defines Header and variables information in text format.
ActiveX objects are ignored in this format.
Extension Purpose
.SYM Defines each graphic portion and defines the scripts.
.UCBP Defines Header information.
.UCBD Defines information related to the Diagrams
.UCBV Defines information related to the variables
2VAA001149C 65
SPlus Operations Display Builder User Guide BUTTON BAR COMMANDS
12.2 New
APPS\IbDisp\XA_WIDTH APPS\IbDisp\XA_HEIGHT
The size of the WVP rectangle depends on the screen resolution of the monitor and the layout of S+ Operations
Explorer.
The following table shows the recommended values for the default layout of S+ Operations Explorer. The registry
keys XA_WIDTH and XA_HEIGHT are displayed along the top row. The screen resolution of your monitor
resolution is displayed in the first column.
Do not put graphic outside the WVP rectangle otherwise they will not be visible
run time.
The size of the #WVP can be checked or resized by selecting the object and checking its properties.
12.3 Open
Clicking on the Open button allows the user to open existing displays.
The default directory is the WORK directory. The work directory is defined in the EIX_WORK registry setting.
Select the .UCBG file and click the Open button to open the Graphic Display.
66 2VAA001149C
SPlus Operations Display Builder User Guide BUTTON BAR COMMANDS
By clicking on the “right side” of the open button it is possible to open the sixteen most recently closed display
files.
The Settings menu option will open a dialog that shows the Display Builder registry settings. This dialog is view
only.
2VAA001149C 67
SPlus Operations Display Builder User Guide BUTTON BAR COMMANDS
12.4 Print
The Print button will print the editable version of the display. A print preview and print setup is available.
Printing displays for the S+ Operations offers more options and it shows live
data.
When in Print Preview mode the cursor will change to magnifying glass. The exit “Print Preview” mode hit the
“Esc” key.
12.5 Preview
12.6 Save
The Save button will store the Graphic Display as a file with the extension .UCBG.
12.7 Save As
The Save As function is available by clicking on the right side of the Save button.
68 2VAA001149C
SPlus Operations Display Builder User Guide BUTTON BAR COMMANDS
The Add to System button adds a display to the S+ Operations Explorer running system. Prior to adding the
system the display must be saved. Multiple displays can be added to the S+ Operations Explorer running system, using
the Add to System menu option on the Save button.
2VAA001149C 69
SPlus Operations Display Builder User Guide BUTTON BAR COMMANDS
To duplicate running displays between nodes a copy of the Eix_bin can also be
used.
The Remove From System menu option will remove Graphic Displays from the S+ Operations system.
12.11 Cut
The Cut button is used to delete objects on a display. The Cut button will be enabled if display objects are select.
12.12 Copy
The Copy Button will perform the standard Windows copy operations. Groups of display object can be selected by
using the Shift key. If a group of objects is selected the “Shift” key can used to de-selected highlighted objects.
12.13 Paste
The Paste Button will perform the standard Windows paste operations. If display objects are selected the user is
prompted for tag names before the object is inserted. It is not possible to copy and paste tag names in the middle of
pasting display objects on to a graphic. If objects are selected it is possible to right click on the background of a display
and a “Paste” menu will appear.
12.14 Zoom In
The clicking on the Zoom In button will increase the current zoom factor.
The Zoom Out button will decrease the current zoom factor, decreasing the Graphic Display details.
The Graph button is used to change the drawing or the default background/foreground colors and display layers.
The color options are:
70 2VAA001149C
SPlus Operations Display Builder User Guide BUTTON BAR COMMANDS
Drawing color
Default Foreground Color
Default Background Color
Double-click a color option button to change the color.
Red XA_RGBCOL = ff
Green XA_RGBCOL = ff00
Blue XA_RGBCOL = ff0000
White XA_RGBCOL = ffffff
For others colors you must define the value for red (lower), green (middle) and blue (higher) and set the hexadecimal
mask with these values. For example to set the color gray use the value: c0c0c0 (red = 192, green = 192, blue = 192).
An invalid RGB color (for example fffffff) will set the color to the default value.
Layers Options
You can change the layers options. Layers can be used to show/hide objects on the display:
There are two columns to define layers:
Current Layers - select the layers to be displayed.
Default Layers - select the layers assigned by default to new objects.
For most applications layers are never used.
Advanced applications that require dynamic hiding and showing of objects could use layers. To make use of layers display
scripting is required to dynamically change the Current Layer mask for the page so that only a sub-group of objects are
displayed.
To do this, use a script with the string command: graph.layers = mask;
The mask field is a bit-mask where bit 0 = layer 0, bit 1 = layer 1, etc. Use the mask field to specify which layers to enable.
As an example to show layers layers 1,2 3 use : graph.layers = 2^0+2^1+2^2;
When we open a display, the display builder searches the script file inside the folder of the active display.
If available, click on Open script file the script file will be displayed.
2VAA001149C 71
SPlus Operations Display Builder User Guide BUTTON BAR COMMANDS
The Grid button enables and disables the Grid options of the Graphic Display. The grid helps to fit and align
objects within the drawing.
The Grid options are:
Disabled.
Enabled and not visible.
Enabled and visible.
Grid spacing.
The grid spacing option is only meaningful if the grid has been enabled. The available spacing values range from 2 to 100
pixels. Values of 0 or 1 automatically disable the grid.
72 2VAA001149C
SPlus Operations Display Builder User Guide BUTTON BAR COMMANDS
The Snap To Grid button is used to align all selected objects to the grid. The grid must be enabled using the Grid
command.
The Header button is used to define the system properties of the selected Graphic Display.
The Header is managed as a specific Diagram.
The display header is used to define:
The display type: symbol or standard display
Security
Forward and Back key selects
Window characteristics
Actions on display open and display close
The Object button is used to define characteristics of a single object or group of objects. The object button will call
up an object menu; this menu will change slightly based on what is selected. The object menu can also be called by “right-
clicking” on a selected object or objects.
2VAA001149C 73
SPlus Operations Display Builder User Guide BUTTON BAR COMMANDS
The Size and Position button will assign the size and position for the selected object. The Size and Position
Button can only be used with a single object or with a single grouped object.
The Snap To Grid button is used to align all selected objects to the grid. The grid must be enabled using the Grid
command.
74 2VAA001149C
SPlus Operations Display Builder User Guide BUTTON BAR COMMANDS
The Select All menu option is useful for moving all objects or for copying all display objects to another display.
The Select All Hidden Objects is used to select hidden objects. Once the hidden objects are selected they can
be made visible using the Transform Button with the Show option.
2VAA001149C 75
SPlus Operations Display Builder User Guide BUTTON BAR COMMANDS
The Transform Button is used to modify some visual aspects of the selected object(s).
The Transform Button is enabled only if there are some selected objects.
12.21.1 Raise
The Raise menu option will move the selected objects on top of other objects.
12.21.2 Step Up
The Step Up menu option will move objects through the various planes of the drawing.
Selected objects will move one plane upward, so that an object previously above the moved objects will now appear
behind. This command does not necessarily move selected objects to the actual foreground. It just moves objects one
step up towards the foreground.
12.21.4 Lower
The Lower menu option will move all selected objects behind all other objects in the drawing.
76 2VAA001149C
SPlus Operations Display Builder User Guide BUTTON BAR COMMANDS
12.21.5 Show
The Show menu option will make visible objects that were previously hidden. Objects that are presently visible will not be
affected.
Hidden Objects are often found after a SODG migration. The Hidden Objects
tend to be “Key Selects” for faceplates and display.
To find hidden object use the Select Button, with the “Select All Hidden Objects” option.
12.21.6 Hide
The Hide menu option will hide all selected objects.
Hiding objects is not recommended. If objects are not required it is recommended that that are
moved off of the display.
2VAA001149C 77
SPlus Operations Display Builder User Guide BUTTON BAR COMMANDS
78 2VAA001149C
SPlus Operations Display Builder User Guide BUTTON BAR COMMANDS
12.21.8 Mirror
The Mirror menu option will simulate a reflected image on the vertical axis. Selected objects will have the appearance of a
mirrored image.
12.21.9 Flip
The Flip menu option will flip the selected objects horizontally (from top to bottom).
The Template Button is contains a set common predefined symbols. By clicking on the right side of the button
the template menu is shown.
2VAA001149C 79
SPlus Operations Display Builder User Guide BUTTON BAR COMMANDS
The Trend – DTRN Dialog allows for color changes and tag changes.
To increase the number of tag used on the trend, select the Curves option and increase the count. Up to 10 tags
can be trended on one plot. To define the tag name and color used click on the required curve.
80 2VAA001149C
SPlus Operations Display Builder User Guide BUTTON BAR COMMANDS
2VAA001149C 81
SPlus Operations Display Builder User Guide BUTTON BAR COMMANDS
82 2VAA001149C
SPlus Operations Display Builder User Guide BUTTON BAR COMMANDS
2VAA001149C 83
SPlus Operations Display Builder User Guide BUTTON BAR COMMANDS
The First Text String is used as a place holder, to show the location and format of the symbol.
To change the Font of the symbol, “right click” on the symbol and select Edit Font.
84 2VAA001149C
SPlus Operations Display Builder User Guide BUTTON BAR COMMANDS
2VAA001149C 85
SPlus Operations Display Builder User Guide BUTTON BAR COMMANDS
By default the tag description is only update once at display call-up time.
The color of the text is static and it can be adjusted by “right clicking” on the symbol and then selecting Graphic
attributes.
The font can be adjusted by “right clicking” on the symbol and then selecting Edit Font.
The number characters and starting character position can be adjusted by “right clicking” on the symbol and then
selecting “Dynamics”.
The number of characters shown is defined by the “Size” option under the DALF diagram tab. The starting
character position is defined by the Offset option under the VAR tab.
Custom presentations can be done, see the sections of the DALF Diagram and the scripting for more details.
86 2VAA001149C
SPlus Operations Display Builder User Guide BUTTON BAR COMMANDS
By default the tag name is only update once at display call-up time.
The color of the text is static and it can be adjusted by “right clicking” on the symbol and then selecting “Graphic
attributes”.
The font can be adjusted by “right clicking” on the symbol and then selecting “Edit Font’.
Custom presentations can be done, see the sections of the DALF Diagram and the scripting for more details.
2VAA001149C 87
SPlus Operations Display Builder User Guide BUTTON BAR COMMANDS
The First Text String is used as a place holder, to show the location and format of the symbol.
To change the Font of the symbol, “right click” on the symbol and select “Edit Font”.
88 2VAA001149C
SPlus Operations Display Builder User Guide BUTTON BAR COMMANDS
A valid Engineering Unit must be defined for the tag. Digital tags do not support
engineering units.
After selecting the Engineering Unit option, click on the display, to define the location for the engineering unit
symbol. A dialog will appear for the configuration of the required tag name.
2VAA001149C 89
SPlus Operations Display Builder User Guide BUTTON BAR COMMANDS
The First Text String is a place holder to show example text. The engineering unit will over write this text when
the display is used in S+ Operations.
By default the engineering unit is only update once at display call-up time.
The color of the text is static and it can be adjusted by “right clicking” on the symbol and then selecting “Graphic
attributes”.
The font can be adjusted by “right clicking” on the symbol and then selecting “Edit Font’.
Custom presentations can be done, see the sections of the DALF Diagram and the scripting for more details.
For more details on library creation and maintenance refer to the section on Plant Libraries.
The About Button will show the present version of the Display Builder.
S+ Display Builder can import PGP (Power Generation Portal) displays, but S+ displays cannot
be downgraded to PGP.
90 2VAA001149C
SPlus Operations Display Builder User Guide TOOL BAR COMMANDS
rd
The ActiveX Button is used to insert an ActiveX object. ActiveX objects are 3 party components that can be
embedded into Display Builder.
Some typical ActiveX components include:
Adobe Documents
Microsoft Word Documents
Microsoft Excel Documents
Visio Drawing
To embed an Active X comment, click on the ActiveX button then draw a rectangle to define the location and size of the
component. An “Insert OLE Control” Dialog will appear, and this is used to define the OLE or ActiveX component to use.
The use of ActiveX components is not recommended for most applications, because of speed
and dependency issues.
2VAA001149C 91
SPlus Operations Display Builder User Guide TOOL BAR COMMANDS
A circle or an ellipse can also be adjusted to be an arc or pie. (A pie is a filled arc).
13.3.1 Arc
An arc or pie can be created from a circle or ellipse.
To create an arc or pie, “right click” on the circle or ellipse, and then select “Arc”.
The Arc dialog is used to define the arc size in 0-360 degree. The starting point for 0 degrees is the left edge, and
180 degree is the right edge.
To create a pie select the “Type” as pie and then add a fill color and fill style.
92 2VAA001149C
SPlus Operations Display Builder User Guide TOOL BAR COMMANDS
The Line Button is used to insert a straight line. Press and drag to draw the figure.
A “right click” on the line, is used to access the “Graphic attributes” options. The “Graphic attributes” dialog is used
to change the line color and fill style.
2VAA001149C 93
SPlus Operations Display Builder User Guide TOOL BAR COMMANDS
Line styles are only valid for line thicknesses of a width of 5 or lower.
94 2VAA001149C
SPlus Operations Display Builder User Guide TOOL BAR COMMANDS
The Open Polyline Button is used to create an open polyline. An open polyline is a set of straight line segments
that are not connected together.
To create shapes with curved line segments instead of the straight line segments see the Open Spline button.
To create an open polyline click on the Open Polyline button and then click on the display to create the starting
point. Continue clicking to create multiple intermediate points. “Right click” to create the ending point. The first and
the last points are connected with the intermediate point to create a line.
The Closed Spline Button is used to create a closed spline. A spline is a shape consisting of curved line
segments.
To create a shape click on the Closed Spline button and then click on the display to create the starting point.
Continue clicking to create multiple intermediate points. “Right click” to create the ending point. The first and the
last points are connected with the intermediate point to close the figure.
All points are linked with curves.
The shape can be modified by “right clicking” on the shape and then drag the pivot points to the required position.
The Open Spline Button is used to create an open spline. A spline is a shape consisting of curved line segments.
To create a shape click on the Open Spline button and then click on the display to create the starting point.
Continue clicking to create multiple intermediate points. “Right click” to create the ending point. The first and the
last points are connected with the intermediate point to close the figure.
All points are linked with curves.
Open polylines cannot have shadowing.
They do support line style and the following fill styles:
FORE and BACK
DITHER styles
HATCH styles
GRID styles
Fill Style
Font
Vertical or horizontal text
The Parallelogram Button is used to create a four point polyline with parallel sides. Click three times to create the
parallelogram.
By default the array is 4x4, to change this “right click” on the array and then select “Modify Array”.
Each cell in the array has the same size. To create a table with different sized cells multiple array objects are
used. The Size and Position button is used to line up each the array objects.
After the correct positioning is done the individual arrays can be grouped together. To group objects high light all
the objects, hold the “Shift” key and “Right Click”, then select Group.
2VAA001149C 97
SPlus Operations Display Builder User Guide TOOL BAR COMMANDS
The Marker Button is used to create markers, which are a small triangular, rectangular or diamond shaped
symbols.
Click where you want to create your marker.
Markers are predefined shapes. To change the marker, “right click” on it and select the required shape.
By default the markers are quite small, 6x6. The size and ratio can be changed by the Size and Position button.
The Picture Button is used to insert a picture, and then select the image file in GIF, JPG, JPEG or ICO format.
Click to specify the upper left-hand corner of the image, and then drag to create the drawing area for the image.
Click in the drawing area to position the picture.
The image will retain its original size when it is first put on the graph. Images can be resized; however some level
of pixilation could occur if the image is expanded.
98 2VAA001149C
SPlus Operations Display Builder User Guide TOOL BAR COMMANDS
Picture object support line widths and line styles but they do not support color backgrounds or fill properties.
Picture objects can be made into dynamic symbols, and tags can be referenced.
When displays are copied to other servers the images files are automatically deployed to the
servers.
The Global Symbol Button is used to preview and insert a Global Symbol on to a display.
A global symbol is a reusable component that is generated once and then reused throughout a project.
Some common uses for a global symbol would include:
o A commonly used static representation, such was a tank.
o A common display link button or a menu banner
o A dynamic symbol that changes appearance based on plant conditions, for example a valve or pump.
The Global Symbols dialog will preview the symbol.
If the symbol is dynamic then tag names will need to be passed to the symbol. The global symbol dialog will
identify the number of tags that are being passed.
Up to 10 tags can be passed to a symbol; the “Tag Selection” shows the number of tags. The selector beside the
“Tag Name” selects the passed tag index.
Understanding the use of the symbol is important if multiple tags are being
passed.
2VAA001149C 99
SPlus Operations Display Builder User Guide TOOL BAR COMMANDS
The Transform to Macro Symbol button is used to group selected objects in one Macro Symbol. Macro Symbols
can be used to collect Dynamic Objects so that a single tag can be assigned to the group.
Three cases are possible when you click Transform to Macro Symbol:
When object(s) are selected, a rectangle named #SYM and a Macro Symbol named #SYM_GROUP are created.
The rectangle becomes a boundary box of the selected objects. The Macro Symbol includes the selected objects
and the #SYM rectangle.
When #SYM object(s) are selected, a Macro Symbol with the selected #SYM object and all other objects in the
selected area will be created.
When no objects are selected, drag to identify an area that includes all selected objects. Step1.
The Split Macro Symbol Button is used to ungroup all selected Macro Symbols. This allows you to access single
objects in the Macro Symbol.
After you perform a save or export operation the objects will be re-grouped in the Macro Symbol.
Left: All selected objects will be aligned to the horizontal position of the left-most object in the selection.
Vertical: All selected object will be centered using the average vertical position.
Right: All selected objects will be aligned to the horizontal position of the right-most object in the
selection.
100 2VAA001149C
SPlus Operations Display Builder User Guide TOOL BAR COMMANDS
Bottom: All selected objects will be aligned to the vertical position of the lowest object in the selection.
Horizontal: All selected object will be centered using the average horizontal position.
Top: All selected objects will be aligned to the vertical position of the highest object in the selection.
2VAA001149C 101
Splus Operations Display Builder User Guide CONTEXT MENU
The options shown on the context menu will vary based on the object or objects
selected.
102 2VAA001149C
SPlus Operations Display Builder User Guide CONTEXT MENU
2VAA001149C 103
SPlus Operations Display Builder User Guide CONTEXT MENU
Change Color
Clicking on the Foreground or Background buttons, will be activated the Color dialog.
2VAA001149C 105
SPlus Operations Display Builder User Guide CONTEXT MENU
o HATCH1…4.
o DB_Hatch1/2, DB_Grid and Grid
RECT fills, this is used only on rectangle objects (not parallelograms)
CIRCLE fills, this is used only on circle objects (not arcs)
The fill style is not applicable to all object types, for example a line does not have a fill type.
Shadow
The shadow option is very useful in the drawing of buttons and menu selects.
To give the 3 dimensional look of a button, a rectangle is created and a shadow thickness is defined.
Layers
Layers can be used with script to show or hide objects.
106 2VAA001149C
SPlus Operations Display Builder User Guide CONTEXT MENU
Use the CHECK TO APPLY ALL ATTRIBUTES check box when you want to apply attributes from one object to multiple
objects:
Select the objects to be edited.
Hold down SHIFT and right-click on an object, and then select Graphic Attributes.
The current attributes of the object that you right-clicked are displayed. The attributes of the other selected objects are not
displayed.
If you want to apply all the current attributes of this object to the other selected objects:
Select the CHECK TO APPLY ALL ATTRIBUTES check box.
Click APPLY or OK
If you want to only apply changed attributes for this object to the other selected objects:
Change the attributes on the object.
Clear the CHECK TO APPLY ALL ATTRIBUTES check box.
Click APPLY or OK.
If you do not change any attributes, and the CHECK TO APPLY ALL ATTRIBUTES check box is clear when you click
APPLY or OK, no changes will be made.
14.1.3 Polygonize
This option is available on rectangle, circle and Window View Ports (WVP) objects.
Select Polygonize to transform a single circle or rectangle object to a polyline object.
Once an object is made into a polyline element it is possible to do fine adjustments to the presentation. Below is
an example of a circle that was converted to a polyline element
2VAA001149C 107
SPlus Operations Display Builder User Guide CONTEXT MENU
14.1.4 Rotate
This option is only available for line, polyline, spline and parallelogram objects.
Select Rotate to change the rotation angle of the selected object(s). You can rotate a line, polyline or a
parallelogram object.
You can also select multiple objects. If you rotate a group of objects or multiple objects, the objects will rotate
around the center of the group.
108 2VAA001149C
SPlus Operations Display Builder User Guide CONTEXT MENU
Enter the name of the picture file or use the browse button (...) to access picture files.
The Display Builder uses a Windows registry key called Directories\XA_PATH to identify the standard S+
Operations path name.
Where possible save a file to the standard S+ Operations path, then S+ Operations will always be able to find the
file, even if S+ Operations is installed on another system.
If the file is saved to a non-standard S+ Operations path, then another S+ Operations system may not be able to
locate the file.
Always store files in standard S+ Operations paths so that the files can be accessed by other S+ Operations
systems.
2VAA001149C 109
SPlus Operations Display Builder User Guide CONTEXT MENU
Open Symbol will open the selected symbol in Display Builder for editing. If the source file for the symbol is not in
the working display directory then a File Dialog will be opened.
Once a symbol is modified, all displays that use the symbol should be “Added to System”,
this will update the displays with the change.
Enter the name of the desired symbol, or use the browse button (...) to select symbols.
Enter the name of the desired symbol, or use the browse button (...) to select symbols.
110 2VAA001149C
SPlus Operations Display Builder User Guide CONTEXT MENU
The default element name is VARxx, where xx is the next available index. The default diagram type is a DNNV or
Dynamic Multivariable Diagram.
To change the Diagram type, select the option Dynamics.
Removing the dynamic will also remove any scripting that was defined
14.4 Dynamics
The Dynamics option is used to full define and change the type of Diagram used.
2VAA001149C 111
SPlus Operations Display Builder User Guide CONTEXT MENU
See the Diagrams section of this manual for more details on configuring the different diagram types.
Changing a diagram type will also remove script. So it is advisable to save any custom to a text file
before removing dynamics.
14.5 Script
Select Script to display and modify script text for a single selected object.
A script can be defined for both Dynamic and Non-Dynamic Objects.
112 2VAA001149C
SPlus Operations Display Builder User Guide CONTEXT MENU
14.6.1 Undo
Select Undo to undo or cancel the last action executed. This command is enabled only if the clipboard is not empty.
The Undo function is designed for drawing changes.
Some limitations of the Undo include:
Only a single level of Undo
Undo is not supported for script changes
Undo is not supported for changes in the dynamic Diagram dialog
14.6.2 Cut
Select Cut to perform a standard Windows cut operation.
14.6.3 Copy
Select Copy to perform a standard Windows copy operation.
14.6.4 Paste
Select Paste to perform a standard Windows paste operation.
14.6.5 Delete
Select Delete to erase the selected objects from the drawing. This command can be canceled using the Undo command.
14.6.6 Group
Static elements, such are rectangles and circles, can be grouped together.
To group static elements together:
Drag the mouse cursor to create a rectangle that contains all the required elements, or
Hold the “Shift” key while selecting items. If the “Shift” key is held down elements can be selected and de-
selected.
Once the required elements are selected, continue holding down the “Shift” key and “right click” on any selected item, the
Group option can be accessed.
The Group command is not supported for Dynamic Objects.
14.6.7 Ungroup
Select Ungroup to separate objects from a selected group in to individual components.
2VAA001149C 113
SPlus Operations Display Builder User Guide DYNAMIC OBJECTS
114 2VAA001149C
SPlus Operations Display Builder User Guide ACTIONS
16. ACTIONS
16.1 Introduction to Actions
An action can be:
Moving the present display or popup to a different display or popup
Open a secondary window
Closing the present display or popup
Launch a popup
Do a direct control operation, (rather than doing it in a popup)
rd
Call a 3 party application
Call a drop down menu
Actions can occur when:
A display or popup is opened
A display or popup is closed
An area of the display, usually a button, is “Clicked”
Actions that are launched when the display is opened or closed are defined in the display header.
Actions that are launched when an area of the display are “clicked” are defined in the dynamic itself.
From a display it is not possible to launch an action based on a state change or a timer. Some options to do this include:
The Calculation Package
Event bits defined in the tag database and an API program
A scheduled or event driven report
2VAA001149C 115
SPlus Operations Display Builder User Guide ACTIONS
Page Name
If you select Page Name as the Change Page Action Type, you must specify the name of the Graphic Display to load.
To use the dimensions defined in the Header of the secondary page define: LLX = URX and LLY = URY
Par Int
An integer value can be defined to be passed as parameter to the activated program.
Extra Par
2VAA001149C 117
SPlus Operations Display Builder User Guide ACTIONS
A string of parameters can be defined to be passed as command string to the activated program.
Prog Name
Prog Name is the name of the program to be activated. It can be either an executable or a command program.
Click the Activation Keys tab to define additional shortcut keys for the action.
118 2VAA001149C
SPlus Operations Display Builder User Guide GENERIC OPTIONS
The Tag Name text box shows the name of the tag. This is an alphanumeric string. The tag name is uniquely identified in
the tag database.
To change the tag name enter a new name, or use the browse button (...) to access the Tag Browser.
2VAA001149C 119
SPlus Operations Display Builder User Guide GENERIC OPTIONS
Extra Parameters
Use Extra Parameters to define any extra parameters associated to the action:
If the action is a Load Page you can define a page name.
If the action is an Active Program (the program name is displayed in the title) you can define the program
parameters.
If the action is an Active Program and the program is a system program using a single tagname (PRCMAN,
OPERPA, PRCBTN, PRCCMD, PRCCM1, DBDISP, ACKNWL, MYSELF), the program name is displayed as title:
if the tagname used as program parameter is not equal of the tagname used for the dynamic, the field is enabled
and includes the tagname, else is disabled.
If the action is an Active Program and the program is the system program PRCBTN used to execute multi
commands, the program name is displayed in title and the field is disabled.
Details
Click Details to access to the Action details. The specific action is associated to the selected object is displayed.
First Text
Use First Text to change the first text string in the selected object, if a text string exists.
This text can be used to change a text object in a group without using the Ungroup command.
120 2VAA001149C
SPlus Operations Display Builder User Guide MACRO SYMBOLS
Select all the required dynamic symbols and click the Transform to Macro Symbol button.
You can then double-click the Macro Symbol to enter a new tag name. This tag name will be automatically
assigned to all single objects in the Macro Symbol.
All objects of a Macro Symbol are included in a specific rectangle named SYM_GROUP.
The Split Macro Symbol Button is used to split the group in to single objects. After saving the drawing,
the Macro Symbol will be recreated with the original group of objects.
Macro Symbols are useful for creating table of values.
122 2VAA001149C
SPlus Operations Display Builder User Guide GLOBAL SYMBOLS
2VAA001149C 123
SPlus Operations Display Builder User Guide GLOBAL SYMBOLS
In the script you can use the item COL_IF_BAD to change a color attribute of the object (for example
object.foregroundName = COL_IF_BAD; as default the color will be “cyan”).
Click on the value of an item to change it.
When the default value of an item of a global symbol already used in some display, in the display the value will
be maintained the old value (for example, if you change in the header of the global symbol “cyan” to “red”, in
the displays where the symbol is already included will be maintained “cyan”
You can use Delete Item to remove an unused item from the list. Click OK to assign the defined attributes to the
global symbol.
Select a Global Symbol from the list of all available Global Symbols.
o A preview of selected Global Symbol is displayed.
o Click OK or double-click the symbol name to add it to the Graphic Display.
Specify the name of the tag (or the tags) to animate the symbol.
Customize the attributes of the symbol, (for example text for buttons)
Click OK.
Position the new symbol on the Graphic Display.
The new symbol will be included with a rectangle as border; the color of this rectangle is used to identify the status
of the tags linked to the symbol:
o black = all linked tags are valid
o red = the number of linked tags is changed
Selecting this button displays a window to customize the defined symbol attributes.
2VAA001149C 125
SPlus Operations Display Builder User Guide GLOBAL SYMBOLS
All graphic objects in a Global Symbol will be resized except for text.
The name of the generic tag is %TAG%. You can append the name of an atom to generic tag, for example:
%TAG%.atomname.
The animation of a Global Symbol can depend on any or all of these attributes:
A tag (%TAG%).
The associated atoms (%TAG%.atomname).
On many tags (%TAG%, %TAG2%, … %TAGn%).
Each Global Symbol can reference up to unlimited number of different tags. It is also possible for each tag to reference
additional information.
After modifying the Global Symbol open the Graphic Display and then click the Save button and the
Select all files that relate to the Graphic Displays that include the Global Symbol. Click OK.
Note that whenever Global Symbols are changed, the total number of tags cannot be changed.
Use the function “Remove from system” to delete the executable files of the modified global symbol.Customized
Faceplates
2VAA001149C 129
SPlus Operations Display Builder User Guide PARAMETRIC DISPLAYS
In the parametric displays is better to check the “NO HISTORY” flag in the Header, because if the page is
called without specifying the plant number all tags would be unresolved.
130 2VAA001149C
SPlus Operations Display Builder User Guide PARAMETRIC DISPLAYS
The primary role of the Add to System button is to enable Graphic Displays for presentation on the S+ Operations
system.
The following additional options are available with the “Add to System” button:
Tag list log
Display distribution
2VAA001149C 131
SPlus Operations Display Builder User Guide PARAMETRIC DISPLAYS
All configured tags are listed on the right. You can select an alarm group, perform a query, or you can enter the
tag name directly using Enter tag name.
Select the tag name, and then click OK to assign the selected tag to your object.
132 2VAA001149C
SPlus Operations Display Builder User Guide HEADERS
22. HEADERS
22.1 Introduction
The Header contains general information such as: display title, display security level, page size, page modifications, etc.
All information is organized in two tabs: General Diagram Info and Header Page.
2VAA001149C 133
SPlus Operations Display Builder User Guide HEADERS
22.3.2 Type
SYMBOL
Select SYMBOL to designate that the current Graphic Display is a Global Symbol.
A Global Symbol can be used to define a specific animated object that will be included in more that one Graphic
Display.
History
If History is selected when you open this Graphic Display in S+ Operations Explorer the name of the Graphic Display will
be added to the list of recently opened files.
No History
If No History is selected you open this Graphic Display in S+ Operations Explorer the name of the Graphic Display will not
be added to the list of recently opened files.
This Graphic Display will be only loaded using:
The Page By Name function.
The Load Page command in the S+ Operations Explorer menu.
A Load Page action.
134 2VAA001149C
SPlus Operations Display Builder User Guide HEADERS
22.3.5 Multilanguage
Select Multilanguage to execute the translation of all text in the currently selected language. This will occur during a Load
Page action on S+ Operations Explorer.
22.3.6 Security
This box contains two fields.
Level is a numeric value in the range 0 to 16 representing the security level to access the Graphic Display. Only
S+ Operations users who have a greater security level can gain access to the Graphic Display. Use the
increment/decrement arrows to change the value.
Group is a numeric value in the range 0 to 16 representing the security group entitled to access the page. Only
S+ Operations users who are members of this group can gain access to the Graphic Display. Use the
increment/decrement arrows to change the value.
22.3.7 Page
Fwd: defines the name of a Graphic Display for forwarding. The forward page can be activated using the Page
Forward action. This is an alphanumeric string with a maximum length of 31 characters.
Bck: defines the name of a Graphic Display for moving backward. The backward page can be activate using the
Page Backward action. This is an alphanumeric string with a maximum length of 31 characters.
22.3.8 Modifier
Use Page Mod to define a page modifier. You can access a file and define a pointer to a word to be read in the file.
2VAA001149C 135
SPlus Operations Display Builder User Guide HEADERS
136 2VAA001149C
SPlus Operations Display Builder User Guide DIAGRAMS
23. DIAGRAMS
2VAA001149C 137
SPlus Operations Display Builder User Guide DIAGRAMS
138 2VAA001149C
SPlus Operations Display Builder User Guide DIAGRAMS
2VAA001149C 139
SPlus Operations Display Builder User Guide DIAGRAMS
Diagram Name
Diagram Name is a unique name within the Graphic Display. It is automatically assigned when the Dynamic Object is
created.
The Diagram Name cannot be modified here. You can change the Diagram Name by changing the name of the object.
Diagram Type
Select the type of the Diagram from the list:
140 2VAA001149C
SPlus Operations Display Builder User Guide DIAGRAMS
Variables
Click Configure to change the number of the variables linked to the Diagram.
You can change the number of the variables that you want use to animate the object using the
increment/decrement arrows near the number of variables field.
For each linked variable retrieved from the Real Time Data Base, is shown the linked tag and the Data Base info.
Action/Activation Keys
Select the Action or Activation Keys tab to add actions to the Diagram. Actions allow you to perform optional
procedures during a run-time presentation.
2VAA001149C 141
SPlus Operations Display Builder User Guide DIAGRAMS
23.4.1 Format
Select the format of the output string from the Format list. Formats are listed in the table below.
Also enter the Format Type in the box to the right of the Format list.
142 2VAA001149C
SPlus Operations Display Builder User Guide DIAGRAMS
23.4.2 Output
Select the Output format from the Output list. Output formats are listed in the table below. Table6 Output specifies the
color of the displayed data along with quality status management.
Output Description
NO SUFFIX Only value - Color from BATTDECK file
OIS_COLOR Color management like OIS
OIS_COLOR_BLINK_ALARM Like OIS - Blinking if in alarm
OIS_COLOR_BLINK_ALARM_AND_NORMAL Like OIS - Always blinking
OIS_COLOR_BLINK_NORMAL Like OIS - Blinking if normal
STATIC_COLOR Static color
SUFFIX_NO_BLANK Dynamic color with qual (100.00HH)
SUFFIX_NO_VALUE Dynamic color only qual (HH)
SUFFIX_WITH_BLANK Dynamic color with qual (100.00 HH)
Index Color
0 Black
1 Red
2 Green
3 Yellow
4 Blue
5 Magenta
6 Cyan
7 White
A typical script for an OIS output type is:
fg_col = -2; // green if normal
bg_col = 0; // black color for background
al_col = -1; // red if alarm
object.string = value; // only for Text objects
object.foreground = fgc;
object.background = bgc;
The definition and use of foreground/background colors depends on the graphic object attributes.
Tag Priority
Colors and suffixes can be controlled by the priority of tags. You can use the
BATTDECK file to specify priorities for the single quality status color and suffix.
See the S+ Operations Configuration Manual for additional information.
Tags with an undefined priority (0) will be set to the default priority colors and suffix. This default priority is defined in the
Windows registry key:
APPS\TntExplorer\UndefinedDefaultPriority
2VAA001149C 143
SPlus Operations Display Builder User Guide DIAGRAMS
If this registry key is not defined, the default priority will be set to 1. A typical script for these output types is:
object.string = value; // only for Text objects
object.foreground = fgc;
object.background = bgc;
The definition and use of foreground/background colors depends on the object attributes.
144 2VAA001149C
SPlus Operations Display Builder User Guide DIAGRAMS
23.5.2 Custom
Select Custom to manage the animation of the selected object using the script language. At run-time the following
information is available for each linked variable:
value Value of the tag (string or float as function of linked variable
fgc Foreground color in RGB format. It is retrieved from the BATTDECK configuration as function of current
quality of the tag.
bgc Background color in RGB format. It is retrieved from the BATTDECK configuration as function of current
quality of the tag.
blink Blinking flag. It is retrieved from the BATTDECK configuration as function of current quality of the tag (1 =
enabled).
badq Code to indicate the bad quality status of the tag
almq Code to indicate the alarm status of the tag
IsBad Flag to indicate the bad status of the tag (1 = BAD).
IsAlm Flag to indicate the alarm status of the tag (1 = ALARM).
IsToAck Flag to indicate the un-acknowledge status of the tag (1 = to be acknowledged).
The names of the information are as described for the first linked tag.
For any other tags (from second to tenth) the names will be formatted using the name followed by _n, where n is
the tag order
2VAA001149C 145
SPlus Operations Display Builder User Guide DIAGRAMS
For example, for the third tag the names will be:
value_3, fgc_3, bgc_3, blink_3, badq_3, almq_3, IsBad_3, IsAlm_3, IsToAck_3
You can use this information to animate your object. You can change the color, the blinking behavior, the position and any
other possible attribute of the object.
Output Description
QGood Good status (IsBad = 0)
QSubs Inserted value (IsBad = 0)
QInib Alarms inhibited (IsBad = 0)
Output Description
QDise Off scan (IsBad = 1)
QBad Chann. fail., Old, Bad calc. (IsBad = 1)
Output Description
NoAlm PV - No alarm
LowAl PV - Low alarm
HigAl PV - High alarm
Lo2Al PV - Low 2 alarm
Hi2Al PV - High 2 alarm
Lo3Al PV - Low 3 alarm
Hi3Al PV - High 3 alarm
LDvAl PV - Low deviation alarm
HDvAl PV - High deviation alarm
NoAl_0 DI - No alarm status 0
NoAl_1 DI - No alarm status 1
NoAl_2 DI - No alarm status 2
NoAl_3 DI - No alarm status 3
Alm_0 DI - Alarm status 0
Alm_1 DI - Alarm status 1
Alm_2 DI - Alarm status 2
Alm_3 DI - Alarm status 3
23.5.3 Output
Select the Output format from the Output list. Output formats are listed in Table below. For output type “like OIS”,
Output Description
DYN_COLOR Foreground color from BATTDECK
DYN_COLOR_BG Background color from BATTDECK
NO_COLOR Color is unused
OIS_COLOR Color management like OIS
OIS_COLOR_BLINK_ALARM Like OIS - Blinking if in alarm
146 2VAA001149C
SPlus Operations Display Builder User Guide DIAGRAMS
2VAA001149C 147
SPlus Operations Display Builder User Guide DIAGRAMS
object.foreground = fgc;
object.background = bgc;
// if both values good average the value
if (!isBad && !isBad_2) {
object.string = (value + value_2)/2;
} else {
object.string = "Both bad";
}
// if first value is bad use the second value
if (isBad) {
object.string = value_2;
}
// if second value is bad use the first value
if (isBad_2) {
object.string = value;
}
Notes:
The ! character mean NOT
The && means “AND”,
isBad is the quality of tag 1 and isBad is the quality of tag 2
value is the value of tag 1, value_2 is the value of tag 2
23.6.1 Normal
Select Normal to specify that the Diagram area will not be highlighted when it is selected at run time.
23.6.2 Keep
Select Keep to specify that the Diagram area will be highlighted when it is selected at run time.
Keep Option
If you select the Keep option, you must add special instructions in the script to manage the selection of the object:
Unselected status (value = 0).
Selected status (value = 1).
The following script shows an example of how to set a green rectangle when the object is not selected, and a red
rectangle when the object is selected:
2VAA001149C 149
SPlus Operations Display Builder User Guide DIAGRAMS
150 2VAA001149C
SPlus Operations Display Builder User Guide DIAGRAMS
By default the DTRN has only one tag defined, and its time span is 1200 seconds.
23.7.1 Layout
Select options to be displayed on the Diagram during run time:
Using a transparent trend, you can insert an image as trend background but, run- time, zoom-in/out trend
actions will be executed only on the trend and nothing will be executed on the image.
If the APPS\TntExplorer\TrendDisplayMask registry key is not defined, all of the options are disabled (mask = 0).
The registry setting defines the parameters for all “DTRN” trends layout, but is possible customize single trend using the
script of the trend object.
In the script you can define the variable TrendDisplayMask that will be used to overwrite the value of the registry.
For example, to add the transparent option only on specific trend, add to the script following code:
DefMask = XXX; // value of your TrendDisplayMask registry
TrendDisplayMask = DefMask + 2^30; // registry setting + transparent
For example, to define a new trend layout filled, with right legend and transparent:
TrendDisplayMask = 2^14+2^15+2^30; // filled, right,transparent
23.7.2 Curves
Curves represent the number of tags to be displayed within the trend. The number of curves range is from 1 to 10.
23.7.3 Span
Span represents the span time of the trend (in seconds).
23.7.4 Color
Color defines the trend colors.
If the fields in this area are set to -1, the default trend colors defined in the APPS\TntExplorer Windows registry keys are
used.
Grid: represents the color index (range 0-63) of the trend grid.
Frame: represents the color index (range 0-63) of the trend frame.
BckGnd: represents the color index (range 0-63) of the trend “border”.
Text: represents the color index (range 0-63) of the trend scale.
152 2VAA001149C
SPlus Operations Display Builder User Guide DIAGRAMS
Range
The presentation limits of the measure on the trend are defined by:
Low from DB: defines the low scale limit; if selected, the low scale limit defined in the tag database is used; otherwise, the
entered valid value is used.
High from DB: defines the high scale limit; if selected, the high scale limit defined in the tag database is used; otherwise,
the entered valid value is used.
Color: defines the color (range 0-63) of the curve. Enter the color index or click the button to open the color selection
table:
2VAA001149C 153
SPlus Operations Display Builder User Guide DIAGRAMS
23.8.1 Layout
X Limits: enables the display of the scale on the X axis.
Y Limits: enables the display of the scale on the Y axis.
Grid: enables the display of the grid.
X Tics: defines the number of tics on the X axis.
Y Tics: defines the number of tics on the Y axis.
Curves: defines the number of curves to be displayed in the XY Plot
The number of curves range is from 1 to 10.
Type: defines the type of the XY Plot; the types are listed in the table below.Table11
Type Description
NORMAL Independent curves on filled background
NORMAL_TRANSPARENT Independent curves on transparent background
LINKED Linked curves on filled background
LINKED_TRANSPARENT Linked curves on transparent background
FILLED Linked and filled area between first two curves on filled background
FILLED_TRANSPARENT Linked and filled area between first two curves on transparent background
NORMAL_NO_LINKED Independent points on filled background
NORMAL_NO_LINKED_TRANSPARENT Independent points on transparent background
23.8.2 Color
Defines the colors of the XYPlot frames.
If the fields in this area are set to -1, the default trend colors defined in the Windows registry key called APPS\TntExplorer
are used.
Grid: represents the color index (range 0-63) of the XYPlot grid.
Frame: represents the color index (range 0-63) of the XYPlot frame.
BckGnd: represents the color index (range 0-63) of the XYPlot border.
Text: represents the color index (range 0-63) of the XYPlot scale.
154 2VAA001149C
SPlus Operations Display Builder User Guide DIAGRAMS
Low from DB: defines the low scale limit. If this option is selected, the low scale limit defined in the tag database is used.
Otherwise, the entered valid value is used.
High from DB: defines the high scale limit. If this option is selected, the high scale limit defined in the tag database is
used; otherwise, the entered valid value is used.
Color: defines the color (range 0-63) of the curve. Enter the color index or click the button to open the color selection
table.
Samples: Defines the number of samples used to plot the curve.
A single sample will be displayed as single point (with defined marker). Multiple samples will be displayed as a curve.
Marker: Defines the curve marker.
2VAA001149C 155
SPlus Operations Display Builder User Guide DIAGRAMS
If Marker is not defined, a filled circle will be used for the single sample. The allowed markers are listed below:
Marker Description
NONE Continuous curve
CIRCLE Empty circle
FILLED CIRCLE Filled circle
DIAMOND Empty diamond
FILLED DIAMOND Filled diamond
BOX Empty box
FILLED BOX Filled box
Marker Description
TRIANGLE UP Empty triangle up
FILLED TRIANGLE UP Filled triangle up
TRIANGLE DOWN Empty triangle down
FILLED TRIANGLE DOWN Filled triangle down
TRIANGLE LEFT Empty triangle left
FILLED TRIANGLE LEFT Filled triangle left
TRIANGLE RIGHT Empty triangle right
FILLED TRIANGLE RIGHT Filled triangle right
BAR CHART Empty bars (height = XY point)
FILLED BAR CHART Filled bars (height = XY point)
Change Foreground
If Change Foreground is set, the resulting color is assigned to the object foreground.
156 2VAA001149C
SPlus Operations Display Builder User Guide DIAGRAMS
Change Background
If Change Background set, the resulting color is assigned to the object background.
Num Alm
Num Alm defines the number of tag statuses managed from the variable. The value ranges from 0 to 9 for analog tags, or
a maximum of 8 for digital tags.
During the configuration phase, the typology of the tag to be displayed through this
Diagram must be known, in order to select the proper number of statuses.
Num Qual
Num Qual defines the number of quality statuses managed from the variable. The value ranges from 0 to 5.
Num Rng
Num Rng defines a range of values within the each variable that will assume specified characteristics. The value ranges
from 0 to 25.
23.9.2 Items
In the lower area of the dialog box a row is dedicated to the definition of each item. The number of rows corresponds to
the number of items defined.
Double-click a row to set or change the parameters:
# Item
Defines the item number of the currently displayed parameter.
Parameters
Value: defines the status (analog or digital) the variable can assume
The status values to manage a digital tag are:
Digit_Alm_0
Digit_Alm_1
Digit_Alm_2
Digit_Alm_3
Digit_NoAl_0
Digit_NoAl_1
Digit_NoAl_2
2VAA001149C 157
SPlus Operations Display Builder User Guide DIAGRAMS
Digit_NoAl_3
The status values to manage a analog tag are:
Anal_No_alm
Anal_Low_alm
Anal_High_alm
Anal_Low2_alm
Anal_High2_alm
Anal_Low3_alm
Anal_High3_alm
Anal_LowDev_alm
Anal_HighDev_alm
The status values to manage a quality status are:
Substituted
Inhibited
Disestablished
Bad Quality
Suspect
A range status uses floating values.
Foreground Color: defines the foreground color (range 0-63) used to represent the variable when in the specified status.
Enter the color index or click the button to open the color selection table.
Blink: enables blink for the variable.
Move: enables the object movement according to the number of pixels value defined for this state.
Delta move X: number of pixels to move object on the X axes. Move to left if a positive value, to right if negative.
Delta move Y: number of pixels to move object on the Y axes. Move down if a positive value, up if negative.
Visibility
You can use the move options to set the object to not visible. If either Delta move X or Delta move Y are set to 5000,
the object will not be visible.
In the Graphic Displays produced with the SODG translator, there are many objects with the DDYN/DDYA
Diagrams. It can be difficult to understand the operation of the Dynamic Objects in this Diagram.
For these Dynamic Objects the SODG translator creates unique scripted objects. You cannot create similar objects with
the Display Builder.
Typically these object only have a single line as a script:
object.dynoValue = value;
If you want to analyze one of these objects, follows these steps:
Select the object.
Remove the Dynamic Object.
Right-click and then select Ungroup.
Without clicking on the Graphic Display, select Show from the Transform menu.
Click the object and try to move it. You will see that the object was composed of overwritten objects, each with a
different color and each named with a number.
To use the graphic drawing for other Dynamic Objects, use only one of these objects, with the object name
removed.
You can use a DDYN or DDYA Diagram to change the colors of the object.
Select Change Foreground and/or Change Background DDY* options:
158 2VAA001149C
SPlus Operations Display Builder User Guide DIAGRAMS
// if the Diagram is correctly configured, the script will not go to this point.
}
2VAA001149C 159
SPlus Operations Display Builder User Guide DIAGRAMS
Change Foreground
The resulting color is assigned to the object foreground.
Change Background
The resulting color is assigned to the object background.
23.10.4 Items
The items listed on the bottom show analog range definitions. Double-click a row to set or change the current parameters:
160 2VAA001149C
SPlus Operations Display Builder User Guide DIAGRAMS
# Item
Defines the item whose parameters are currently displayed.
Parameters
Foreground Color: Defines the foreground color (range 0-63) used to represent the variable when in the specified status.
Enter the color index or click the button to open the color selection table.
Blink: enables blink for the variable.
Move: enables the object movement according to the number of pixels value defined for this state.
Delta move X: number of pixels to move object on the X axis. Move to left if a positive value, to right if negative.
Delta move Y: number of pixels to move object on the Y axis. Move down if a positive value, up if negative.
Visibility
You can use the move options to set the object to not visible. If either Delta move X or Delta move Y are set to 5000,
the object will not be visible.
2VAA001149C 161
SPlus Operations Display Builder User Guide DIAGRAMS
23.11.1 Layout
Scale: enables the display of the scale. Tics define the number of tics for the Scale.
Grid: enables the display of the grid. Tics define the number of tics for the Grid.
Curves: defines the number of curves to be displayed in the Radar. The number of curves range is from 1 to 10.
Items: defines the number of “points” to be displayed in the Radar for each curve. The number of items range is from 3 to
10.
Type: defines the type of the Radar; the types are listed in the table belowTable13.
Low Limit: defines the low scale limit.
High Limit: defines the high scale limit.
Type Description
NORMAL Filled background
TRANSPARENT Transparent background
23.11.2 Color
Color defines the Radar colors.
If the fields in this area are set to -1, the default trend colors defined in the APPS\TntExplorer Windows registry keys are
used.
Grid: represents the color index (range 0-63) of the Radar grid. Frame: represents the color index (range 0-63) of the
Radar frame. BckGnd: represents the color index (range 0-63) of the Radar “border”.
Text: represents the color index (range 0-63) of the Radar scale.
162 2VAA001149C
SPlus Operations Display Builder User Guide DIAGRAMS
23.12 Parameters
Only the fields of the defined items are enabled.
Title: These fields are enabled only on first curve. Title defines the title of the point in the radar Diagram. It is an
alphanumeric string
Tag Name: defines the name of the point. Tag Name is only enabled if Checked for FILE access is clear.
Checked for FILE access is selected when the data used to plot the Radar is retrieved from a data file.
Click the browse button to define the access to the data file.
23.12.1 Color
Color defines the color (range 0-63) of the curve. Enter the color index or click the button to open the color selection table.
23.12.2 Marker
Marker defines the curve marker. The allowed markers are listed in the table belowTable14:
Marker Description
NONE Continuous curve
CIRCLE Empty circle
FILLED CIRCLE Filled circle
DIAMOND Empty diamond
FILLED DIAMOND Filled diamond
BOX Empty box
FILLED BOX Filled box
TRIANGLE UP Empty triangle up
FILLED TRIANGLE UP Filled triangle up
TRIANGLE DOWN Empty triangle down
FILLED TRIANGLE DOWN Filled triangle down
2VAA001149C 163
SPlus Operations Display Builder User Guide DIAGRAMS
Marker Description
FILLED TRIANGLE LEFT Filled triangle left
TRIANGLE RIGHT Empty triangle right
FILLED TRIANGLE RIGHT Filled triangle right
23.12.3 Values
Enable: select this box to display the points value and to set the color that will be used to display the values.
For this example the goal is to have 2 boxes on the display, one box with Alarm Group 1 and a second with Alarm Group 2
Step 1: Add rectangle and define it as a DALL diagram type
After drawing a rectangle “right click” on it and select the “Transform to Dynamic” menu option.
Next select the Diagram type as DALL, and Select the Alarm Group to be “Alarm Group 1”
164 2VAA001149C
SPlus Operations Display Builder User Guide DIAGRAMS
2VAA001149C 165
SPlus Operations Display Builder User Guide VARIABLES
24. VARIABLES
24.1 Introduction
Variables allow you to link Dynamic Objects to the S+ Operations internal database.
The type of variable defines the environment where the data must be retrieved (Realtime Database, Data Files). Other
information is used to specify data format.
24.3 Name
Name is an alphanumeric string containing the name of the variable. The name is unique within the Graphic Display; it is
automatically assigned during the Graphic Display definition phase and cannot be modified.
24.4 Type
Define the type of the variable. Allowed types are:
Realtime DataBase: variable values are retrieved from a Realtime Database.
File Access: variable values are retrieved from a data file by specifying the address.
External File Access: variable values are retrieved from a set of data in a file:
This type is only enabled to define indirect access of IDPT for DXYP Diagrams.
24.5 IDPT
This option defines an indirect access to the tag through a variable containing all of the references.
166 2VAA001149C
SPlus Operations Display Builder User Guide VARIABLES
If not selected, the tag access is direct. That is, the tag name only is associated to the variable, and allows data
retrieval.
If selected, you must define the variable through which to access the tag (in an indirect way).
The IDPT mechanism is supported only for the variable of Realtime Database type.
24.6 Data
This area contains data information common to all type of variables.
All fields in this area are updated with default values based on the type of the data selected for the Realtime Database
access.
The only exception is the Realtime Database variable coded DB_INFO_VALUE.
For the DB_INFO_VALUE code you must change the defaults based on the type (analog, di, txtsel ...) of the
specified tag.
Entry:
Entry defines if data entry is allowed. This field is enabled only for a variable with File Access type.
Allowed values are listed in the table below.
Entry Description
NO_DATA_ENTRY Data entry is not allowed
NO_VALIDATION Data entry is allowed (not validated)
Type:
Type defines the type of data to read from selected database or file. Allowed values are listed in the table below.
Type Description
MISDICODE Keyword to read a digital data (bits)
TIMECODE Keyword to read a variable representing a time
MISPVCODE Keyword to read an analog value
TEXTCODE Keyword to read a text string
IDPTCODE Keyword to read a Point ID
NUMBERCODE Keyword to read a number
Sub-code:
Sub-code specifies the sub-type of data. Allowed sub-codes are listed in the table below:
Quality:
Quality defines the quality management for the variable. Allowed values are listed in the table below:
Quality Description
NO_QUAL No quality to read - quality status is ignored
USE_QUAL Quality is defined (as quality status bit map)
All Bits:
All Bits is only enabled for MISPVCODE and MISDICODE types.
This option allows you to use all value bits of a specific data type (for example MSDD, RCM etc.). No filters will be applied
during run time to the Realtime value.
The following two fields are enabled only when the MISDICODE type is selected. A digital value can be read as a bit map
(16 bits). These fields specify:
Start Bit: defines the bit (range 0-15) from which to start reading the value
Num Bits: defines number (range 1-16) of bits to be read starting from the Start Bit. The two settings are equivalent:
Start Bit = 0 and Num Bits = 0.
Start Bit = 0 and Num Bits = 16.
TextLength:
TextLength is only enabled for the TEXTCODE type. It defines the number of characters to be read for the text string
24.7 Time
Defines the refresh time of the variable. Refresh time is the number of seconds between two subsequent accesses to a
database to update the value of the variable.
168 2VAA001149C
SPlus Operations Display Builder User Guide VARIABLES
2VAA001149C 169
SPlus Operations Display Builder User Guide VARIABLES
24.12 Information
Code:
Table below defines the codes (sorted by name) and their descriptions.
Code Description
DB_INFO_ALMGRP Alarm group index
DB_INFO_ALMPRI The alarm priority index
DB_INFO_ALMST Alarm status, quality, group
DB_INFO_ALMST1 Alarm status (1 char)
DB_INFO_ALMST2 Alarm status (2 chars)
DB_INFO_ALMTXT Alarm text descriptor
DB_INFO_BLOCK The number of block (for C-Net tags)
DB_INFO_CO_STRING Control Output string
DB_INFO_CO_VALUE Control Output value
DB_INFO_CTRLINH Control inhibit status
DB_INFO_DESC The description of the tag
DB_INFO_DI_STATE_0 The digital state 0 descriptor
DB_INFO_DI_STATE_1 The digital state 1 descriptor
DB_INFO_DI_STATE_2 The digital state 2 descriptor
DB_INFO_DI_STATE_3 The digital state 3 descriptor
DB_INFO_EXTDESC The extended description of the tag
DB_INFO_HIG_DEF High presentation limit
DB_INFO_HIG_HIG_VAL The high-high alarm limit
DB_INFO_HIG_INST The high instrument limit
DB_INFO_HIGH_VAL The high alarm limit
DB_INFO_LOW_DEF Low presentation limit
DB_INFO_LOW_INST The low instrument limit
DB_INFO_LOW_LOW_VAL The low-low alarm limit
DB_INFO_LOW_VAL The low alarm limit
DB_INFO_MODULE The number of module (for C-Net tags)
DB_INFO_NEG_ROC Negative rate of change
DB_INFO_OIS_INDEX OIS index
DB_INFO_OIS_QUAL OIS quality (multi chars)
DB_INFO_OIS_QUAL1 OIS quality (1 char)
DB_INFO_PAR Database parameter in default format
DB_INFO_PAR_STRING Database parameter in text format
DB_INFO_PAR_STRING_EX DB parameter and its description in
text format
DB_INFO_PCU The number of PCU (for C-Net tags)
DB_INFO_POINTNAME Tag name
DB_INFO_POS_ROC Positive rate of change
DB_INFO_PSN Customer identifier (Text format)
DB_INFO_QUAL1 The word 1 quality
DB_INFO_QUAL2 The word 2 quality
DB_INFO_QUALNDX Quality in extended format
DB_INFO_RI_STRING Ratio Index string value
DB_INFO_RI_VALUE Ratio Index value
DB_INFO_RING The number of Loop (for C-Net tags)
DB_INFO_SIG_HIG HH3 value
DB_INFO_SIG_LOW LL3 value
170 2VAA001149C
SPlus Operations Display Builder User Guide VARIABLES
Offset:
Defines a offset (range 0-131) within a text string read from the database.
This field is meaningful only when the selected code is DB_INFO_DESC or DB_INFO_TXTSEL.
Generic Info:
This field is meaningful only when the selected code is DB_INFO_PAR* or DB_INFO_SYI. It defines the subcodes of
selected items.
DB_INFO_PAR: With the DB_INFO_PAR code you can access all Database information of selected tag. For example, to
read from Database the TAGNAME you can use either:
DB_INFO_TAGNAME.
DB_INFO_PAR with the DB_TAGNAME Generic Info option.
o The Generic info list will be loaded with all configured options.
DB_INFO_SYI: With this code you can access at run time the “Internal flags” of the system:
The Generic info list will be loaded with all configured system options.
SODG Command:
Defines the command sub-code to operate like an SODG command.
This field is meaningful only when the selected code is DB_INFO_SODG. The supported SODG commands are
listed in the table below.
Code Description
SODG_CMD_33 Alarm comment
SODG_CMD_37 Logic state descriptor
SODG_CMD_43_32 Output indicator: zero and one state
SODG_CMD_43_33 Output indicator: zero state only
SODG_CMD_43_34 Output indicator: one state only
SODG_CMD_44_32 RCM feedback indicator: zero and one state
SODG_CMD_44_33 RCM feedback indicator: zero state only
SODG_CMD_44_34 RCM feedback indicator: one state only
SODG_CMD_45_32 RCM set permissive indicator: zero and one state
SODG_CMD_45_37 RCM set permissive indicator: zero state only
SODG_CMD_45_38 RCM set permissive indicator: one state only
SODG_CMD_46 RCM override indicator
SODG_CMD_47 Station mode - type 1
SODG_CMD_48 Station status - type 1
SODG_CMD_54_46 Exception report discrete dynamic symbol: digital dynamic symbol
2VAA001149C 171
SPlus Operations Display Builder User Guide VARIABLES
IT
For details on the SODG Utility, see the .Inform S+ Operations Configuration Manual.
After changing codes or sub-codes S+ Operations will configure the variable to allow access to the database
in the correct format.
2VAA001149C 173
SPlus Operations Display Builder User Guide VARIABLES
24.14 Mod
The modifiers used to compute the word number to access a file according to the following formula:
If Mod1<0==>Mod1 = RECSIZE
If Mod2<0==>Mod2 = (-Mod2) * RECSIZE
IOFF = (ICRT-1) * Mod2 + PAGEMOD * Mod1
READ_WORD = IOFF + (Rec-1) * RECSIZE + Word - 1
Where
RECSIZE= Size of the record in the file,
PAGEMOD= Page Modifier defined in the Header,
ICRT = Current index of the MMI Interface (Dynamically assigned in Realtime by the system).
Mod1: defines the first modifier value to access, as a function of the page modifier, to the block in the record.
Mod2: defines the second modifier value to access, as a function of the MMI number, to a specific record.
24.15 File
This area contains the information required to access the data file.
File: defines a data file of the S+ Operations internal database containing the information to be read. Rec: defines the
number of the record within the file.
Word: defines the number of the word within the record.
174 2VAA001149C
SPlus Operations Display Builder User Guide VARIABLES
Mod1, Mod2:
First and second modifier to access information in the data file.
Action Key:
Defines how the data file is accessed. Two are the allowed access orders
MULTI_SAMPLE_BW: values are retrieved from the file starting from the word CURMOD = (Max-Inc+1) and the “Inc”
value decrements until the CURMOD value is less than the Min. value.
MULTI_SAMPLE_FW: values are retrieved from the file starting from the word CURMOD = maximum (Ini, Min) and the
“Inc” value increments until the CURMOD value is greater than the Max. value.
The word to access the file is computed according to the following formula:
If Mod1< 0 ==> Mod1=RECSIZE
If Mod2 < 0 ==> Mod2=(-Mod2)*RECSIZE
IOFF = (ICRT-1) * Mod2 + CURMOD * Mod1
READ_WORD = IOFF + (Rec-1) * RECSIZE + Word - 1
where
RECSIZE= Size of the record in the file,
CURMOD= Modifier related to the current sample,
ICRT = Current index of the MMI Interface (Dynamically assigned in Realtime by the system).
Min:
Minimum limit.
Max:
Maximum limit.
Ini
Initial limit.
Inc
Increment size.
2VAA001149C 175
SPlus Operations Display Builder User Guide SCRIPTING LANGUAGE
25.1 Introduction
This section describes Scripting Language elements used for creating, editing and customizing symbols and other graphic
Symphony Plus Display Builder elements. The section also provides script examples useful for understanding script
functioning.
The Display Builder Scripting Language provides an easy way to animate the Dynamic Objects. The syntax is like the “C”
language:
It is case sensitive.
The standard instructions separator is “;”.
The details of the commands used to define a script are described in the following sections.
Attribute Description
It controls the conversions from a real number to a string. This global variable is a string
textFormat
containing the format to be used. By default its value is “%g”
mouseX Return the x mouse position in the window. It is read-only predefined variable
mouseY Return the y mouse position in the window. It is read-only predefined variable
TRUE Logical constant. Value = 1
FALSE Logical constant. Value = 0
PI Arithmetic (pi greek) constant. Value = 3.141592653589
E Exponential constant. Value = 2.718281828459
GAMMA Constant. Value = 0.577215664901
DEG Constant. Value = 57.29577951308
PHI Constant. Value = 1.618033988749
25.3 Variables
176 2VAA001149C
SPlus Operations Display Builder User Guide SCRIPTING LANGUAGE
The keyword declare can be used to explicitly declare a variable (e.g. declare a;).
By default, a variable is local to its script. The keyword global can be used to declare global variables (e.g.
global a = 0;).
25.4 Attributes
Special variables can be used to access the various attributes of objects.
25.5 Access
The generic form to access the attributes of the objects is: ObjectName.ElementName.Attribute where:
ObjectName Is the name of the object.
ElementName Is the name of the element in the main object (for example the element of a group), it is optional.
Attribute Is the name of desired attribute.
In the script the main object is simply identified with the name “object”.
For example:
object/blink = TRUE;
This line in the script sets the main object to be blinking.
Attribute Description
allowResize TRUE if the object can be resized
angle1 The starting angle of an arc (in 1/64th degrees)
angle2 The ending angle of an arc (in 1/64th degrees)
arcMode 0 for pie, 1 for chord
background The fill color index (RGB)
Blink TRUE if the element should blink
Closed TRUE if the polyline is closed
currentRotationStep The current step in a rotation animation
fillStyle Fill style code
Flat TRUE if the polyline is displayed as a spline
foreground The outline color index (RGB)
Frame The current image index of an animated GIF image
ghostElement TRUE if the element is a ghost element (visible but not selectable)
lineArrow Arrows for lines and polylines
lineStyle Line style
lineWidth Line width
numFrames Total number of images of an animated GIF image
rotationStep The rotation increment value
shadowInverted TRUE if the shadow is displayed inverted (released)
shadowThickness The shadow thickness for poly-lines and parallelograms
show TRUE if the element must be visible
Attribute Description
height The height in pixel at zoom 1.0
width The width in pixel at zoom 1.0
x The X position in pixel at zoom 1.0
y The Y position in pixel at zoom 1.0
2VAA001149C 177
SPlus Operations Display Builder User Guide SCRIPTING LANGUAGE
Real Attributes that can be found only in Graphic Display derived from SODG translator and don’t have effect in script
related to objects created by the DisplayBuider.
Attribute Description
dynoValue Value of a Dynamic Object
dynoUserMaximum Maximum possible value for a Dynamic Object
dynoUserMinimum Minimum possible value for a Dynamic Object
Attribute Description
backgroundName Fill color name (e.g. ”#0000ffff0000” or “green”)
foregroundName Outline color name (e.g. ”#00000000ffff” or “blue”)
imageName Image file name
name Element name
string String of text element
25.10 Operators
The following sections list the predefined operators.
Operator Description
+ Addition or unary plus
- Subtraction or unary minus
* Multiplication
/ Division
^ Power
Operator Priority
^ Highest
+, - (unary)
*, /
+, - Lowest
178 2VAA001149C
SPlus Operations Display Builder User Guide SCRIPTING LANGUAGE
Operator Description
== Equality
!= Inequality
> Greater than
< Less than
>= Greater than or equal
<= Less than or equal
Operator Description
! Negation (Not)
|| Logical OR
&& Logical AND
25.11 Parentheses
Parentheses are used to resolve precedence conflicts, to delimit arguments of function calls and to bound if
and while statements.
25.12 Statement
25.12.1 Assignments
The assignment operator is the equal character =.
Example: a = 3;
2VAA001149C 179
SPlus Operations Display Builder User Guide SCRIPTING LANGUAGE
25.13 Comments
Comments start with the // characters and continue until the end of the line.
Example:
// This is a comment line
a = 1; // This is a comment following a command line
Function Description
abs(x) Calculate the absolute value of x
acos(x) Calculate the arc cosine of x in the range 0 to PI radians
asin(x) Calculate the arc sine of x in the range -PI/2 to PI/2 radians
atan(x) Calculate the arc-tangent of x
ceil(x) Return the smallest integer that is greater than or equal to x
cos(x) Calculate the cosine of x
cosh(x) Calculate the hyperbolic cosine of x
exp(x) Calculate the exponential of x
floor(x) Return the largest integer that is less than or equal to x
180 2VAA001149C
SPlus Operations Display Builder User Guide SCRIPTING LANGUAGE
hypo(x,y) Calculate the length of the hypotenuse of a right triangle, given the length of the two sides x and y
int(x) Convert x to an integer
j0(x) Bessel function of the first kind, order 0
j1(x) Bessel function of the first kind, order 1
jn(x,n) Bessel function of the first kind, order n
ln(x) Calculate the natural logarithm of x
log(x) Calculate the 10-based logarithm of x
max(x,y) Return the greater of two specified values
min(x,y) Return the smaller of two specified values
mod(x,y) Return the remainder of the first operand divided by the second
sin(x) Calculate the sine of x
sinh(x) Calculate the hyperbolic sine of x
sqrt(x) Calculate the square root of x
tan(x) Calculate the tangent of x
tanh(x) Calculate the hyperbolic tangent of x
y0(x) Bessel function of the second kind, order 0
y1(x) Bessel function of the second kind, order 1
yn(x,n) Bessel function of the second kind, order n
Function Description
beep() Play a sound
concat(s1,s2) Append s2 to s1. The variable s2 must be a string, s1 can be a string or a number
len(s) Return the length of the string s
random() Generate a pseudo-random number in the range 0-1
Extract a substring of length len characters form the string s1, starting at position pos
subString(s1, pos, len, s2)
(zero-based); the results is returned in s2
toNumber(s) Convert the string in float number
Function Description
Return the X coordinates of the point specified by its index; obj must be a line or a
getXPoint(obj, index)
polyline
Return the Y coordinates of the point specified by its index; obj must be a line or a
getYPoint(obj, index)
polyline
setXPoint(obj, index) Set the X coordinates of the point specified by its index; obj must be a line or a polyline
setYPoint(obj, index) Set the Y coordinates of the point specified by its index; obj must be a line or a polyline
getNumPoints(obj) Return the number of points of the object; obj must be a line or a polyline
raise(obj) Move the given object to the foreground
lower(obj) Move the given object to the background
stepUp(obj) Raise the given object in the graphic planes
stepDown(obj) Lower the given object in the graphic planes
Rotate the given object around its center; the rotation angle is given in the angle
rotate(obj,angle) parameter and is expressed in degrees (positive angle for clockwise rotation). Works
only for rotatable objects (line, polyline, parallelogram, grouped or not)
Do the same action that the rotate function, but if the object contains not rotatable
rotateAll(obj,angle)
elements, those elements are only moved. Works only if the object is a group
2VAA001149C 181
SPlus Operations Display Builder User Guide SCRIPTING LANGUAGE
S+ Functions Description
Functions details:
double ret = TagRead(SO_Obj, SO_Tag, Atom, Output) – Read DB value
SO_Obj - fixed variable that is loaded run-time with the address of the object
SO_Tag - fixed variable that is loaded run-time with the TAGNAME linked to the symbol - instead of SO_Tag is
possible to use a script variable loaded with another tagname (for example, a tagname read from a SO_Tag DB field)
Atom - Atom name (empty for maintag) - can be a variable or directly a string with the atom name
Output - DB value read. The value will be in the "DB Format" (string if it is a text, double if it is an analog/digital/...
value): script variables used to read a string are not usable to read analog values and vice versa
ret - return code (optional) 0 => FAIL != 0 => OK
double ret = TagStr(SO_Obj, SO_Tag, Atom, Output) - Read DB value in string format
SO_Obj - fixed variable that is loaded run-time with the address of the object
SO_Tag - fixed variable that is loaded run-time with the TAGNAME linked to the symbol - instead of SO_Tag is
possible to use a script variable loaded with another tagname (for example, a tagname read from a SO_Tag DB field)
Atom - Atom name (empty for maintag) - can be a variable or directly a string with the atom name
Output - DB value read in string format – In case of analog DB value the decimal place are like configured in DB
ret - return code (optional) 0 => FAIL != 0 => OK
double ret = QualityDetail(SO_Obj, SO_Tag, Atom, Output) - Read the tag quality code
SO_Obj - fixed variable that is loaded run-time with the address of the object
182 2VAA001149C
SPlus Operations Display Builder User Guide SCRIPTING LANGUAGE
SO_Tag - fixed variable that is loaded run-time with the TAGNAME linked to the symbol - instead of SO_Tag is
possible to use a script variable loaded with another tagname (for example, a tagname read from a SO_Tag DB field)
Atom - Atom name (empty for maintag) - can be a variable or directly a string with the atom name
Output - Tag quality code (0, 68, 192, … like 800XA QualityCode)
Ret - return code (optional) 0 => FAIL != 0 => OK
double ret = DataQuality(SO_Obj, SO_Tag, Atom, Output) - Read the tag quality string code
SO_Obj - fixed variable that is loaded run-time with the address of the object
SO_Tag - fixed variable that is loaded run-time with the TAGNAME linked to the symbol - instead of SO_Tag is
possible to use a script variable loaded with another tagname (for example, a tagname read from a SO_Tag DB field)
Atom - Atom name (empty for maintag) - can be a variable or directly a string with the atom name
Output - Tag quality string code ("Bad", "Uncertain", "Good", … like 800XA DataQuality)
ret - return code (optional) 0 => FAIL != 0 => OK
double Output = fncAnd (A,B) – A and B
double Output = fncOr (A,B) – A or B
double ret = SetMltStr(SO_Obj, SubObject, String) – Set object text value with translated string
SO_Obj - fixed variable that is loaded run-time with the address of the object
SubObject - In case of group, name of the text subobject
String - String to translate in the current “language” before to load as string in the text object
ret - return code (optional) 0 => FAIL != 0 => OK
double ret = fncMlt(SO_Obj, String, Output) – Translate string to current language
SO_Obj - fixed variable that is loaded run-time with the address of the object
String - text to translate
Output - script variable (string type) where will be loaded the translated string
ret - return code (optional) 0 => FAIL != 0 => OK
double ret = fncTrace(Fmt, P1,P2,P3) – Trace string in the error log (useful for script debug)
Fmt - Format for trace string – To format the parameters are accepted only %f or %s
P1/P2/P3 - parameters to use to format the trace string – if not used put 0 as parameter
Ret - return code (optional) 0 => FAIL != 0 => OK
double RgbGrad = fncRgbGrad(RGBCol, Mult, deltaCol) – Return color gradient
RGBCol - RGB color
Mult - Multiplier to calculate the gradient of RGBCol
deltaCol - delta on single color – normally used 10
RgbGrad - RGB color gradient
double RgbCol = RGB(R,G,B) – Return the RGB color starting from R G and B
R - red
G - green
B - blue
RgbCol – RGB color calculated as ((R+ (B*256)+(G*256*256)).
double Pos = fncAlign(RefObjPos, RefObjSz, ObjectSz, AlignCode) – Align object position using a reference object
RefObjPos – Reference object position (x or y)
RefObjPos – Reference object position (width or height)
ObjectSz – Object size (width or height)
AlignCode – requested alignment: 0=left/top 1=center 2=right/bottom
Pos – Object position to align the object (x or y)
2VAA001149C 183
SPlus Operations Display Builder User Guide SCRIPTING LANGUAGE
double ret = AdjFontByW(SO_Obj, SubObject, MaxFontH, Width) – Adjust font to maintain the text within the
requested width
SO_Obj - fixed variable that is loaded run-time with the address of the object
SubObject - In case of group, name of the text subobject
MaxFontH - max font size that can be used
Width - Max width that can be used for the text object – the font is reduced in order to maintain the text width
within this value
ret - return code (optional) 0 => FAIL != 0 => OK
double ret = AdjFontByH(SO_Obj, SubObject, Height) – Adjust font to obtain requested height
SO_Obj - fixed variable that is loaded run-time with the address of the object
SubObject - In case of group, name of the text subobject
Height - Height requested for the text object – the font size is changed in order to obtain the text height near the
requested value.
ret - return code (optional) 0 => FAIL != 0 => OK
double FontSz = GetFont(SO_Obj, SubObject, Output) – Get object Font name and Font size
SO_Obj - fixed variable that is loaded run-time with the address of the object
SubObject - In case of group, name of the text subobject
Output - script variable (string type) where will be loaded the font name.
FontSz - Font size (0 -> error on parameters or execution)
SO_Obj - fixed variable that is loaded run-time with the address of the object
SubObject - In case of group, name of the text subobject
FontSz - Font Size to assign to the text object
ret - return code (optional) 0 => FAIL != 0 => OK
SO_Obj - fixed variable that is loaded run-time with the address of the object
SubObject - In case of group, name of the text subobject
NewFont - string with the new font setting: example “Font( Arial,12,Regular, *)”
ret - return code (optional) 0 => FAIL != 0 => OK
double ret = fmtTT(SO_Obj, SO_Tag, Atom, Output) – Format default string for tooltip
SO_Obj - fixed variable that is loaded run-time with the address of the object
SO_Tag - fixed variable that is loaded run-time with the TAGNAME linked to the symbol - instead of SO_Tag is
possible to use a script variable loaded with another tagname (for example, a tagname read from a SO_Tag DB field)
184 2VAA001149C
SPlus Operations Display Builder User Guide SCRIPTING LANGUAGE
Atom - Atom name (empty for maintag) - can be a variable or directly a string with the atom name
Output - script variable (string type) where will be loaded the formatted tooltip – the system uses the script variable
ToolTipText to identify the string to show as tooltip; using ToolTipText as OutVal the formatted string will be immediatly
available
NOTE: the default tooltip is formatted as TAGNAME / SKZ where SKZ is the value of the .ALI atom related to TAG+ATOM
string. For example:
25.19 Events
Objects can be configured to call a procedure when certain events occur. The following is a list of the supported events.
To declare an event:
when event functionName.
Example for a text object:
proc ShowPush() {
object.string = “pushed”;
}
proc ShowRelease() {
object.string = “released”;
}
when click ShowPush;
when release ShowRelease;
186 2VAA001149C
SPlus Operations Display Builder User Guide SCRIPTING LANGUAGE
HotPink4 139 58 98
IndianRed 205 92 92
IndianRed1 255 106 106
IndianRed2 238 99 99
IndianRed3 205 85 85
IndianRed4 139 58 58
LavenderBlush 255 240 245
LavenderBlush1 255 240 245
LavenderBlush2 238 224 229
LavenderBlush3 205 193 197
LavenderBlush4 139 131 134
LawnGreen 124 252 0
LemonChiffon 255 250 205
LemonChiffon1 255 250 205
LemonChiffon2 238 233 191
LemonChiffon3 205 201 165
LemonChiffon4 139 137 112
LightBlue 173 216 230
LightBlue1 191 239 255
LightBlue2 178 223 238
LightBlue3 154 192 205
LightBlue4 104 131 139
LightCoral 240 128 128
LightCyan 224 255 255
LightCyan1 224 255 255
LightCyan2 209 238 238
LightCyan3 180 205 205
LightCyan4 122 139 139
LightGoldenrod 238 221 130
LightGoldenrod1 255 236 139
LightGoldenrod2 238 220 130
LightGoldenrod3 205 190 112
LightGoldenrod4 139 129 76
LightGoldenrodYello w 250 250 210
LightGray 211 211 211
LightGreen 144 238 144
LightGrey 211 211 211
LightPink 255 182 193
LightPink1 255 174 185
LightPink2 238 162 173
LightPink3 205 140 149
LightPink4 139 95 101
LightSalmon 255 160 122
LightSalmon1 255 160 122
LightSalmon2 238 149 114
LightSalmon3 205 129 98
LightSalmon4 139 87 66
LightSeaGreen 32 178 170
LightSkyBlue 135 206 250
LightSkyBlue1 176 226 255
LightSkyBlue2 164 211 238
LightSkyBlue3 141 182 205
LightSkyBlue4 96 123 139
LightSlateBlue 132 112 255
LightSlateGray 119 136 153
LightSlateGrey 119 136 153
LightSteelBlue 176 196 222
LightSteelBlue1 202 225 255
LightSteelBlue2 188 210 238
LightSteelBlue3 162 181 205
LightSteelBlue4 110 123 139
LightYellow 255 255 224
LightYellow1 255 255 224
LightYellow2 238 238 209
LightYellow3 205 205 180
LightYellow4 139 139 122
2VAA001149C 187
SPlus Operations Display Builder User Guide SCRIPTING LANGUAGE
LimeGreen 50 205 50
MediumAquamarine 102 205 170
MediumBlue 0 0 205
MediumOrchid 186 85 211
MediumOrchid1 224 102 255
MediumOrchid2 209 95 238
MediumOrchid3 180 82 205
MediumOrchid4 122 55 139
MediumPurple 147 112 219
MediumPurple1 171 130 255
MediumPurple2 159 121 238
MediumPurple3 137 104 205
MediumPurple4 93 71 139
MediumSeaGreen 60 179 113
MediumSlateBlue 123 104 238
MediumSpringGreen 0 250 154
MediumTurquoise 72 209 204
MediumVioletRed 199 21 133
MidnightBlue 25 25 112
MintCream 245 255 250
MistyRose 255 228 225
MistyRose1 255 228 225
MistyRose2 238 213 210
MistyRose3 205 183 181
MistyRose4 139 125 123
NavajoWhite 255 222 173
NavajoWhite1 255 222 173
NavajoWhite2 238 207 161
NavajoWhite3 205 179 139
NavajoWhite4 139 121 94
NavyBlue 0 0 128
OldLace 253 245 230
OliveDrab 107 142 35
OliveDrab1 192 255 62
OliveDrab2 179 238 58
OliveDrab3 154 205 50
OliveDrab4 105 139 34
OrangeRed 255 69 0
OrangeRed1 255 69 0
OrangeRed2 238 64 0
OrangeRed3 205 55 0
OrangeRed4 139 37 0
PaleGoldenrod 238 232 170
PaleGreen 152 251 152
PaleGreen1 154 255 154
PaleGreen2 144 238 144
PaleGreen3 124 205 124
PaleGreen4 84 139 84
PaleTurquoise 175 238 238
PaleTurquoise1 187 255 255
PaleTurquoise2 174 238 238
PaleTurquoise3 150 205 205
PaleTurquoise4 102 139 139
PaleVioletRed 219 112 147
PaleVioletRed1 255 130 171
PaleVioletRed2 238 121 159
PaleVioletRed3 205 104 137
PaleVioletRed4 139 71 93
PapayaWhip 255 239 213
PeachPuff 255 218 185
PeachPuff1 255 218 185
PeachPuff2 238 203 173
PeachPuff3 205 175 149
PeachPuff4 139 119 101
PowderBlue 176 224 230
RosyBrown 188 143 143
188 2VAA001149C
SPlus Operations Display Builder User Guide SCRIPTING LANGUAGE
2VAA001149C 189
SPlus Operations Display Builder User Guide SCRIPTING LANGUAGE
190 2VAA001149C
SPlus Operations Display Builder User Guide SCRIPTING LANGUAGE
2VAA001149C 191
SPlus Operations Display Builder User Guide SCRIPTING LANGUAGE
192 2VAA001149C
SPlus Operations Display Builder User Guide SCRIPTING LANGUAGE
grey0 0 0 0
grey1 3 3 3
grey10 26 26 26
grey100 255 255 255
grey11 28 28 28
grey12 31 31 31
grey13 33 33 33
grey14 36 36 36
grey15 38 38 38
grey16 41 41 41
grey17 43 43 43
grey18 46 46 46
grey19 48 48 48
grey2 5 5 5
grey20 51 51 51
grey21 54 54 54
grey22 56 56 56
grey23 59 59 59
grey24 61 61 61
grey25 64 64 64
grey26 66 66 66
grey27 69 69 69
grey28 71 71 71
grey29 74 74 74
grey3 8 8 8
grey30 77 77 77
grey31 79 79 79
grey32 82 82 82
grey33 84 84 84
grey34 87 87 87
grey35 89 89 89
grey36 92 92 92
grey37 94 94 94
grey38 97 97 97
grey39 99 99 99
grey4 10 10 10
grey40 102 102 102
grey41 105 105 105
grey42 107 107 107
grey43 110 110 110
grey44 112 112 112
grey45 115 115 115
grey46 117 117 117
grey47 120 120 120
grey48 122 122 122
grey49 125 125 125
grey5 13 13 13
grey50 127 127 127
grey51 130 130 130
grey52 133 133 133
grey53 135 135 135
grey54 138 138 138
grey55 140 140 140
grey56 143 143 143
grey57 145 145 145
grey58 148 148 148
grey59 150 150 150
grey6 15 15 15
grey60 153 153 153
grey61 156 156 156
grey62 158 158 158
grey63 161 161 161
grey64 163 163 163
grey65 166 166 166
grey66 168 168 168
grey67 171 171 171
2VAA001149C 193
SPlus Operations Display Builder User Guide SCRIPTING LANGUAGE
194 2VAA001149C
SPlus Operations Display Builder User Guide SCRIPTING LANGUAGE
2VAA001149C 195
SPlus Operations Display Builder User Guide SCRIPTING LANGUAGE
196 2VAA001149C
SPlus Operations Display Builder User Guide SCRIPTING LANGUAGE
2VAA001149C 197
SPlus Operations Display Builder User Guide SCRIPTING LANGUAGE
When the Typical_Script_Identifier is detected, S+ Operations reads the Placeholder_Name to search it in the
Typical Script File: if the Placeholder_Name is not in the file, will copy the Common Script Code from the script
of the object to the Typical Script File; if the Placeholder_Name is in the file, will copy the Common Script Code
from the Typical Script File to the script of the object.
In the first case, the new Common Script Code will be located at the end of the
Typical Script File as follows:
// Typical_Script_Identifier Placeholder_Name START
.... script code
// Typical_Script_Identifier Placeholder_Name END
198 2VAA001149C
SPlus Operations Display Builder User Guide SCRIPTING LANGUAGE
The logical colors is a new features implemented in S+ Operations, they are defined in a configuration editable
file. The configuration file is “Blcoldeck.xml”.
The configuration code for a simple color is like :
<COLOR name="plg_Olive" descr="Static Color" colorname="Olive" r="85" g="107" b="047" />
Where the name "plg_Olive" can be called by a script, the color is defined by the r,g,b values.
For a blinking color the configuration is like :
<COLOR name="plaUnackDY" descr="Unacknowledged discrepancy alarm: display element symbol border"
colorname="blue-grey" r="145" g="220" b="255" blink_r="70" blink_g="110" blink_b="130" />
The primary color is defined by r,g,b values, the secondary color is defined by blink_r, blink_g, blink_b, the
symbol will blink between these two colors.
2VAA001149C 199
SPlus Operations Display Builder User Guide SCRIPTING LANGUAGE
200 2VAA001149C
SPlus Operations Display Builder User Guide SCRIPTING LANGUAGE
IsToAck_3
…
Up to ten.
See the following examples to understand how to use these commands.
Note:
To select the correct field to read in the dynamics form, we have to select DB_INFO_VALUE to read the value
of the tag and the others values. It is important to understand that it is possible to get by script every field of the
runtime database, if DB_INFO_VALUE using the “value” keyword is selected the value is available, if
DB_INFO_DESC (the string description) using the “value” keyword si selected the string that contains the
description is available, and so on for all the runtime database field.
This is not the only way to get the value of the tag, see the following examples.
2VAA001149C 201
SPlus Operations Display Builder User Guide SCRIPTING LANGUAGE
} else {
object.RED.background = 255;
object.RED.foreground = 0;
}
When GREEN and RED are square elements names.
2VAA001149C 203
SPlus Operations Display Builder User Guide SCRIPTING LANGUAGE
The previous script refers to an object on the current page with the “Element Name” equal to FIRST
204 2VAA001149C
SPlus Operations Display Builder User Guide SCRIPTING LANGUAGE
2VAA001149C 205
SPlus Operations Display Builder User Guide SCRIPTING LANGUAGE
2VAA001149C 207
SPlus Operations Display Builder User Guide SCRIPTING LANGUAGE
208 2VAA001149C
SPlus Operations Display Builder User Guide SCRIPTING LANGUAGE
210 2VAA001149C
SPlus Operations Display Builder User Guide SCRIPTING LANGUAGE
2VAA001149C 211
SPlus Operations Display Builder User Guide SYMBOLS AND FACEPLATES
26.2 Test
For the test of faceplates and symbols you need tags in your Symphony Plus database. Therefore create a test project for
your Controller, insert some modules of your choice, load application(s) to your (Soft-)Controller and import the tag data to
the database.
NOTE: in order to get life data via AC 800M OPC Server you have to restart Symphony Plus. As soon as you get process
data, you can display and test your graphics.
Of course it is tricky to check a module under all possible conditions at runtime and you have to write simulation code for
your (Soft-)Controller to achieve this. But if you are connected to an OPC Server, it is possible to perform reproducible
tests with a specific simulation environment, see chapter 26.28.
212 2VAA001149C
SPlus Operations Display Builder User Guide SYMBOLS AND FACEPLATES
2VAA001149C 213
SPlus Operations Display Builder User Guide SYMBOLS AND FACEPLATES
26.5 Symbols
Mimics are used in S+ Operations to display process data while faceplates provide more detailed information and control.
Mimics include a collection of basic graphic items e.g. lines, rectangles and text and in addition a set of predefined
symbols installed in the system similar to the graphic elements in 800xA.
There are symbols to display tag specific data, the implementation of these symbols typically depend on the control
system e.g. Harmony or Melody. Other symbols may exist for general use like a text box with different alignments and
colors.
Parameters for symbols are normally reduced to %TAG% assuming that atoms are accessed only within that symbol.
While this is useful for symbols in process displays, it is not possible to create generic symbols with a basic data type as
input e.g. bool and to connect this to an atom. In order to enable this feature you have to define the following registry key.
.APPS\IBDISP\GblSymSkipRemoveAtoms (string) = YES.
This chapter is a walk through how to implement such a tag specific symbol, which can be used in a mimic later.
Start the Display Builder and save the empty default document with a specific name and in a specific folder. You should
use a naming convention for your symbols, for details see 26.16.2. Especially for inserting code snippets you should
define a directory structure in addition, for details see 26.17.
The sample symbol is named like this
Wat_sepMotValveM_DisplayElementX
Wat characterizes a specific library or project, here Water Library
sepMotValveM a type in the controller library
DisplayElementX a symbol for this type similar to display elements in 800xA
Initially the empty symbol includes only a rectangle named #WVP. This rectangle defines the default size of your symbol,
in this case 70 pixel width and height. You can define the X,Y position as you like, there is no influence for the position in a
mimic. All other graphic elements are inside this rectangle or are clipped using this rectangle.
214 2VAA001149C
SPlus Operations Display Builder User Guide SYMBOLS AND FACEPLATES
ip_LineWidthOpened = 3;
ip_MotorText = "M";
ip_Position = xAPCSYMBOL_POSITION;
ip_Symbol = xAPCSYMBOL;
// *** End - Definition of Interface
// when ...
// S+_BASICSYMBOLS UT_X_MOTOR INIT
if (ip_Symbol == "Motor") {
object.show = TRUE;
} else {
object.show = FALSE;
}
POS=ip_Position;
object.RECT1.show = FALSE;
object.E1.foreground = ip_LineColor;
if (POS == "Opened") {
E1_Line = ip_LineWidthOpened;
} else {
E1_Line = ip_LineWidth;
}
object.E1.lineWidth = E1_Line;
object.E1.background = ip_FillColor;
object.T1F1.fillStyle = 0;
object.T1F2.fillStyle = 0;
object.T1F1.foreground = ip_LineColor2;
object.T1F1.string = ip_MotorText;
object.T1F2.foreground = ip_LineColor2;
object.T1F2.string = ip_MotorText;
if(POS == "Opened") {
object.T1F1.show = TRUE;
object.T1F2.show = FALSE;
} else {
object.T1F2.show = TRUE;
object.T1F1.show = FALSE;
}
object.T1F1.x = center (object.E1.x, object.E1.width, object.T1F1.width);
object.T1F1.y = center (object.E1.y, object.E1.height, object.T1F1.height);
object.T1F2.x = center (object.E1.x, object.E1.width, object.T1F2.width);
object.T1F2.y = center (object.E1.y, object.E1.height, object.T1F2.height);
// S+_BASICSYMBOLS UT_X_MOTOR END
In the sample code there is a section with local functions. After that some variables are initialized either with constants or
with global variables. The global variables are defined somewhere else and are used in multiple places within the symbol.
Then the animation code for the graphic elements follows.
The following figure shows the next group, as before you have a couple of graphic elements and some script code for the
group.
216 2VAA001149C
SPlus Operations Display Builder User Guide SYMBOLS AND FACEPLATES
2VAA001149C 217
SPlus Operations Display Builder User Guide SYMBOLS AND FACEPLATES
There are functions (expressions) with leading characters “e_” corresponding to the expressions in 800xA. These
expressions use predefined values like colors, local variables with process values and other expressions e_*.
After that the global variables are defined, which are consumed by the different groups as explained earlier.
Then process data is read from the database using TagRead.
Finally the global variables are initialized.
Symbols may also have parameters e.g. ORIENTATION. Add parameters to a symbol using the header dialog in Display
Builder.
26.6 Faceplates
The naming for faceplates is pop_<typename> e.g. pop_sepMotValveM. While the naming for symbols is a convention
only, this naming for faceplates is mandatory.
NOTE: The AC800M importer creates tags in the tag database using this faceplate name. You have no possibility to
customize the importer,. You may modify the tag database later on, but you have to do this after each import.
2VAA001149C 219
SPlus Operations Display Builder User Guide SYMBOLS AND FACEPLATES
Template Description
Pop_template_1_1 1 row for indicators and buttons
Pop_template_1_2 1 row for indicators and 2 rows for buttons
The size of a faceplate is defined by #WVP similar to symbols. But a faceplate can be designed to be shown in standard,
extended and reduced view.
#WVP
This rectangle defines the faceplate size in standard view.
#WVP1
This rectangle defines the faceplate size in extended view. #WVP1 overlaps #WVP
#WVP3
This rectangle defines the faceplate size in reduced view. #WVP3 do not overlap #WVP nor #WVP1.
220 2VAA001149C
SPlus Operations Display Builder User Guide SYMBOLS AND FACEPLATES
2VAA001149C 221
SPlus Operations Display Builder User Guide SYMBOLS AND FACEPLATES
222 2VAA001149C
SPlus Operations Display Builder User Guide SYMBOLS AND FACEPLATES
For S+ we have to consider how to implement these requirements. An action for a button requires a parameter for
PRCBTN, but unfortunately this parameter cannot be set by script code. Therefore it is not possible to define an apply
button, which performs different actions dependent on the actual context. A solution is to create multiple apply buttons and
to position the relevant button based on actual context. The following paragraphs describe how to implement this.
224 2VAA001149C
SPlus Operations Display Builder User Guide SYMBOLS AND FACEPLATES
func SetToolTip() {
ToolTipText = TOOLTIPCMD1.string;
}
func GetEnabled() {
return xOPBMANMODEBUTTON_ENABLED;
}
// TYPICAL COMMAND_BUTTON START
proc OnClick () {
if (object.ghostElement == FALSE) { // If button enabled
object.BUTT.shadowInverted = TRUE;
object.ghostElement = TRUE; // disable itself
}
// If button disabled -> Active confirmation
if (object.ghostElement == TRUE) {
object.IMAGE.show=FALSE;
object.IMAGEDIS.show=TRUE;
str = "CNF";
concat(str, object.name);
ENABLED_CNF.string = str;
LTIMER = 10; // Set local timer
}
}
when click OnClick;
enabled = GetEnabled();
SetToolTip();
if (LTIMER > 0) {
LTIMER = LTIMER-1;
if (LTIMER == 0) {
ENABLED_CNF.string = "END_TIMER";
}
} else {
object.BUTT.shadowInverted = FALSE;
}
strx = "";
subString( ENABLED_CNF.string, 0, 3, strx);
object.ghostElement = ((strx == "CNF") || (enabled==FALSE));
// ... change color of "icon" as function of enable/disabled ...
if (object.ghostElement) {
object.IMAGEDIS.show = TRUE;
object.IMAGE.show = FALSE;
} else {
object.BUTT.shadowInverted = FALSE;
object.IMAGEDIS.show = FALSE;
object.IMAGE.show = TRUE;
}
// TYPICAL COMMAND_BUTTON END
The code starts with SetToolTip to get a string for the tooltip, see 26.15. GetEnabled returns a Boolean value, in this case
the value is defined by a global variable declared in a database code element. The rest of the code is common for all
selection buttons and is provided as code snippet. The dummy button already used a code snippet called
DEFAULT_APPLY_BUTTON, for details about code snippets see 26.17. For the two-step-operation there are other code
snippets, in order to better maintain the code.
If the button is disabled an image IMAGEDIS is shown, otherwise the image IMAGE. When the button is enabled, it can be
clicked. The event handler stores context information, starts a timer and disables the button. Now the apply buttons
become active, this is code for an apply button.
// TYPICAL APPLY_BUTTON START
func SetToolTip() {
ToolTipText = TOOLTIPAPPLYBUTTON.string;
}
proc OnClick () {
if (object.ghostElement == FALSE) { // If button enabled
object.BUTT.shadowInverted = TRUE;
object.ghostElement = TRUE; // disable itself
}
if (object.ghostElement == TRUE) {
object.IMAGE.show=FALSE;
object.IMAGEDIS.show=TRUE;
ENABLED_CNF.string ="END";
}
2VAA001149C 225
SPlus Operations Display Builder User Guide SYMBOLS AND FACEPLATES
}
proc OnRelease() {
object.BUTT.shadowInverted = FALSE;
}
when click OnClick;
when release OnRelease;
// Showed when other confirmation buttons are hidden
// Check for Single/Double Button
SetToolTip();
if (TwoStepOperation == 0) {
// DISABLED!!!!
object.ghostElement = TRUE;
object.show = FALSE;
} else {
object.BUTT.shadowInverted = FALSE;
object.show = ENABLED_CNF.string == object.name;
object.ghostElement = !object.show;
object.IMAGE.show = object.show;
object.IMAGEDIS.show = !object.show;
object.x = TOSELECT.x;
object.y = TOSELECT.y;
}
// TYPICAL APPLY_BUTTON END
The apply button is named according to an operation e.g. CNFCLOSE or CNFMAN. If the context variable
ENABLED_CNF is set to such an value, the button enables itself and moves to the position defined by the TO_SELECT
element. Now we have an activated button in place for operation, the button is disabled either by click or by the timer.
object.BUTT.shadowInverted = FALSE;
}
when click OnClick;
when release OnRelease;
// Common part to be able to work with PGP 4.1
//global GBL_POP_WVP_NAME = "#WVP";
//global GBL_POP_ANCHOR_NAME = "#WVP";
//global GBL_POP_WVP1 = 1;
//DEBUG.string = GBL_POP_ANCHOR_NAME;
// end PGP 4.1
// GBL_POP TOGGLE_BUTTON_CLICK END
object.BUTT.shadowInverted = GBL_POP_ANCHOR_CODE == GBL_POP_LARGE;
delta = object.width*2;
if (O_X == 0) O_X = object.x; // Save original position
// Adjust position if LARGE size
if (GBL_POP_ANCHOR_CODE == GBL_POP_LARGE) {
object.x = O_X + (GBL_POP_ANCHOR_NAME.width/2) - delta;
} else {
object.x = O_X;
}
For the middle button, show standard view
// GBL_POP TOGGLE_BUTTON_CLICK INIT
proc OnClick () {
object.BUTT.shadowInverted = TRUE;
}
proc OnRelease() {
object.BUTT.shadowInverted = FALSE;
}
when click OnClick;
when release OnRelease;
// Common part to be able to work with PGP 4.1
//global GBL_POP_WVP_NAME = "#WVP";
//global GBL_POP_ANCHOR_NAME = "#WVP";
//global GBL_POP_WVP1 = 1;
//DEBUG.string = GBL_POP_ANCHOR_NAME;
// end PGP 4.1
// GBL_POP TOGGLE_BUTTON_CLICK END
object.BUTT.shadowInverted = GBL_POP_ANCHOR_CODE == GBL_POP_NORMAL;
delta = object.width*3;
if (O_X == 0) O_X = object.x; // Save original position
// Adjust position if LARGE size
if (GBL_POP_ANCHOR_CODE == GBL_POP_LARGE) {
object.x = O_X + (GBL_POP_ANCHOR_NAME.width/2) - delta;
} else {
object.x = O_X;
}
For the left button, show reduced view
// GBL_POP TOGGLE_BUTTON_CLICK INIT
proc OnClick () {
object.BUTT.shadowInverted = TRUE;
}
proc OnRelease() {
object.BUTT.shadowInverted = FALSE;
}
when click OnClick;
when release OnRelease;
// Common part to be able to work with PGP 4.1
//global GBL_POP_WVP_NAME = "#WVP";
//global GBL_POP_ANCHOR_NAME = "#WVP";
//global GBL_POP_WVP1 = 1;
//DEBUG.string = GBL_POP_ANCHOR_NAME;
// end PGP 4.1
// GBL_POP TOGGLE_BUTTON_CLICK END
object.BUTT.shadowInverted = GBL_POP_ANCHOR_CODE == GBL_POP_SMALL;
delta = object.width*4;
if (O_X == 0) O_X = object.x; // Save original position
// Adjust position if LARGE size
2VAA001149C 227
SPlus Operations Display Builder User Guide SYMBOLS AND FACEPLATES
if (GBL_POP_ANCHOR_CODE == GBL_POP_LARGE) {
object.x = O_X + (GBL_POP_ANCHOR_NAME.width/2) - delta;
} else {
object.x = O_X;
}
228 2VAA001149C
SPlus Operations Display Builder User Guide SYMBOLS AND FACEPLATES
2VAA001149C 229
SPlus Operations Display Builder User Guide SYMBOLS AND FACEPLATES
The following function has to be added to the beginning of the button scripts:
The handling of global symbols needs some extra attention. In order to insert symbols in graphics they have to be added
to system with Display Builder first. The added symbols are located in <programdata>\ABB Symphony
Plus\Operations\SV1.0\display\bin. For distribution the related files (<name>.g, .diag, .var, .page) have to be copied to
other systems, but it is not required to copy the source files (<name>.ucbg, .ucbd, .ucbv, .ucbp) in addition.
Note: After a symbol was inserted in a display, the symbol’s graphic objects and scripts are stored together with the
display. Therefore, if you have modified a global symbol and added the symbol to system, you have to open, save and add
to system all displays using this symbol. Otherwise your changes are not updated in these displays. Symphony Plus has
no support to check, where and how many times the symbol was inserted, but you can use a file search tool instead and
search for significant strings in *.g files. This behavior may change when the serialization concept is modified in future
versions, but for SP2 it is still valid.
2VAA001149C 231
SPlus Operations Display Builder User Guide SYMBOLS AND FACEPLATES
Relative
e.g. Scriptfile.txt
In this case Display Builder inserts code snippets only if the script file is found in the directory, where the display is
saved. By using relative path you can insert different snippets dependent on multiple subfolders.
Anyhow with this feature the contents of your saved displays depend on save time and development
environment.
232 2VAA001149C
SPlus Operations Display Builder User Guide SYMBOLS AND FACEPLATES
Note: This does not work for text constants in scripts; therefore do not use text in scripts. Define a static text object in
display builder and copy the text value like this
object.string = atextobject.string;
2VAA001149C 233
SPlus Operations Display Builder User Guide SYMBOLS AND FACEPLATES
26.23 RGB
double ret = RGB(R,G,B)
returns the RGB color starting from R G and B: (in PGP this was obtained using (R+ (B*256)+(G*256*256)).
26.24 Fonts
For scripting there are 3 new functions available to change the fonts:
234 2VAA001149C
SPlus Operations Display Builder User Guide SYMBOLS AND FACEPLATES
26.26 Debugging
For development of script code there is no debugger available. In most cases you get error messages for syntax errors on
save, sometimes not. At runtime no problems are reported, you just do not get the expected results. But with some extra
effort you can create some debug output similar to the well known Writeln.
Create some extra text elements in your symbol or faceplate and set object.string to the information you are interested in.
Sample:
DEBUG = 1;
if (DEBUG == 1) {
DEBUG1.show = TRUE;
DEBUG1.string = xValue; // text element named DEBUG1
DEBUG2.show = TRUE;
DEBUG2.string = yValue; // text element named DEBUG2
} else {
DEBUG1.show = FALSE;
DEBUG2.show = FALSE;
}
2VAA001149C 235
SPlus Operations Display Builder User Guide SYMBOLS AND FACEPLATES
26.28 Test
The tool OPCSimForSplus reads a Symphony Plus data-processor file, e.g. C5_seSignalObjLib 2_2-7.xml. The output
files are the following:
MDP_C5_seSignalObjLib 2_2-7.xml
A data-processor file for Symphony Plus representing the Matrikon OPC server. Copy this file to your Symphony
Plus data-processor directory, normally
C:\Program Files\ABB Symphony Plus\1.0\Operations\condig\dataprocessor\AC800M
MOPC_C5_seSignalObjLib 2_2-7.xml
An XML file for configuration of the Matrikon OPC server. Load this file into the server using File/Open.
OPCSim_C5_seSignalObjLib 2_2-7.csv
Provides atom names and default values for Excel test sheets. Load this file into your test sheet.
Now create an Excel workbook for your test. The script functions inside the workbook set data to the Matrikon
server. You have to configure the tags to be tested in the database with IbDbase. The 800M OPC server has to be
replaced by the Matrikon OPC server. Now all process values can be configured and set using such an Excel
workbook.
The benefits are
The test is reproducible
No Controller required
No simulation code required
Any process signal can be set without restrictions and interlocking
236 2VAA001149C
SPlus Operations Display Builder User Guide SYMBOLS AND FACEPLATES
2VAA001149C 237
SPlus Operations Display Builder User Guide SYMBOLS AND FACEPLATES
238 2VAA001149C
SPlus Operations Display Builder User Guide SYSTEM PROGRAMS
27.1 Introduction
This section describes the main S+ Operations system programs and their commands.
27.2 PRCBTN
PRCBTN is a system program that executes commands on the system tags.
You can use this program in your pages to modify the value of tags in the real-time database.
All commands can be executed only if the operator is enabled to operate on the tag (the point has a status of good, the
operator has the appropriate privileges, etc.). The managed commands are listed below.
2VAA001149C 239
SPlus Operations Display Builder User Guide SYSTEM PROGRAMS
31)
SETBYTEn %TAG%,SETBYTEn Sets all bits to 1 in the byte n of the tag (n = 0 - 3)
RESETBYTEn %TAG%,RESETBYTEn Sets to 0 the byte n of the tag (n = 0 -
3)
SETWORDn %TAG%,SETWORDn Sets all bits to 1 in the word n of the tag (n = 0 - 1)
RESETWORDn %TAG%,RESETWORDn Sets to 0 the word n of the tag (n = 0
- 1)
SETDWORDn %TAG%,SETDWORDn Sets all bits to 1 in the double word of the tag
RESETDWOR %TAG%,RESETDWORDn Sets to 0 the double word of the tag
Dn
If the confirm command is enabled, presents request for
pulse 0.
PULSE0 %TAG%,PULSE0 Sets value to 0 for defined time (as def. 1 sec.) and returns
tag to initial value
%TAG%,PULSE1 If the confirm command is enabled, presents request for
pulse 1.Sets value to 1 for defined time and returns tag to
PULSE1 initial value
%TAG%,PULSE1_n If the confirm command is enabled, presents status n of the
digital point. Sets value to 1 for defined time (as def. 1 sec.)
PULSE1_n and returns tag to initial value
PRESET %TAG%,PRESETffff Sets to ffff (hexadecimal value) the tag
SETVALUE %TAG%,SETVALUEn Sets to n (float or int value) the tag
SETVALUE_ %TAG%,SETVALUE_n If the confirm command is enabled, presents request for
set value.Sets to n (float or int value) the tag
TOGGLE %TAG%,TOGGLEf Toggle (1/0) the value of selected tag
STPU %TAG%,STPU Increment the specified tag (specific for driver104)
STPD %TAG%,STPD Decrement the specified tag(specific for driver104)
FASTSTPU %TAG%,FASTSTPU Fast increment of the specified tag(specific for driver104)
FASTSTPD %TAG%,FASTSTPD Fast decrement of the specified tag(specific for driver104)
ENTERCHECK %TAG%,ENTERCHECK LEVEL Requests a check level value for the specified tag (specific
LEVEL for driver104)
ENTERATOMV %TAG%,ENTERATOMV AL Requests a atom value for the specified tag (specific for
AL driver104)
USERID %TAG%,USERID Sets to specified tag the currentSYI_LoggedUserID
LOCKCMD %TAG%,LOCKCMD Reserve selected tag for commands
UNLOCKCMD %TAG%,UNLOCKCMD Unreserve selected tag for commands
Additional Characters
Additional characters can be added to the command line to manage specific requirements; if you want to use more than
one additional character in a command line, you have to follow a description order (see the examples).
-@ - can be added to the command line to disable the queue of the executed command to the OJ (Operating journal) also
if the Windows registry key APPS\PRCMAN\RecordToOj is YES
Example: PV-TAG-01,-@FASTINC
-? - can be added to the command line to disable the confirm command, also if is not requested as default for the
command, and is managed only if the Windows registry key APPS\PRCMAN\ConfirmCommand is YES
Examples:
PV-TAG-01,-@-?FASTINC
PV-TAG-01,-?FASTINC
? - can be added to the command line to enable the confirm command, also if is requested as default for the command,
and is managed only if the Windows registry key APPS\PRCMAN\ConfirmCommand is YES
Examples:
PV-TAG-01,-@?FASTINC
PV-TAG-01,?FASTINC
?confirmstring? - same as ? but you can customize the confirm command text.
Examples:
PV-TAG-01,-@?Fast Increment?FASTINC
PV-TAG-01,?Fast Increment?FASTINC
240 2VAA001149C
SPlus Operations Display Builder User Guide SYSTEM PROGRAMS
=Tagname - (Managed for commands where is specified [=%TAG%]) can be added after the command code to specify
the tag (when Is different from the tag to write) to obtain the current status/value to use for the command (for example to
display on ENTER command the default value).
Example:
PV-TAG-01,ENTER=PV-TAG-02
;Ojstring - can be added to the end of the command string to customize the text to write in the OJ when the executed
command is archived.
Examples:
PV-TAG-01,-@?Fast Increment?FASTINC;Fast Increment
PV-TAG-01,?Fast Increment?FASTINC;Fast Increment
Separators
You can execute multi commands using following separators:
&& if error, continue without message
&+ if error, continue after message
&# if error, exit without message
&* if error, exit after message
<> to execute first command on button down and second command on button up
For example:
PV-TAG-01,SETVALUE1&&DI-TAG-01,SET0
writes value 1 to tag PV-TAG-01, and continues writing 0 to the DI-TAG-01, even if there is an error on first write; to define
the number of seconds that the program must wait before executing the next command you can define the Windows
registry key: APPS\Prcbtn\SecondsBetweenCommands
DI-LAB,-?SET1<>DI-LAB,-?SET0
SET1 will be executed on button down and SET0 will be executed on button up (-?
is necessary to write the value without ask the confirm command).
Repeat
Using PRCBTN_REPEAT as a program name, the specified command will be repeated, as long as the mouse button is
clicked. This option must be applied to INC/DEC FASTINC/FASTDEC commands to activate automatically the specific
program FSTBTN to manage a fast sequence of the same command..
27.3 PRCMAN
PRCMAN is the system program name used to display the control Faceplates. Choosing this program as the Active
Program, you enable Faceplate activation.
Faceplate activation will be managed by PRCMAN or PRCTRL program as defined in the field Faceplate of the
tag database.
Normally the Faceplate will be loaded in the right/bottom corner of the screen. You can change this default setting using
the activation parameters.
2VAA001149C 241
SPlus Operations Display Builder User Guide SYSTEM PROGRAMS
PRCCM1 and PRCCMD are methods to activate the Faceplates in a specific position, and had been introduced to
manage SODG commands.
The “Only commands” Faceplate called using PRCCMD syntax, is a reduced Faceplate where only the control buttons are
displayed. For Faceplates managed by PRCTRL program, all objects included in the #WVP2 rectangle will be displayed.
Defining the Windows registry key APPS\Prcman\PopupNear (string = YES) automatically activates all Faceplates with
Program Name = PRCMAN. This will be loaded near the clicked object, without changing your displays.
27.4 ACKNWL
ACKNWL is not a system program name, but only a specific name to manage acknowledge actions that can occur during
clicks on the display page.
27.5 DBMENU
DBMENU isn’t a system program name, but only a specific name that replies to clicks on the display page with S+
Operations Explorer menu actions.
27.6 MMIACT
MMIACT is a system program that shows a “Context Menu” or a “Scroll List” of all items defined in a XML file.
The XML files must be stored in a folder defined by Windows registry key ConfigMenu.
In the MenuFile.xml file you can define all the items to be displayed.
This is an example of a menu:
<MENU>
<!-- $$Author: $ -->
<ITEM label="%TAG4% PV-TAG-%TAG%" pgmnm="%TAG4%" param="PV-TAG-%TAG%"/>
<ITEM label="%TAG4% PV-TAG-%TAG1%" pgmnm="%TAG4%" param="PV-TAG-
%TAG1%"/>
<ITEM label="%TAG4% PV-TAG-%TAG2%" pgmnm="%TAG4%" param="PV-TAG-
%TAG2%"/>
<ITEM label="%TAG4% PV-TAG-%TAG3%" pgmnm="%TAG4%" param="PV-TAG-
%TAG3%"/>
242 2VAA001149C
SPlus Operations Display Builder User Guide SYSTEM PROGRAMS
2VAA001149C 243
SPlus Operations Display Builder User Guide TERMINOLOGY
28. TERMINOLOGY
The following is a list of terms related to the S+ Operations. The list contains terms and abbreviations that are unique to
ABB or have a usage or definition that is different from standard industry usage.
Term Definition
Block Address Number that identifies a Function Block in a module.
C-Net Advanced communication highway to transfer process data from/to Symphony Rack.
Controlway High speed redundant communication. In a Process Control Unit is the method to transfer
information between intelligent modules.
Dual Configuration In S+ Operations this means a double-computer configuration in redundancy.
Engineering Work Station Personal Computer to maintain and update the configuration of the Symphony Rack
modules.
Exception Report Updating information generated when the state and/or the value of a tag change/s beyond
a certain amount.
Function Block A function code occurrence in a specific block address of a module.
Function Code Algorithm operating on specific functions. These functions are linked together to create a
control strategy.
Master-Slave In S+ Operations this means a double-computer configuration in redundancy.
Configuration
Module Address Single identifier of a specific device in a communication channel.
Multi Function Processor Multiple-loops controller capable of data acquisition and information processing.
Multi-Master Configuration In S+ Operations this refers to a multiple cooperating computer configuration.
Network Coupler Computer interface unit to the Symphony.
Plant Loop Network 90 communication ring to transfer process data.
Process Control Unit System network node containing control modules and I/O modules.
Time-Stamp Module reference time for the labelling of exception reports.
244 2VAA001149C
SPlus Operations Display Builder User Guide INDEX
INDEX
A N
Acknowledge 137, 245 network 117, 252 to 253
action type 90 to 91
AL 134, 163 O
alarm comment 181 ODBC 253
alarm condition 26 OJ 242 to 243
alarm group 119, 169, 179, 245 OLE 59, 253
analog tag 85, 156, 175 On-line Documentation 23
analog value 68, 174 OPC 253
ASCII 33 to 35, 78, 175, 180
P
B PCU 180, 253
bad quality 137, 156, 159, 163 S+ Operations Explorer 25 to 27, 30 to 31, 38, 43, 89, 91,
123 to 125, 246
PRCMAN 93, 239, 242 to 245
C primary display 239
C-NET 179 to 180, 251, 253 process control 251 to 253
computer interface unit 252 to 253 process variable 253
control output 175, 179, 253
control station 175 Q
quality 26 to 27, 85, 133, 135, 137, 154, 156, 159, 163,
176, 179 to 180, 182
D quality suffix 133
DDE 253
digital tag 155, 175 R
display area 38, 51, 245 radar 26, 129, 164 to 167
Documentation, On-line 23 ratio index value 180
RCM 176, 182 to 183, 253
E
E.U. 101 S
EWS 253 security 121, 125
exception report 182 to 185, 251 sequence of events 253
SER 253
F set point 175, 178, 180, 182, 253
faceplate 93, 111 to 112, 114 to 115, 141, 239,244 to 245 SP 178, 180, 253
FC 253 Symphony 251 to 252
function block 251
T
I tag browser 99, 119
ICI 253 tag type 177
instrument limit 179 time-stamp 252
toolbar 38 to 46, 50 to 51, 55, 57, 59, 67, 71, 103 to 104,
107, 109, 123
L trend 67, 142 to 145, 148, 165
library 29 to 30, 32 to 33, 40, 69, 105, 109
Z
M zoom factor 50 to 51, 196 to 197
module status 185
multi-master 252
2VAA001149C 245
ABB Inc.
ABB AG
Power Generation
Mannheim
GERMANY
E-Mail: powergeneration@de.abb.com
www.abb.com/controlsystems