Differences between revisions 2 and 3
Revision 2 as of 2017-10-31 10:02:44
Size: 9552
Editor: MarkBarton
Comment:
Revision 3 as of 2017-10-31 10:07:15
Size: 9556
Editor: MarkBarton
Comment:
Deletions are marked like this. Additions are marked like this.
Line 76: Line 76:
Line 88: Line 89:
Line 94: Line 96:
Here and in the sections below, we use the text-editor view.
The $(macro) syntax represents substitution of the value of the macro variable macro.
The macro=value syntax represents macro values being passed to a related screen.
The related screen inherits no macros by default, and any that need to be passed unchanged need to be specified
 * Here and in the sections below, we use the text-editor view.
 * The $(macro) syntax represents substitution of the value of the macro variable macro.
 * The macro=value syntax represents macro values being passed to a related screen.
 * The related screen inherits no macros by default, and any that need to be passed unchanged need to be specified
Line 99: Line 101:
The macro names and values are case sensitive, and often come in pairs with different capitalization, e.g., IFO=H1  * The macro names and values are case sensitive, and often come in pairs with different capitalization, e.g., IFO=H1
Line 101: Line 103:
$(USERAPPS) is a macro defined as the path to the release section of the checkout of the cds_user_apps SVN,  * $(USERAPPS) is a macro defined as the path to the release section of the checkout of the cds_user_apps SVN,
Line 103: Line 105:
Most screens are suspension-type-specific and live in the following directories (some chamber-specific screens, e.g.,
SUS_AUX_EX_OVERVIEW.adl live one level above):
$(USERAPPS)/sus/common/medm/quad
$(USERAPPS)/sus/common/medm/bsfm
$(USERAPPS)/sus/common/medm/hxts
$(USERAPPS)/sus/common/medm/omcs
$(USERAPPS)/sus/common/medm/tmts
$(USERAPPS)/sus/common/medm/haux
$(USERAPPS)/asc/common/medm/asctt (note: asc)
Most screens are generic to a whole suspension type and are particularized for individual suspensions via a
 * Most screens are suspension-type-specific and live in the following directories (some chamber-specific screens, e.g.,
 * SUS_AUX_EX_OVERVIEW.adl live one level above):
 * $(USERAPPS)/sus/common/medm/quad
 * $(USERAPPS)/sus/common/medm/bsfm
 * $(USERAPPS)/sus/common/medm/hxts
 * $(USERAPPS)/sus/common/medm/omcs
 * $(USERAPPS)/sus/common/medm/tmts
 *
$(USERAPPS)/sus/common/medm/haux
 * $(USERAPPS)/asc/common/medm/asctt (note: asc)
 * Most screens are generic to a whole suspension type and are particularized for individual suspensions via a
Line 114: Line 116:
The %(read ...) syntax in the args="..." line reads argument values from a text file.
The macro files live at:
$(USERAPPS)/sus/common/medm/ for SUS except TipTilt
$(USERAPPS)/asc/common/medm/ for TipTilt
The macro files have names like
sus*_overview_macro.txt for SUS except TipTilt, *=name of suspension, e.g., itmx
asc*_overview_macro.txt for TipTilt, *=name of suspension, e.g., rm1
The macro files are site-independent and do not contain values for SITE/site/IFO/ifo. These need to be passed
 * The %(read ...) syntax in the args="..." line reads argument values from a text file.
 * The macro files live at:
 * $(USERAPPS)/sus/common/medm/ for SUS except TipTilt
 * $(USERAPPS)/asc/common/medm/ for TipTilt
 * The macro files have names like
 * sus*_overview_macro.txt for SUS except TipTilt, *=name of suspension, e.g., itmx
 * asc*_overview_macro.txt for TipTilt, *=name of suspension, e.g., rm1
 * The macro files are site-independent and do not contain values for SITE/site/IFO/ifo. These need to be passed
Line 123: Line 125:
Page 76 of 466
aLIGO: Suspensions/OpsManual/MEDM (last edited 2014-05-27 09:06:26 by MarkBarton)
in explicitly.
Line 136: Line 136:
Line 137: Line 138:
Line 139: Line 141:
name="$(USERAPPS)/sus/common/medm/haux/SUS_CUST_HAUX_OVERVIEW_all.adl"
args="%(read
$(USERAPPS)/sus/common/medm/susimall_overview_macro.txt),USERAPPS=$(USERAPPS),SITE=LHO,site
 * name="$(USERAPPS)/sus/common/medm/haux/SUS_CUST_HAUX_OVERVIEW_all.adl"
 * args="%(read
 * $(USERAPPS)/sus/common/medm/susimall_overview_macro.txt),USERAPPS=$(USERAPPS),SITE=LHO,site
Line 143: Line 145:
Line 144: Line 147:
Line 150: Line 154:
Line 151: Line 156:
Since the called screen lives in the same directory, the path information can be omitted.
In addition to the suspension-specific macros in the macro file, USERAPPS and the four standard site-specific macros
 * Since the called screen lives in the same directory, the path information can be omitted.
 * In addition to the suspension-specific macros in the macro file, USERAPPS and the four standard site-specific macros
Line 154: Line 159:
From a generic suspension screen to a summary screen
Some suspension types like HAUX have summary screens showing an overview of all suspensions of that type. These have
 * From a generic suspension screen to a summary screen
 * Some suspension types like HAUX have summary screens showing an overview of all suspensions of that type. These have
Line 157: Line 162:
name="SUS_CUST_HAUX_OVERVIEW_all.adl"
args="%(read
$(USERAPPS)/sus/common/medm/susmc1_overview_macro.txt),USERAPPS=$(USERAPPS),SITE=$(SITE),si
te=$(site),IFO=$(IFO),ifo=$(ifo)"
 * name="SUS_CUST_HAUX_OVERVIEW_all.adl"
 * args="%(read$(USERAPPS)/sus/common/medm/susmc1_overview_macro.txt),USERAPPS=$(USERAPPS),SITE=$(SITE),site=$(site),IFO=$(IFO),ifo=$(ifo)"
Line 162: Line 166:
In the usual case that the called screen lives in the same directory, the path information can be omitted.
In addition to the suspension-specific macros in the macro file, USERAPPS and the four standard site-specific macros
 * In the usual case that the called screen lives in the same directory, the path information can be omitted.
 * In addition to the suspension-specific macros in the macro file, USERAPPS and the four standard site-specific macros

KAGRA VIS Operations Manual - MEDM Screens

LIGO Version - Edit Me!!!

Information on MEDM screens for Suspensions

Back to Operation Manual main page

MEDM is a system for creating user interface screens that can display and set EPICS channels. It provides for many standard UI elements including read-only and read-write text fields, dials, sliders, buttons, etc. See the MEDM documentation for detailed info. Screens are defined by text files with extension .adl. The medm program allows screens to be edited in a GUI which is approximately WYSIWYG (what-you-see-is-what-you-get). (However due to limited support for cut and paste, some changes are more easily made with a plain text editor such as gedit.)

MEDM supports generic screens, which are customized on the fly by arguments passed in by the screen which invokes them. See [[#CallingConventions]|Calling Conventions] below for information on the recommended argument list for SUS screens. The medm main window has an Execute button which is meant to make a newly created/edited screen live and start it displaying EPICS data. However because of the extensive use of generic screens, it is rarely much use. Rather it is necessary to start at the so-called SITEMAP screen for a site in a separate, execute-only instance of medm and click through to the screen being edited. See below.

Screens of Importance

SITEMAP

The SITEMAP is the master MEDM screen for an entire site. It can be accessed with the sitemap command, or via various GUI shortcuts. It has a large number of buttons linking to screens for individual suspensions and other subsystems of interest.

The traditional location for the SITEMAP at /opt/rtcds/${site}/${ifo}/medm/SITEMAP.adl. The terminal command sitemap is defined to open the screen at that location. However it should not be edited directly because it is a symlink to a version-controlled file at /opt/rtcds/userapps/release/cds/${ifo}/medm/SITEMAP.adl.

The version-controlled copy should only be edited with extreme care and following consultation with CDS personnel. Most other screens cannot usefully be opened except directly or indirectly from the SITEMAP, because they rely on macro arguments passed in, so breaking the SITEMAP breaks MEDM for everyone.

As of 4/4/13 at LLO and 4/30/13 at LHO, most of the macro arguments for SUS screens were offloaded from the SITEMAP.adl file to separate per-suspension files (see below). (However the location of those files is still specified in the SITEMAP.)

For more, see HowToEditTheSitemapMedmScreen

Custom Screens

Most SUS MEDM screens are hand-made custom ones which are generic to all suspensions of the same type (QUAD/BSFM/etc) and are particularized to an individual suspension by macro arguments. The common screens for most suspension types live at /opt/rtcds/userapps/release/sus/common/medm/ in subdirectories quad, bsfm, hxts, omcs, tmts and haux.

Tip-Tilts (HTTS) are owned by ASC and files for them live at /opt/rtcds/userapps/release/asc/common/medm/asctt (note: asc).

HSTS and HLTS are similar enough to be handled by a single set of "HXTS" screens.

The macro files live in the top-level directory /opt/rtcds/userapps/trunk/sus/common/medm and have names of the form sus${susid}_overview_macro.txt, e.g., susetmx_overview_macro.txt.

Automatically Generated Screens (especially *_GDS_TP and *_IOP_TP)

When a model is compiled, a large number of MEDM screens are automatically generated by RCG and placed in directories /opt/rtcds/${site}/${ifo}/medm/${site}sus${susid} e.g., /opt/rtcds/lho/h1/medm/h1susmc2/

Most of the custom screens were created originally by cutting and pasting elements from the automatically generated screens into more convenient arrangements.

Of the automatically generated screens about the only one that is normally used as-is is the GDS_TP screen, which gives an overview of housekeeping info like the CPU ID of the computer running the model, the loop time, the GPS time (as reported by the model), the ADC, DAC and test point status, etc:

/opt/rtcds/${site}/${ifo}/medm/${site}sus${susid}/${SITE}SUS${SUSID}_GDS_TP.adl /opt/rtcds/lho/h1/medm/h1susmc2/H1SUSMC2_GDS_TP.adl

The IOP_TP screen gives similar information for the IOP process running on the same computer, and can be found in the automatically generated screens for the IOP model, e.g., /opt/rtcds/lho/h1/medm/h1iopsush34/H1IOPSUSH34_GDS_TP.adl for h1susmc2.

See the [Detailed Overview] link on the SITEMAP for info on which IOP model corresponds to which suspension model.

Calling Conventions

An MEDM screen can allow for the opening of a second one by having a "Related Display" button (or a popup menu of them). In the dialog that allows setting the properties of the button/popup, there are fields "Display File" and "Arguments". These show up in the underlying .adl file as a pair of lines that look like

name="$(USERAPPS)/sus/common/medm/hxts/SUS_CUST_HXTS_MONITOR_OVERVIEW.adl" args="%(read $(USERAPPS)/sus/common/medm/susmc1_overview_macro.txt),USERAPPS=$(USERAPPS),SITE=$(SITE),si te=$(site),IFO=$(IFO),ifo=$(ifo)"

Note:

  • Here and in the sections below, we use the text-editor view.
  • The $(macro) syntax represents substitution of the value of the macro variable macro.
  • The macro=value syntax represents macro values being passed to a related screen.
  • The related screen inherits no macros by default, and any that need to be passed unchanged need to be specified

explicitly with IFO=$(IFO) or the like.

  • The macro names and values are case sensitive, and often come in pairs with different capitalization, e.g., IFO=H1

and ifo=h1.

  • $(USERAPPS) is a macro defined as the path to the release section of the checkout of the cds_user_apps SVN,

/opt/rtcds/userapps/release.

  • Most screens are suspension-type-specific and live in the following directories (some chamber-specific screens, e.g.,
  • SUS_AUX_EX_OVERVIEW.adl live one level above):
  • $(USERAPPS)/sus/common/medm/quad
  • $(USERAPPS)/sus/common/medm/bsfm
  • $(USERAPPS)/sus/common/medm/hxts
  • $(USERAPPS)/sus/common/medm/omcs
  • $(USERAPPS)/sus/common/medm/tmts
  • $(USERAPPS)/sus/common/medm/haux
  • $(USERAPPS)/asc/common/medm/asctt (note: asc)
  • Most screens are generic to a whole suspension type and are particularized for individual suspensions via a

combination of macro text files and macros=value.

  • The %(read ...) syntax in the args="..." line reads argument values from a text file.
  • The macro files live at:
  • $(USERAPPS)/sus/common/medm/ for SUS except TipTilt

  • $(USERAPPS)/asc/common/medm/ for TipTilt

  • The macro files have names like
  • sus*_overview_macro.txt for SUS except TipTilt, *=name of suspension, e.g., itmx

  • asc*_overview_macro.txt for TipTilt, *=name of suspension, e.g., rm1

  • The macro files are site-independent and do not contain values for SITE/site/IFO/ifo. These need to be passed

in explicitly.

Currently USERAPPS is the only macro guaranteed to be defined in SITEMAP.adl (it is passed in with the -macro argument of medm by the sitemap alias). SITE/site/IFO/ifo have to be given explicit values (LHO/lho/H1/h1 or the like). There is a proposal afoot to add more macros to the standard set, but since the SITEMAPs are highly site-specific in any case, it's not a big deal. From the SITEMAP to a generic screen particularized for a single suspension SUS screens in the SITEMAP should be called per the following example (the main screen for ITMx): name="$(USERAPPS)/sus/common/medm/quad/SUS_CUST_QUAD_OVERVIEW.adl" args="%(read $(USERAPPS)/sus/common/medm/susitmx_overview_macro.txt),USERAPPS=$(USERAPPS),SITE=LHO,site= lho,IFO=H1,ifo=h1"

From the SITEMAP to a summary screen for all suspensions of the same type

Some suspension types like HAUX have summary screens showing an overview of all suspensions of that type. These have special macro text files with only the common information:

  • name="$(USERAPPS)/sus/common/medm/haux/SUS_CUST_HAUX_OVERVIEW_all.adl"
  • args="%(read
  • $(USERAPPS)/sus/common/medm/susimall_overview_macro.txt),USERAPPS=$(USERAPPS),SITE=LHO,site

=lho,IFO=H1,ifo=h1"

From one generic suspension screen to another

Copy the following example (SUS_CUST_HSTS_OVERVIEW.adl, with say, optic=mc1, is calling SUS_CUST_HXTS_MONITOR_OVERVIEW.adl): name="SUS_CUST_HXTS_MONITOR_OVERVIEW.adl" args="%(read $(USERAPPS)/sus/common/medm/sus$(optic)_overview_macro.txt),USERAPPS=$(USERAPPS),SITE=$(SIT E),site=$(site),IFO=$(IFO),ifo=$(ifo)"

Note:

  • Since the called screen lives in the same directory, the path information can be omitted.
  • In addition to the suspension-specific macros in the macro file, USERAPPS and the four standard site-specific macros

need to be passed in unchanged.

  • From a generic suspension screen to a summary screen
  • Some suspension types like HAUX have summary screens showing an overview of all suspensions of that type. These have

special macro text files with only the common information:

  • name="SUS_CUST_HAUX_OVERVIEW_all.adl"
  • args="%(read$(USERAPPS)/sus/common/medm/susmc1_overview_macro.txt),USERAPPS=$(USERAPPS),SITE=$(SITE),site=$(site),IFO=$(IFO),ifo=$(ifo)"

Note:

  • In the usual case that the called screen lives in the same directory, the path information can be omitted.
  • In addition to the suspension-specific macros in the macro file, USERAPPS and the four standard site-specific macros

need to be passed in unchanged.

KAGRA/Subgroups/VIS/OpsManual/MEDM (last edited 2017-10-31 11:31:04 by MarkBarton)