![](media/image1.png){width="2.1666666666666665in"
height="10.152777777777779in"}

#####  {#section .unnumbered}

SNS 109000000-ST0001-R01

###### Human-Machine Interface {#human-machine-interface .Cover--title .unnumbered}

###### (HMI) Standard {#hmi-standard .Cover--title .unnumbered}

**SNS HUMAN-MACHINE (HMI) STANDARDS**

March 2003

+---------------------------------+---+--------------------------------+
|                                 |   |                                |
+---------------------------------+---+--------------------------------+
| Dave Gurd                       |   | Date                           |
|                                 |   |                                |
| Senior Team Leader, Controls    |   |                                |
| Group                           |   |                                |
+---------------------------------+---+--------------------------------+
|                                 |   |                                |
+---------------------------------+---+--------------------------------+
| George Dodson                   |   | Date                           |
|                                 |   |                                |
| SNS Accelerator Operations      |   |                                |
| Group Leader                    |   |                                |
+---------------------------------+---+--------------------------------+

**CONTENTS**

[1. INTRODUCTION 3](#introduction)

[2. SCREEN ELEMENTS 3](#screen-elements)

[2.1 Fonts 3](#fonts)

[2.1.1 Font Sizes 3](#font-sizes)

[2.1.2 Font Families 4](#font-families)

[2.2 Colors 4](#colors)

[2.2.1 Color Map 4](#color-map)

[2.2.2 Color Schemes 5](#color-schemes)

[2.2.3 Color Rules 14](#color-rules)

[2.3 Symbol Palettes 14](#symbol-palettes)

[2.4 Faceplates 15](#faceplates)

[2.5 Version Control 16](#version-control)

[2.6 Environment Variables 16](#environment-variables)

[2.7 Alarm Status 17](#alarm-status)

[2.8 Graphic Rules 18](#graphic-rules)

[2.9 Special Functions 19](#special-functions)

[3. SCREEN LAYOUT 19](#screen-layout)

[3.1 Screen Hierarchy 19](#screen-hierarchy)

[3.2 system Color Assignments 20](#system-color-assignments)

[3.3 Title 20](#title)

[3.4 Navigation 21](#navigation)

[3.5 Screen Parent / Child Relationships
21](#screen-parent-child-relationships)

[APPENDIX A - Instructions For Use Of Faceplates
22](#__RefHeading___Toc536840576)

SNS Human-Machine Interface (HMI) Standard

# INTRODUCTION

This standard describes the visual standards to be used when designing
SNS EPICS screens with the EDM display manager tool[^1]. The scope of
this document includes: color, font, placement, inter-screen navigation,
version management, and layout. Some aspects are entirely under control
of the screen designer, whereas others require the use of shared "rules"
files.

It should be noted that EDM is still under development, with
modifications and extensions being made in response to the needs of the
SNS project. Some of these changes may ultimately affect the
implementation of this standard. Meanwhile, this version of the standard
represents our consensus of the best approach for the version of EDM in
hand[^2].

Examples of various screens, tables, and rules files are kept on the
host ics-dev3.sns.gov.

# SCREEN ELEMENTS

## Fonts

### Font Sizes

EDM reads a file font.list to load Helvetica and Courier fonts for 22
font sizes. Font sizes can be specified independently of the widget box
size by making a selection from a popup list in the widget properties
dialog box. A choice can also be made of standard, bold, and italic
styles. The current list is (in pixels):

8,10,12,14,16,18,20,24,28,32,36,42,48,60,72,96,120,168,216,312,408,504

The large sizes are intended for distant viewing of "key parameters" on
widely dispersed "comfort displays." A sample showing a range of
selected sizes is available (see Fig. 2-1) in fontTable.edl.

![](media/image2.jpeg){width="6.488888888888889in"
height="5.345138888888889in"}

Figure 2-1: Standard Font Sizes

###  {#section-1 .unnumbered}

### Font Families

Two fonts may be used:

-   Courier. The Courier font is a fixed-width font generally available
    on the expected X-servers (Solaris, Linux, Windows + Exceed) and is
    generally used for "numeric readouts". The fixed-width emulates a
    panel meter and keeps the text stable when values change. (See also
    *Environment* for additional invocation information.).

-   Helvetica. The Helvetica font is a proportional font used for
    annotation and titling.

## Colors

### Color Map

EDM does not have built-in color values; rather, it loads a default
color table (80 colors) and a set of 28 color rules from the file
colors.list. Each table entry is indexed. This helps to preserve a core
set of definitions that provide for backward compatibility if the table
is ever augmented. An annotated display of the SNS standard colors is
shown in Fig. 2-2a. A full color palette is shown in Fig. 2-2b and the
corresponding color names list (partial view) is shown in Fig. 2-2c.
Colors can be selected for use in the widget properties dialog box (see
example of this for the Related Display widget in Fig. 2-2d.) either
from the color palette or from the color names. Colors shown with dots
in the center of the color square are used to indicate which colors in
the palette are associated with color rules (see discussion in Color
Rules section).

Table 2-1 lists the 14 major colors (shown in the lower left of the SNS
standard colors screen of Fig. 2-2a) and their standard uses.

### Color Schemes

Color schemes can be defined for subsets of colors that are used in
collections of screens for particular systems (see the two top groups
shown for the SNS Standard Colors in Fig. 2-2a) or groupings of widgets.
Color scheme files can be saved using the middle mouse button popup menu
selection for saving color schemes (either "default.scheme" or a .scheme
file of whatever name the user chooses). The EDM documentation explains
how to do this.

NOTE: Currently if a user wants to be able to create a color scheme, it
is necessary to copy the files from the area defined by the \$EDMFILES
path (see *Environment Variables* section below) into a directory for
which the user has read/write privilege in order for the "Save Display
Scheme..." menu selection to work. This is intended to be a temporary
"work around."

![](media/image3.png){width="6.495833333333334in"
height="6.620138888888889in"}

Figure 2-2a: SNS Standard Color Usage

![](media/image4.png){width="1.5in" height="8.052083333333334in"}

Figure 2-2b: SNS EDM Colors and Color Rules

![](media/image5.png){width="1.5104166666666667in" height="4.28125in"}

Figure 2-2c: SNS EDM Color Names

![](media/image6.png){width="3.5416666666666665in" height="8.1875in"}

Figure 2-2d: EDM Related Display Properties Dialog Box

**Table 2-1** -- SNS Color Standard Usage

**NOTE:** The actual color values used for animating active devices
(other than the standard EPICS Alarm Rule for monitored values) are not
fixed, and therefore are not listed in this table. See "Color Rules"
discussion later in this document. Panel-meter-style numeric displays
refer to what are sometimes called "nixie tube" readouts and can be
implemented using the TextUpdate Object.

  ---------------------------------------------------------------------------------
  **Index/Label(Color)**   **Used for:**               **Examples:**
  ------------------------ --------------------------- ----------------------------
  00/"Disconn/Invalid"     EPICS alarm rule result =   Communications lost to PLC
  (white)                  "INVALID" (for both monitor or IOC
                           and control signals)        monitoring/controlling this
                                                       parameter; broken signal
                                                       cable

                           Screen title foreground     Screen title lettering

                           Related-display call-up     Related display button label
                           foreground                  

  10/"Wid-bg/Anno-pri"     Background for monitor      Background for digits
  (dark-gray)              widgets                     displayed in
                                                       "panel-meter-style" format;
                                                       background for bar-charts
                                                       and dial gages

                           Annotation for primary      Signal name labels; label
                           (EPICS-visible) devices     for "LED-lamp-style" status
                                                       display

                           Outlines for major          Piping, pump outlines, valve
                           equipment                   outlines, beamline outlines

  06/"Wid-alt/Anno-sec"    Background for control      Background for on/off
  (light-gray)             widgets                     pushbuttons; background for
                                                       sliders

                           Annotation for secondary    Labels for groups of devices
                           (non-interfaced) devices    
                           and infrastructure          

                           Outlines for secondary      Boxes surrounding groups of
                           equipment or equipment      devices
                           groupings                   

  20/"Monitor: MAJOR"      EPICS alarm rule result =   Panel-meter-style numeric
  (red)                    "ALARM" (for a monitored    value displayed in red when
                           value)                      value exceeds alarm
                                                       threshold.

                           "On-state" of red LED       LED-lamp-style display turns
                                                       red to indicate a fault

                           Color representing "off" or Valve widget turns red to
                           "closed" for the default    indicate "valve is closed";
                           color rule for animating an pump widget turns red to
                           active device. NOTE: This   indicate "pump is off".
                           is just the default. Colors 
                           rules used to animate       
                           active devices are not      
                           fixed. See note at top of   
                           table.                      

                           Used by                     The classic "not" symbol of
                           "write-permission-denied"   circle-with-slash is shown
                           symbol.                     when mouse cursor passes
                                                       over button operator is
                                                       unauthorized to control.

  22/"Mon: MAJOR/unack"    EPICS alarm rule result =   Panel-meter-style numeric
  (dark-red)               "Unacknowledged-ALARM"      value displayed in dark-red
                           (monitor---not yet          when value exceeds alarm
                           supported)                  threshold and alarm has not
                                                       yet been acknowledged.

                           "Off-state" of red LED.     LED-lamp-style display is
                                                       dark red when there is no
                                                       fault condition.

  35/"Monitor: MINOR"      EPICS alarm rule result =   Panel-meter-style numeric
  (yellow)                 "WARN" (monitor only)       value displayed in yellow
                                                       when value exceeds warning
                                                       threshold

                           "On-state" of yellow LED.   LED-lamp-style display turns
                                                       yellow to indicate a
                                                       "warning" condition

  37/"Mon: MINOR/unack"    EPICS alarm rule result =   Panel-meter-style numeric
  (dark-yellow)            "Unacknowledged-WARN"       value displayed in
                           (monitor only---not yet     dark-yellow when value
                           supported)                  exceeds warning threshold
                                                       and alarm has not yet been
                                                       acknowledged.

                           "Off-state" of yellow LED.  LED-lamp-style display is
                                                       dark-yellow when no warning
                                                       condition

  15/"Monitor: NORMAL"     EPICS alarm rule result =   Panel-meter-style numeric
  (green)                  "NORMAL" (monitor only).    value displayed in green
                                                       when value is in normal
                                                       operating range.

                           "On-state" of green LED     LED-lamp-style display turns
                                                       green to show device is "on"

                           Color representing "on" or  Valve widget turns green to
                           "open" for the default      indicate "valve is open";
                           color rule for animating an pump widget turns green to
                           active device. NOTE: This   indicate "pump is on".
                           is just the default. Colors 
                           rules used to animate       
                           active devices are not      
                           fixed. See note at top of   
                           table.                      

  17/"Monitor: alt"        Alternate EPICS monitor     Panel-meter-style numeric
  (dark-green)                                         display of numeric value in
                                                       normal operating range. You
                                                       can use both green and dark
                                                       green monitor colors if you
                                                       desire to distinguish
                                                       between "primary" and
                                                       "secondary" process
                                                       variables.

                           "Off-state" of green LED    LED-lamp-style display is
                                                       dark-green when device is
                                                       "off"

  48/"wid-fg-neu"(Black)   2^nd^ Alternate EPICS       Neutral condition; used when
                           monitor                     no alarm limits or
                                                       conditions are defined or
                                                       the alarm is displayed by a
                                                       rectangle around the text
                                                       display.

                           Alternate title text        Screen title lettering when
                                                       white does not offer
                                                       sufficient contrast.

  49/"wid-bg-neu"(Light    2^nd^ Alternate EPICS       Use with the neutral
  gray)                    monitor background          foreground "wid-fg-neu"
                                                       above.

  25/"Controller" (blue)   EPICS control               Button labels; slider scale
                                                       lettering

  30/"Controller/alt"      Alternate EPICS control.    Button labels; slider scale
  (cyan)                                               lettering. You can use both
                                                       blue and light-blue monitor
                                                       colors if you desire to
                                                       distinguish between
                                                       "primary" and "secondary"
                                                       control variables.

  44/"Related display"     Related display call-up     Background for display
  (brown)                  (another EDM screen).       call-up button

  40/orange                External "shell" command    
                           (another EPICS tools or any 
                           other Unix                  
                           function---browser,         
                           calculator, etc)            

                           "Drag source" for non-PV    
                           text drop into diagnostics. 

  45/"Exit/Quit/Kill"      Exit/Quit of screen---not   
  (purple)                 yet supported.              
  ---------------------------------------------------------------------------------

##  {#section-2 .unnumbered}

### Color Rules

The actual color values used for animating active devices (other than
the standard EPICS Alarm Rule for monitored values) ***shall not*** be
encoded in any specific screen. Rather, the object should refer to an
external color rule. All color rules are kept in one file, referred to
at invocation by the relevant *Environment Variable* \$EDMFILES.

Each system shall name its rules using its official system code (from
Table 1 of the *SNS Device and Signal Naming System Requirements
Documen*t) as its prefix, followed by a short, descriptive text for the
type of device. The rule name ***shall not*** include the actual colors:
the policy for the actual colors is embedded in the rules. Names may not
have embedded white space. Examples of the proper format follow:

FE-Gate-Vlv

CF-Sump-Pmp

The format of a color rule is one or more lines of the C-like statement
format

rule "\<name\>" {

\>=\<minimum\> && \<\<maximum\> : "\<color-name\>" \# \<comment\>

}

where:

> \<name\> is the rule name referred to in the object on the .adl
>
> \<comment\> is explanatory text for this rule
>
> \<minimum\> is the minimum value which selects this color
>
> \<maximum\> is the maximum value which selects this color
>
> \<color-name\> is the real color name text string from the list
> appearing in the EDM color list (see Fig. 2-3b).

Examples:

rule "Alarm" {

\>=-0.5 && \<0.5 : "Monitor: NORMAL"

\>=0.5 && \<1.5 : "Monitor: MINOR"

\>=1.5 && \<=2.5 : "Monitor: MAJOR"

\>2.5 : "purple-47"

}

rule "FE-Vlv" {

\>=-0.5 && \<0.5 : "Monitor: MINOR" \# transition = 00

\>=0.5 && \<1.5 : "FE help" \# closed = 01

\>=1.5 && \<2.5 : "Monitor: NORMAL" \# open = 01

\>=2.5 && \<3.5 : "Monitor: MAJOR" \# fault = 11

}

## Symbol Palettes

The On-line menu selection of the Help button on the menu bar of the EDM
tool main screen provides access to a collection of help files
explaining how to use many EDM features. One of the selections is
"Available Symbols." Choosing this button will cause a file
"availableSymbols.edl" to be displayed. When building screens, a palette
(EDM screen) of standard symbols can be constructed and saved as
"availableSymbols.edl." It can then be referenced from the Help file
button as needed. Alternatively, this screen could only be a menu
selection to provide access to the collection of all symbol palettes
used for a project.

At the time this was written, there was no single project-wide
"available symbols" file in use. Some symbols being used by conventional
facilities are shown in figure 2.3a. Symbols used for vacuum system
screens should comply with the *ASD Vacuum Standards Handbook* (document
no. 102020000-ST0001).

![](media/image7.png){width="6.342361111111111in"
height="4.977083333333334in"}

Figure 2.3a -- Symbol Pallet Used by Conventional Facilities

## Faceplates

Palettes of standard faceplates can also be created to speed up screen
development. One such palette has been created for PID loops and is
shown in Fig. 2-4. These faceplates can be called up as needed in pop-up
mode to adjust setpoints, loop gains, etc., then dismissed, if there is
insufficient room or no requirement for putting one permanently on a
display screen. A set of instructions (see Appendix A) has been prepared
describing how to implement a pop-up version.

Use of faceplates should be considered for any situation where different
data are displayed in the same layout. The Related Display call-up can
be hidden under a graphic element or displayed as a button with a label.

![](media/image8.png){width="6.5256944444444445in"
height="4.177083333333333in"}

Fig. 2-4. PID Loop Faceplate Template Palette with Four Faceplates.

## Version Control

In order to make the screen files (.edl's) compatible with the SNS
Application Development Environment (ADE), the text string \$Id\$ needs
to appear at the beginning of these files. There are a couple of ways to
do this:

-   EDM allows for use of comments at the beginning of .edl files. So
    the string "\$Id\$" can be placed in a header in each .edl file for
    use by CVS/RCS to write version information.

-   Alternatively, a *version item* can be placed on each screen at the
    extreme upper, right corner, consisting of a small (8x8-pixel)
    Related Display Call-up with the Visual attribute "invisible". Using
    \$Id\$ for the "Button Label" argument (see Fig 2-2d) will allow
    bringing up the current CVS/RCS expanded string in either edit-mode
    or run-mode.

\[A more automatic approach to adding the required text string is
planned for a future version of EDM.\]

## Environment Variables

When invoked, EDM uses the following environment variables of the shell:

  ---------------------------------------------------------------------------------------------------------------------
  Variable               Used for                  Example
  ---------------------- ------------------------- --------------------------------------------------------------------
  EDMDATAFILES           Locations of .edl display ./:/ade/epics/iocTop/training/edmScreens
                         files which are           
                         selectable from the Path  
                         drop-down menu on the     
                         main EDM screen menu bar. 

  EDMFILES               Location of fonts.list    /ade/epics/supTop/extensions/ext_pref/edm
                         and colors.list files.    

  EDMOBJECTS             Location of edmObjects,   /ade/epics/supTop/extensions/ext_pref/edm
                         the EDM component object  
                         file.                     

  EDMPVOBJECTS           Location of edmPvObjects, /ade/epics/supTop/extensions/ext_pref/edm
                         the EDM PV component      
                         object file.              

  EDMHELPFILES           Location of the help      /ade/epics/supTop/extensions/src/edm/helpFiles
                         files. Help menu          
                         "On-line" opens           
                         helpMain.edl.             

  LD_LIBRARY_PATH        Search path for shared    /usr/local/ivtools/lib:/ade/epics/supTop/extensions/lib/Linux:/ade
                         libraries                 epics/supTop/base/R3.13.3/lib/Linux
  ---------------------------------------------------------------------------------------------------------------------

## Alarm Status

On EDM screens there are three ways to indicate alarm conditions on text
displays: by making the foreground characters change color, by changing
the color of the background, or by changing the color of a rectangle
around the text. Which of these implementations is used shall be a
design decision. When the foreground characters are set up to change
color, care is required to be sure the background color does not make it
hard to read the displayed string. If the alarm rectangle is used, the
neutral widget background/foreground colors should be used.

The EPICS Alarm Handler extension is a Tcl/Tk-based application for
displaying alarm status information for a large number of process
variables (PVs). These PVs can be grouped into a logical hierarchy and
displayed in a tree structure, much like that used in the Windows
Explorer directory and file browser tool. The EPICS Alarm Handler
displays alarm status and severity information from EPICS records,
generates and displays alarm history and log files, allows the operator
to specify how alarms are to be filtered, and allows the operator to
acknowledge alarms. It uses white, yellow, and red indicators to signal
various alarm states. Extensive documentation is available which
explains use of the Alarm Handler and how to configure it. Figure 2-7a
through Fig. 2-7c show examples of some of the menus to give an idea of
the capabilities of this tool.

![](media/image9.png){width="3.5833333333333335in"
height="2.6041666666666665in"}

Figure 2-7a. Alarm Handler View Menu

![](media/image10.png){width="3.1666666666666665in"
height="1.5729166666666667in"}

**Figure 2-7b. Alarm Handler Action Menu**

![](media/image11.png){width="2.6770833333333335in"
height="1.3958333333333333in"}

**Figure 2-7c. Alarm Handler Setup Menu**.

## Graphic Rules

When animation beyond simple color changes is desired, EDM has graphical
dynamic symbols. A dynamic symbol is created by placing the individual
dynamic "snap-shots" (small drawings) in a special EDM screen (a regular
.edl file). Instructions for creating a dynamic symbol are available in
help files accessible by choosing the "On-line" item in the Help menu.

The special screens holding the definitions of dynamic objects for each
system shall be named using the official system code (from Table 1 of
the *SNS Device and Signal Naming System Requirements Document*) as its
prefix, followed by -Dynamics.edl. For example:

FE-Dynamics.edl

CF-Dynamics.edl

The different states of the dynamic symbol are drawn, then given an
*Element Name*, which should be short and descriptive, but need not be
unique outside of the overall -Dynamics.edl file for that system.

All graphical rules are specified in the symbol widget Properties dialog
box by stepping through the symbol state number and entering the limits
that apply to each state. Note that the first state is an "out-of-band"
symbol.

The screen for FE-Dynamics.edl looks like:

![](media/image12.png){width="2.4270833333333335in" height="1.84375in"}

Figure 2-4: Example Screen Showing a Dynamic Symbol

## Special Functions

EDM supports an Exit/Quit/Close function using the Controls Exit Button
widget. A window can be closed or the program exited (if the radio
button "Exit Program" is selected in the Exit Button Properties dialog
box) by clicking on an Exit/Quit/Close button placed the lower right
corner of the screen.

# SCREEN LAYOUT

## Screen Hierarchy

SNS screens will have five levels: SNS; Subsystem; Area; Device;
Engineering/Debug. The top two are purely navigational; real operation
takes place at the Area level (which is often a P&ID diagram). More
details (suitable for detailed settings and options) appear at the
Device level, but this level does not allow any functions that would be
improper for an operator during typical start-up, running, and
shut-down. The bottom level contains unusual features used only by
engineers and technicians to test and fix problems; typically some
functions at this level would place the devices out of normal range, and
the EPICS access security mechanism should be employed to restrict
usage.

## system Color Assignments

Colors should be used to indicate the system associated with the screen.
System-specific colors are used for:

  ------------- ---------------------------------------------------------
  **Name**      **Comment**

  Canvas        The ultimate background for that subsystem's text and
                widgets.

  Title         Background for that subsystem's (white) *Title*
                lettering.

  Help          Text intended for operator information, that is, not
                referring to any part of SNS physical structure..
  ------------- ---------------------------------------------------------

Seven triads of colors are used to indicate system. In addition, six
diads of colors are used for to indicate "special subsystems". The
special subsystems use their own "Title" and "Help" area colors but use
the canvas color for the system to which they belongs. The indices and
color names assigned to these triads (and diads) are:

  ---------------- -------------------- ------------------- -------------------
  **Subsystem**    **Canvas**           **Title**           **Help**

  Front End        55/FE canvas         56/FE title         57/FE help

  Linac            50/LINAC canvas      51/LINAC title      52/LINAC help

  HEBT/Ring/RTBT   60/RING canvas       61/RING title       62/RING help

  Target           65/TARGET canvas     66/TARGET title     67/TARGET help

  Conv Fac         70/CF canvas         71/CF title         72/CF help

  Global           3/GLOBAL canvas      6/GLOBAL title      9/GLOBAL help

  Vacuum                                53/VAC title        54/VAC help

  Cool                                  58/COOL title       59/COOL help

  Cryogenics                            63/CRYO title       64/CRYO help

  RF                                    68/RF title         69/RF help

  Diagnostics                           73/DIAG title       74/DIAG help

  Controls                              42/CONTROLS title   43/CONTROLS help
  ---------------- -------------------- ------------------- -------------------

See figure 2-2a for "paint chips" showing these colors.

## Title

Each screen shall have a title, consisting of black lettering on a
TITLE-color rectangle placed at the extreme upper-left of the screen. In
most cases the TITLE-color is light enough for the black lettering to
show up more clearly than white. If the TITLE-color is too dark for
black lettering to be clearly visible, then use white as the preferred
alternative.

The preferred title area sizes for each screen level are:

  -----------------------------------------------------------------------
  Level                                          Size
  ---------------------------------------------- ------------------------
  SNS                                            60

  Subsytem                                       48

  Area                                           42

  Device                                         32

  Engineering                                    28
  -----------------------------------------------------------------------

Choice of title size for the highest-level screen was a compromise
between giving visibility across a large room and consuming scarce
screen real estate. For lowest-level screens, font size choice was made
on the basis of legibility. The choice of black (default) or white
lettering for titles needs to be made to provide legibility for
different color choices for the title background. If a single font size
were to be used, a good choice would be 42 and Helvetica Bold. These
choices are also influenced by experience using display monitors with
different dot-pitch values and different screen resolutions.

The width of the title is scaled to the length of the title text string
if the "Autosize" feature is enabled for the Static Text graphic object.
A horizontal line shall be placed at the lower edge of the title
composite, of exactly the width of the screen. The space to the right of
the title composite shall be the preferred location for related display
call-ups for *Navigation,* e.g., for HELP buttons.

The font size used for the title can be linked to screen size or height
of the rectangle used to provide the title background. The EDM Static
Text graphic object has a background color property that can be used to
generate a background rectangle that will then always be properly scaled
for the choice of font size for title text when "Autosize" is enabled.

## Navigation

Each screen shall have suitable related display call-ups to allow, where
appropriate, navigation "along the beam-line," to the higher screen
(which typically called this screen in), and other meaningful options.
These shall be placed as far as practical in the area to the right of
the Title, except that call-ups for lower-level (subsidiary) screens
generally appear below the title-area line. An alternate location for
navigation buttons (e.g., preferred for conventional facilities screens)
is in a row along the bottom of the screen.

## Screen Parent / Child Relationships

Use (enable) the EDM "propagate" property to pass along local arguments
to "child" screens. (Global parameter values are assigned using
arguments provided at the time EDM is first executed).

@@@EDM has no provision currently to close a "parent" screen
automatically when a "child" screen is selected for display. This means
that on occasion high-level screens or screens with old (incorrect)
values for parameters that are passed from "parent" to "child" can
accumulate on the windows desktop and need to be closed or otherwise
removed. From the main EDM screen menu bar, use View \> Screens to
obtain a list of screens that are open. This list can be checked for
multiple instances of a screen, which then can be brought to the
foreground and closed.

The EDM screen editor offers the option to close a "parent" screen
automatically when a "child" screen is selected for display. If this
option is not selected for some screens, then on occasion screens can
accumulate on the windows desktop and need to be closed. From the main
EDM screen menu bar, use View \> Screens to obtain a list of screens
that are open, which then can be brought to the foreground and closed.
This list can also be checked for multiple instances of a screen.

Pressing the middle mouse button brings up a menu selection list that
includes a "refresh" option.

A.  []{#__RefHeading___Toc536840576 .anchor}Instructions For Use Of
    Faceplates

Figure A1 shows a faceplate template screen with four different PID loop
faceplates. The two on the left allow the loop gains to be changed in
addition to the PV setpoint. Faceplates on the right side allow only for
changing the PV setpoint.

![](media/image8.png){width="5.990277777777778in"
height="3.8340277777777776in"}

**Figure A1. PID Loop Faceplate Template Palette with Four Faceplates**.

One of these faceplates can be copied and pasted into a screen or can be
"popped up" as needed using a Related Display widget with the
appropriate widget properties selected. Process variable (PV) names for
the faceplates on the palette are parameterized using the list of
variables described below.

PID: control loop name

PV: process variable name

SP: setpoint name

CO: control output name

PGC: proportional gain (current)

IGC: integral gain (current)

DGC: differential gain (current)

PGN: proportional gain (new)

IGN: integral gain (new)

DGN: differential gain (new)

MX: maximum output

MN: minimum output

ST: scan time (s)

AM: Auto/Manual button

One of the Related Display widget properties is "Macros" where a list
(comma delimited) of the variable "name=value" pairs must be supplied.

An example is described here for using a Related Display to pop up the
faceplate shown in the upper right corner of the template screen in Fig.
A1. The procedure is as follows:

1.  Create an EDM screen containing only the faceplate using copy and
    paste operations to capture and transfer the faceplate from the
    palette screen to the pop-up screen. Give this screen a name using
    "Save As..."

2.  Create a Related Display button, setting the following properties:

    a.  File: Name of the EDM screen containing the faceplate (created
        in previous step)

    b.  Macros: List of "name=value" pairs (See list below)

    c.  Propagate: Enabled

    d.  Set Position: Enabled

    e.  On Focus: Disabled (Enable if true pop-up is desired.)

    f.  Invisible: Enabled

3.  Adjust the size of the Related Display button and hide it behind the
    PID control loop symbol.

4.  Test operation of the Related Display.

"Name=Value" Pairs List (Demonstration Example)

PID=CF_DIWS:T2_PCV4000

PV=CF_DIWS:T2_PT4000:P

SP=CF_DIWS:T2_PCV4000:Set

CO=CF_DIWS:T2_PCV4000:Psn

[^1]: Documentation on the EDM display manager tool is available in the
    ".doc" directory of the EDM CVS tree.

[^2]: EDM Version 1.7 was in use at the time this was written.