4. Commonly Used Programs

4.1 Matlab

Matlab is a commonly used program run on DEC Alphas. Often, instead of analyzing all the data with the SCP, folks write the data to a file and analyze it with Matlab. This is not just for the speed, but also because of Matlab’s (almost) exhaustive library of algorithms to manipulate data. Plus it’s a relatively easy interface to work with and provides a means to write “macro” files which contain lists of Matlab commands, rather like COM files for DCL.

Many Matlab manuals exist in the control room. The User’s Guide and the Reference Guide will probably be most helpful.

Matlab commands have constraints similar to UNIX: they are case-sensitive and truncation of commands isn’t allowed, in contrast to the DCL of OpenVMS.

4.1.1 How to run/stop

As of Sept. 2006, the app-defaults file for Matlab has been discovered as missing or out of date. Until this problem is addressed, you may not want to run Matlab from a SCP without first contacting Ken Brobeck (x2558) or other software staff. Matlab can only be run on DEC Alphas: MCC and MCCDEV. To start Matlab type:

>mat

To get out of Matlab, type: quit, exit, or CTRL-Z.

4.1.1.1 If an XTerm doesn't Pop Up

If Matlab starts up without popping up a little window to tell you it’s starting, or if you issue a plot command and a Figure 1 window doesn’t open, you might need to set the security on the workstation to allow the account you started Matlab from to pop up windows. On the System Manager window, pull down the Options menu and choose Security. Type in your node name, username, and “TCPIP” then hit add then apply. Try again to get Matlab to pop up a window.

If it still doesn’t work, exit Matlab, and from that prompt type:

>set display/create/node=MCCX##

where the MCCX## is the workstation node number, then try again with Matlab.

4.1.2 Common Commands and Help

The tutorial section of the User’s Guide is quite exhaustive and is obviously a better place to go for a more complete list of your options than this document. Matlab has pretty good help. But like most everything else, you kinda have to know what you’re looking for to find it.

You can invoke help command to get help on a specific command. If you just type help, you get a list of libraries. Choose one then type: help library. This will give you a list of the help commands within that library. Now you can use help command to get further information.

Help slc will show you a list of useful, SLC related functions, including database access, history buffer access, fits, plot functions, and printer functions.

There are two uses for Matlab done on a daily basis in the control room: analyzing data taken with the SCP and manipulating history buffers.

Also, consider taking the on-line tour by typing: expomap, especially on graveyard shift.

4.1.2.1 Manipulating Flat (i.e. text) Files

If you take data with either Correlation Plots or Buffered BPM, you can dump it to a file. Then to read this data in from Matlab type:

>>load file_name

where file_name has the file type: MAT. Matlab loads the data from the file into an array called file_name. It makes the array big enough to hold all the data. You can then manipulate the array as needed. To do a simple plot of column 1 versus column 2 of your data type:

>>plot(X(:,1),X(:,2))

where your file name was X. The colon-comma-number nonsense is secret code. Matlab expects row-comma-column within the parentheses after the array name. If you want to specify rows one through ten, type:

>>plot(X(1:10,1),X(1:10,2))

This plots the first ten rows of data plotting column 1 against column 2. But using just the colon without any numbers tells Matlab that you want all rows plotted.

4.1.2.2 Reading in History Buffers

To read in history buffer data, use HSTB_GET:

>>[d,t,l]=hstb_get('filename','prim','micr',unit,'secn','channel')

Where the variables are defined as follows:

d real*8 data as supplied from the history buffer (real*8 is an 8-bit non-integer number)
t real*8 timestamp in days from January 1, 1988
l character text label
filename not necessary anymore, just put a space between the quotes
prim primary (usually ASTS or something similar)
micr micro, LI23 for example
unit integer unit number
secn four character secondary
channel channel name


All are character strings and need to be in single quotes except the unit number.

By the way, I got all of this from help hstb_get. To tell it the start and stop times, use hstb_start and hstb_stop_fn. Hstb_start prompts the user to enter a time. Hstb_stop_fn takes an argument which is the time you want. Now you can plot the data with:

>>plot(t,d)

assuming you used t for the time and d for the data.

A good example these functions in use is the luminosity history buffer analyzing programs on the EOIC_DESK. See section 0 below.

4.1.3 Matlab

4.1.3.1 Damping Ring Tunes

There is a Matlab routine to measure the tunes in the damping rings. Most directories in the control room have a tunes.com file in them. These files set your directory and spawn Matlab. Once in Matlab you type turns. If you don’t happen to have a tunes.com file in the directory you’re currently using, the following commands will do the same thing:

$ set def physics_disk:[drtunes]

$ mat

turns

This runs TURNS.M which prompts you for which ring & plane to measure.

4.1.3.2 Closed-bump Multiknob Files

Another common Matlab routine makes closed-bump multiknobs. This is a routine in the Matlab toolbox. To use it, start Matlab then type bump. It will prompt you for the relevant information (position of bump, size of bump, correctors to use, name of a multiknob file to output to, etc.). See Section 3.6.7 for more on the bump routine.

4.1.3.3 Luminosity Integrators

Lastly, probably the most frequently used routine (when running PEP-II) is one of the many M files that calculate the luminosity for a specified amount of time (such as a shift). Most of these live in the home directory of EOIC_DESK (CTRL$ROOT:[SLCSHR]). Common ones include: lumhist, loom, and lumhst. Some of these make plots. Some not only give you integrated Zs but also the average Z rate, average X and Y size, for example. Check out the files to find one to meet your needs, or write your own.

4.2 ERRLOG and ERRDSP

All global messages and many other FYI type messages get saved in what is called the error log. There are three ways to access this file: with ERRDSP, through the SCP, and with ERRLOG.

4.2.1 ERRDSP

To get a scrolling display of the error messages as they come in, at a DCL prompt from MCC type:

>errdsp

This starts the process. To stop it, type CTRL-Y (see Section 2.12.4) then stop at the prompt.

Once ERRDSP has started, if you type CTRL-C (2.12.4), you are presented with a handful of options. These allow you to customize the output by showing only errors with a specific message code (msg_code), exclude certain sources of errors (exclude), list only errors with a specific destination (dest), list the message with the full time stamp (full_time), list the messages without time stamps (no_time), truncate the error message (truncate), or list all messages including the 20-plus character VAX error code (all_msgs).

4.2.2 SCP Interface to ERRLOG

You can display the last six minutes of messages through the SCP. To get to the ERRORS Panel, from the Index Panel, go to Special Display (lower left hand corner) to the Errors Panel (also lower left hand corner but up one diagonally). The buttons at the top center will start or refresh the display (first page, last page, next page, previous page).

There are five controls to customize the display: (1) a toggle to choose between displaying global messages or not, (2) a toggle to show the message symbol or not, (3) a select-type choice: source, (4) a select-type choice: destination, and (5) a select-type choice: facility. The source and destination choices allow you to type in the four digit “micro” (like LI23 for sector 23 or V004 for Cow 4). The bottom three lines of the panel allow you to choose one or several of the possible facilities. Believe it or not, this panel has help. Check it out for more information.

4.2.3 ERRLOG

Errlog is a program that you run from a DCL prompt from the MCC VAX. To start it, type:

>errlog

To end the errlog program, type exit or CTRL-Z.

At the errlog prompt you can type help to get more information than what’s given here. (The examples in help are really spiffy.)

The basic command within errlog is list. This will list all errors in the log that match the search parameters you have set. To look at the current parameters type show. The command to change parameters is:

ERRLOG> set/parameter=value

Useful and essential parameters include:

/default resets all parameters to default values
/since=time gives start time of listing
/before=time gives end time of listing
/output=file gives file to write listing to (instead of listing to the screen)
/source=name lists only messages from that source, where name is the standard four character micro name or VAX id (V004)
/string=("string1","string2",...) lists only messages that contain one or more of the specified strings
/match AND default is OR. This flag determines if it lists only messages with all strings (AND) or just one of the strings (OR).


As an example, to look at what knobs were tweaked from Cow02 between noon and two this afternoon, type:

ERRLOG>set/sin=12:00/bef=14:00/str=(“V002”,”KNOB”)/match=and

ERRLOG>list

Or you can use list/parameter and save yourself the trouble of the two steps.

If you use the output parameter to write to a file, you need to exit errlog to manipulate the file (like edit, search or print it).

4.3 ARTEMIS and CATER

ARTEMIS (Accelerator Remedy Trouble Entry and Maintenance Information System) is a web-based hardware/software maintenance program which SLAC staff may use to report problems to the appropriate shops and track when and how those problems are solved. Once a problem is entered into the ARTEMIS database, a number is assigned which can be used to track modifications and solutions to the problem. ARTEMIS can not be run from the DCL prompt; it can only be run from a Web browser. The ARTEMIS database (which begins at Artemis number 70076) replaces the previous maintenance program called CATER (which ended at Cater number 70075) but sometimes the two words will be used interchangeably by individuals familiar with both systems (for example, it is common to hear an ARTEMIS entry called “a CATER,” and an ARTEMIS number, a “CATER number.”) CATER itself stood for Computer Aided Trouble Entry and Reporting, and was a program that you could run from any VAX or DEC Alpha. With CATER you could make “reports”, which searched the CATER database for certain parameters. Similarly, the ARTEMIS web-interface includes a detailed, comprehensive search engine of the Artemis database.

To use ARTEMIS, go to http://remedy1.slac.stanford.edu/artemis/ (see Section 2 for login information specific to your machine) and click on the ARTEMIS icon at the upper-left of the screen to login. There are also links to Artemis on the following web pages: the CPE Hardware and Software home pages, the SLAC Detailed Page in the "Working at SLAC, Internal Databases" section, as well as the MCC Operations Reference web page (/grp/ad/op). The ARTEMIS interface consists of Java drop-down menus and entry fields for information such as primaries, micros, unit #s, area managers, and other important information.

However there are some limitations of this new program. Because it uses Java Applets, ARTEMIS will not behave correctly with all browsers. Presently, supported browsers include Internet Explorer (I.E.) 5.5 or greater on Windows XP and Netscape 6.2.3 on UNIX. On UNIX you can run this version of Netscape by entering netscape-6 on the shell command line.  The supported browser for Mac OS 10.2 is Netscape 7.0x. Further information about browser support, account information, and login information can be found on the ARTEMIS FAQ page at http://remedy1.slac.stanford.edu/artemis/Docs/Faq.html.

4.4 Camcom

Camcom is a program that allows interactive commands to be sent to CAMAC crates and modules from a terminal session (not through the SCP). The interface is a lot like ERRLOG. It “feels” like DCL and one “sets” the qualifiers, then executes the commands.

4.4.1 Camcom References

There are a couple existing introductions to Camcom. One is by Keith Jobe, written in 1990, entitled Camcom> an introduction by Keith Jobe. The other is by Keith, D. Thompson, and B. Young entitled CAMCOM Reference Manual. This is an official Accelerator Department Document, number SLAC-I-040-20300-014. It lives in a green binder in the control room. It was written in 1988. (I put a copy of the 1990 write up in the green binder. Shh! Don’t tell Cheryl.)

Both of these documents contain nice tables of possible Camcom commands and qualifiers as well as examples of pretty nifty things one can do. Camcom also has on-line help if you ever get confused about your choices.

4.4.2 How to start/stop

The Camcom executable is started by typing camcom at a prompt from a session logged into MCC. The executable can also be reached from MCCDEV, but not all the micros are connected to the MCCDEV DEC Alpha. Something to think about.

When you’re done, just type exit or CTRL-Z to leave and stop the program.

4.4.3 Common Commands

First, you need to specify which micro, crate, and module you want to talk to. This is done with:

CAMCOM>set/branch=micro/crate=number/module=number

The most obvious weirdness about this command is that the micro is called a branch. The other piece of necessary location information is the so-called subaddress. For a device with 16 channels, the subaddresses are numbered 0-15 to correspond to the 16 channels. The subaddress is selected with:

CAMCOM>set/address=number

Now the fun begins. Choose a function code to do what you want. Function codes 0-7 are for read commands and 16-23 are for write commands. Don’t know the necessary function code? Check out the SLC Hardware Manual. If you can’t find a hard copy, the information can be found on-line in the doc$hardware directory (or from the software department’s Web page). Find the section on the module of choice and look up the appropriate function code. To set the function code type:

CAMCOM>set/f=number

Once you’ve got all this lined up, just type do and Camcom executes your function code to the branch, crate, module, and address as previously specified. If your function code is a write command, Camcom will prompt you for the data, or you can supply it yourself with set/data=value.

Once you set a parameter it “sticks” for the remainder of your Camcom session so you don’t have to retype it all the time.

To find out which parameters are set, type show. This lists the parameters and their current values.

A convenient short cut is to just supply all this information with the do command:

CAMCOM>do/br=li14/cr=1/m=2/a=10/f=0

A few modules require a so-called pack code which determines how many “byte packets” are used to send the data (i.e. if the number is coded with 1, 2, or 4 bytes). This is given as a qualifier /pn where n= 8, 16, 24, or 32. The hardware manual should tell you if you need to change the pack mode from the default to communicate with the desired module.

4.4.4 CAMCOM Macro Files

One can set up a DCL COM file to invoke Camcom and execute commands that are done frequently or regularly or are just too painful to type in more than once. The Camcom references have useful examples of these. A quickie example might look like:

$ ! Expected parameters are branch, crate, and module

$ IF P1.EQS."" THEN INQUIRE P1 "BRANCH"

$ IF P2.EQS."" THEN INQUIRE P2 "CRATE"

$ IF P3.EQS."" THEN INQUIRE P3 "MODULE"

$ CAMCOM

SET/BR='P1'/CR='P2'/MO='P3'

DO/P16/F=17/QUIET

DO/LONG/F=0/NOQUIET

EXIT

$EXIT


This file will be type COM and is invoked from DCL with @filename.

4.4.5 Matlab

To move a stepper motor n steps type:

CAMCOM>do/br=#/cr=#/m=#/p24/BCNT=4/f=16/data=n/hex

To change the speed of the stepper type:

CAMCOM>do/f=17/data=n/hex

where n is a hex number between 6000 and 60FF.

To determine the crate and module information with the minimum amount of fuss, select the stepper off a STEP panel, then go to the magnet diagnostic panel. The crate and module information is in the upper left hand corner next to the letters STP. (This is also true for other magnets and magnet-type devices.)

4.4.6 Testing the 16-Channel Sound Alarm

Another useful (?) Camcom procedure tests the 16-Channel Sound Alarm next to COW04. The easiest way to do this is to run the COM file with all the necessary commands:

>@SLCCOM:ANNUN_TEST

What this COM file does is start Camcom, select the IDOM connected to the Alarm, then cycles through pulsing each of the 16 channels.

$! annun_test.com

$Camcom

set/br=mc00/cr=3/mod=07/hex

d/f=19/data=0001

sleep 900

d/f=19/data=0002

sleep 900

.

.

.

d/f=19/data=2000

sleep 900

d/f=19/data=4000

sleep 900

d/f=19/data=8000

sleep 900

exit

$exit

sleep tells Camcom to wait 900 ms before executing the next command. The data corresponds to channels 1-16 where the actual data is 2 to the n-1 power where n is the channel number. (This gives the series: 1,2,4,8, etc.) in hexadecimal.

4.5 Access

4.5.1 General Information at a Glance

File type ACCESS
Edit COM file editaccess
Reference directory REF_ACCESS
CMS protected? (Need MCCDEV?) YES
Compile Command none
CMS library name CMS_ACCESS
References On-line help access at DCL prompt



4.5.2 General Information (Verbose)

Access is a program on MCC that allows both a batch job interface and an interactive interface to manipulate magnets and enable or disable devices on the SDS CUD. The most common usage of Access is to turn on or off a region of PPS hazards. This is done by pushing a button on the SCP which spawns a batch job which runs an Access file.

4.5.3 Running Access Interactively

Access, like ERRLOG and Camcom, is a program that once it is executed it gives you a prompt. At this prompt you set parameters, then execute the desired commands. To start Access type:

>run slcimage:access

SLCIMAGE is a logical pointing to a specific disk space and is the same as SLC_IMAGE.

To stop running Access, type exit. If you CTRL-Z, you will get out of Access, but it crashes, which is less graceful.

4.5.4 Common Commands

Within Access typing help will give you an overview of the available commands.

To choose which magnet-type device you want to manipulate, you need to specify its primary, micro, and unit number. This is done with the set command:

ACCESS>set/prim=LGPS/micr=LI14/unit=1

If you want to specify more than one value for these parameters, you use parentheses:

ACCESS>set/prim=LGPS/micr=(DR02,DR12)/unit=(1,2,3,4,5)

The set command will replace the current values of the parameters. If you wish to add to the list of values, use the add command:

ACCESS>set/prim=LGPS/unit=1/micr=(LI02,LI03,LI04,LI05,LI06,LI07)

ACCESS>add/micr=(LI12,LI13,LI14,LI15,LI16,LI17)

This is useful when your list is too long to fit on one line.

To specify a digital-type device, you need to supply primary, micro, unit, component, and state. The component and state values must be exactly eight characters enclosed in quotes.

ACCESS>set/prim=ACCC/micr=DR13/unit=51

ACCESS>set/component="HV "/state="OFF "

To make sure you have the right parameters set, use show. This will list what device(s) you’re going to act on. Now it’s time to take action.

The following commands are executed by typing the four letters after the Access prompt followed by a return:

Command:

Functional Description:

LGON turns on requested LGPS
LGOF turns off requested LGPS
LGNM turns on the LGPS in normal polarity
LGRV turns on the LGPS in reverse polarity
PSOF turns off all requested BitBus power supplies
PSON turns on all requested BitBus power supplies
PSRS resets all requested BitBus power supplies
PSZR zeros the DACs of all requested BitBus power supplies
BKON turns on the South Damping Ring bulk supplies
BKOF turns off the SDR bulk supplies
ARON turns on the special arc magnet power supplies
AROF turns off the special arc magnet power supplies
DSTS sets the requested digital device component to the specified state
ZERO zeros the DACs of all requested magnet units
PTRB perturbs the magnet like a knob instead of trimming
MODU controls SBST, KLYS, and DKLY devices, valid qualifiers are /reset, /off and /on
CAU executes a Channel Access record command (see below)

----->


One can also calibrate, standardize, and trim magnets. These commands are:

CALB calibrates requested magnet units
STDZ standardizes requested magnet units
TRIM trims requested magnet units


If you want Access to wait a specific amount of time after executing these commands before executing the next command (i.e. make it wait for the micro to say it’s done), use the /timeout modifier:

ACCESS>trim/timeout=10000

The value is in milliseconds (the example is for 10 seconds). There is also a wait command to cause Access to sleep for the time specified by timeout.

ACCESS>wait/timeout=value

If you want to change the desired value of a magnet before trimming or standardizing, this is done as follows:

ACCESS>entr/desired=value

where value is in the standard BDES or VDES units. This actually changes the database and should be used with the same caution as knobbing or entering DES from the touch panel.

You can also enable and disable devices from the SDS CUD (the Summary Informational Process, “SIP”, display). When the devices are disabled they don’t show up as red, instead a white star is put in the lower right hand corner of the box. This state is used when turning devices off before setting access to a PPS area. Enabling a device puts it back to normal, gets rid of the star, and if the device goes red, it will once again show up.

ACCESS>sip/disable

ACCESS>sip/enable

These affect the device(s) as specified with set and add. One can also enable sip/disabled devices from the SDS CUD panel. Select the devices then hit ENABLE.

If you want access to exit at the completion of the current function, use /exit:

ACCESS>trim/exit

4.5.5 ACCESS with EPICS Devices

The command for dealing with EPICS channels is CAU. An example of its use is:

ACCESS>cau/channel=LR45:HVPS:VOLT:CTRL/state=45.9

Each of the channel’s sub-fields can be modified by using FLD# qualifiers:

ACCESS>set/fld1=LR45

ACCESS>set/fld2=HVPS

ACCESS>set/fld3=VOLT

ACCESS>set/fld4=CTRL

SET/COMPONENT=... specifies the Channel Access component. It’s default value is VAL.

The /STATE qualifier specifies the Channel Access record state.

4.5.6 Files of Access Commands

Many times, the same commands are issued time and again (i.e. the NDR off batch job). For these instances, running Access interactively is possible, but not really the ideal solution. Instead, there are files, with the extension ACCESS, that contain a standard header (doc$standards:stds_vax_access.header) and a list of access commands. These files are in CMS but a reference copy lives in the read-only directory: ref_access.

4.5.7 EditAccess

As with other CMS protected files, there exists a nice COM file, editaccess, which when run, will do all the SlcCMS commands for you and save you the trouble. Like with the other edit com files, you give the file name that you want to edit, and if you have privilege, it will reserve you a copy, and pull up the file with the EVE editor. Once you’re done, type CTRL-Z, it will then prompt you to replace-if-changed the file in the CMS library.

Vital statistics for Access CMS stuff:

file type: ACCESS

reference directory: ref_access

CMS library: cms_access



4.5.8 Testing your Access Script

You may test ACCESS scripts by typing the following command:

>@SLCCOM:ACCESS_TEST file_name

The REF_ACCESS directory and .ACCESS file extension are assumed. It won’t execute any functions but will check for syntax errors, but not whether you’re executing a digital command on a magnet device.

4.5.9 Panel Code to Call Access Command Files

To have an Access command file execute from the SCP, you spawn a batch job, which runs Access and feeds it the commands from your file. This is all taken care of with the following:

SPAWN : #,#,<18char label>,btn_name,@SLCCOM:ACCESS file_name

Here file_name is the file name without the .access extension. SLCCOM:ACCESS.COM first prompts the user if they “Really want to do this,” then submits REF_ACCESS:ACCESS.SUBMIT with the file name as the parameter. ACCESS.SUBMIT then runs SLCIMAGE:ACCESS and feeds it your commands from the file. After all is said and done, the COW that submitted the batch job is notified.

4.5.10 How to Tell if Your Job is Still Running

On many panels (about 30) associated with Access jobs you’ll find a button with the label “SHOW STDZ/ACCESS.” This button spawns a COM file (SLCCOM:SHOW_ACCESS.COM) which does a sh que/a slcbatch and lists the jobs (not started by SLCSHR) in the DECterm that started the SCP.

4.5.11 How to Delete Your Job if Necessary

On the Operator Maintenance Index is a button labeled “DEL BATCH JOB.” This button spawns a COM file (SLCCOM:DEL_ BATCH.COM) which runs the show_access COM file (see above) then prompts you for the entry number of the job you want to delete. Type in the entry number from the show queue display. The COM file now executes the command:

$ DELETE/LOG/ENTRY='ENTRY_NUMBER' SLCBATCH

If needed, you can type this command yourself from any DECterm to delete your job is you don’t want to use the button on the SCP.

4.5.12 Help File Code to Reference Access Files

There is a spiffy feature that when you press HELP, then the batch submit button, on the SCP, it lists the contents of the access file that will be submitted. To have this occur, type the following two lines in the help file associated with that panel:

2 BTN_NAME

$Please try TYPE SLCACCESS:name.ACCESS

btn_name is from the panel code (see section 0 above) and name is the file name. (The “Please try TYPE” stuff has to be there. Some software person was apparently feeling polite the day they coded this.)

You don’t need to do this every time you edit an access file. You only need to do this when you create new buttons that spawn Access. See Section 3.5 for help with editing help files.

4.6 Warslcx

WARMSLCX is a COM file which kills or kills and restarts SLC control processes. These processes run in batch or as detached processes from the SLCSHR account. (This section will be revised in the future).

4.6.1 Matlab

To warmslcx a process, from an EOIC_DESK DECterm, type:

>warmslcx process_name/qualifier

process_name is the name as given on the Micro Status Display from the Network Index. The qualifier is either kill or restart. Usually if one of these processes is missing or bad, it shows up on the System CUD. These processes need to be warmslcx’d if we need them. Other times to consider warmslcxing a process is when a particular CUD display stops working, updating, or displaying in the manner you want it to. Lastly, call a software person if you’re ever in doubt.

An example of this is to rescale the four hour luminosity CUD display when the limits get dorked by an absurdly high scan:

EOIC_DESK> warmslcx rtplot /restart

4.6.2 Descriptions of Processes that Commonly Get Warmslcx'd

KLYSTRON updates the klystron CUD
SIPMAIN updates the SDS CUD and the old MPS CUD
SLCORBIT updates the SLC ORBIT CUD (the one with jitter numbers and luminosity on the bottom
RTPLOT updates the CUD that display history buffers (luminosity, electron and positron toroids)
TUNE_SRVR updates the values for the DR tunes in the database


Other processes can get warmslcx’d by control room staff when they show up red on the SYSTEM CUD during off hours.

4.6.3 How to Change the BPM Sampler

When we change machine modes, different BPMs and TOROs need to be sampled by the BPM SAMPLER for history buffer purposes. Lucky for us, it’s only four steps:

1. From MCC, set default slcbs_lists

2. Look for the .dat file you want to get scheduled or deleted

3. Edit slcbs_ctrl:bpm_sampler.ctrl and add or delete the line to schedule your DAT file

4. From EOIC_DESK or SLCSHR, warmslcx BPMSAMPL /restart

Sometimes you might find it easier to skim through the bpm_sampler.ctrl first to see if your line is just commented out and needs to be uncommented, rather than looking through all the slcbs_lists for the DAT file of choice.

4.7 POLL0 and DISP86

POLL0 (poll-zero) is a program which ran on the Ambassador (see Section 2.2), and was located in the rack next to the site power meter. POLL0 talked to each micro in turn and if it got no response three tries in a row, it deleted that micro from its list of micros to poll. If this happened, the micro needed to be IPLed. While the Ambassador is obsolete, the process of micro-polling is still important and used on the active nodes (MCC & MCCDEV) using DISP86. The DISP86 function is a polling program that executes from a DECterm as follows:

>disp86 micro_name

Once DISP86 polls the single micro specified, you’ll notice the top diagnostic line “0 POLL” relates the poll rate (micro response) to the user. If the POLL is zero, the micro needs to be IPLed. In addition to the POLL being zero, DISP86 will display “NETWORK ERROR” in the upper-left of the DECterm window. Once the micro is IPLed, the POLL should increase to several thousand. Below the POLL are several columns of additional information about the micro. Future revisions of this document will discuss those in detail.

4.8 Documentation Directories

Many of the control system help documents live on-line in a doc$ directory. Examples:

doc$:[000000] general docs with the following as subdirectories
doc$bug The Basic User’s Guide
doc$poop The Principles Of Operations
doc$how_to software how_to documents
doc$hardware SLC Hardware manual/CAMCOM documents
doc$standards code standards and header files


These directories contain files with some really weird extensions. The easiest to read or print are the MEM files or the DOC files. The second easiest to read are the RNO files. (RNO stands for Runoff. It is a text formatting program provided by DEC. The input files to Runoff have file type RNO and contain many control sequences to tell Runoff how you want the text formatted. The default output of running Runoff on a RNO file is a file with type MEM. These are ready to be printed. In many documentation directories however, it is specified that the Runoff output be a DOC file. Thus DOC and MEM are pretty equivalent and easy to read, but in the RNO file you have to read around the control sequences. P.S. I got all this information with help runoff on the VAX.)