May 23, 2019

Grinder - pilot startup

The pilot opens a bunch of windows and starts different pieces of the oven software in each of them. It is important to know this aspect of things to understand how the software works in actual use. Most of this is extracted from the "pilot_login" document, which is part of the help package that comes along with scopes.furnace. That document has a lot more detail that I am skipping here, particularly with regard to troubleshooting and verification. My intent is just to have a birds eye view of what software actually runs during a typical casting.

In normal operation, the pilot logs in using the pilot account on the old sun named "crater". A second sun is available as a hot spare, and there are special considerations involving that which are not covered here. The pilot login has been preconfigured to start a number of windows and GUI, the ones important to this discussion are:

Blue window

The blue window is first used to set up the three shared memory segments. This is done by starting (and exiting) the oven task for each.
oven ncomp=0        (Exit)
oven ncomp=1        (Exit)
oven ncomp=2        (Exit)
Before doing the exit, the "Database" menu is used to read parameters from disk, thus loading the database in shared memory. Alternately, parameters can be read "from the oven" via a menu entry, loading the database in shared memory from the V computer on the oven. This may be best, as it will yield proper clock values.

Note that "readonly=no" is apparently the default for the pilot, which makes it possible to create the segments if needed. Also note that oven.remove=no is required to create a permanent shared memory segment.

After this is done, the blue window is used to create a number of "daemon" tasks, and finally to start an instance of the oven task to provide the menu interface to the oven software.

ovenp &
ovenb &
ovend &
oven readonly=no
The final line runs the menu system, talking to computer 0 (oven0v0). It should show updated information every minute.

Ovenp is the oven parameter daemon.
Ovenb is the oven bi-parameter daemon.
Ovend is the oven data gatherer and logger. It is vital. It harvests data from the V computer, updates the database, and writes the IRAF data files.

The function of ovenp and ovenb is surprising. You can read about it at the following link.

Red window

The red window is used to run error daemons (including the "gong"). And finally it runs an oven menu interface as well. The menu interface is adjusted to display the error log.
ovene ncomp=0 offset=10 &
ovene ncomp=1 offset=11 &
ovene ncomp=2 offset=12 &
oveng &
oven offset=14

Purple window

This is used to run the oven "cron" task. Once this is running, it should display data using ograph and odisp at appropriate intervals. The data from "odisp" will appear in the ximtool window.
ovenc &
This "task" is a CL script (ovenc.cl).

Green window

This is only important during fast rotation. The purpose is to log the measured rotation speed every 6 seconds. They run the "ovenr" daemons.

Note the fact that two oven computers know about rotation. There is apparently redundancy with two speed controllers (done with 8 bit 8751 micros). The first is generally used, and is connected to oven0v0 -- but the fallback is apparently connected to oven0v2.

ovenr connection="oven0v0,5107" > rspeed.oven0v0 &
ovenr connection="oven0v2,5107" > rspeed.oven0v2 &
! tail -f rspeed.oven0v0
Note that you may want to change the > to a >> to append to an already existing file rather than overwriting it.


Have any comments? Questions? Drop me a line!

Tom's home page / tom@mmto.org