This help file describes the PILOT STARTUP SEQUENCE FOR THE SIMULATOR or the METER-CUBE OVEN. (oven1v0)
The meter-cube furnace has 12 heater circuits and can read as many as 30 thermocouples. All of the software is identical to that for the large furnace.
These instructions assumes that crater (or dorado) is running and that the oven network is intact. These instructions also assume that the on-board VME computers are running. IRAF parameter defaults only work for oven0.
See user_login for information about non-pilot or remote logins.
Do not panic and reboot or logout too hastily. Rebooting normally takes 5 minutes, but it could take as long as 20 minutes depending on the condition of the disk. This login procedure will take at least 4 minutes if you are practiced. You might get into even more trouble than you already had.
Pilot2 should definitely not be running oven on the other workstation (crater or dorado) at the same time. This is not impossible, but it is rather dangerous --- you could destroy the other database if you make a mistake.
The console login starts with a blank screen that says: "crater login:" or "dorado login:"
After entering the username and password, this should give you an openwindows screen with:
- a console window (cmdtool) - a cpu meter (perfmeter) - purple xterm window with IRAF - green xterm window with IRAF - red xterm window with IRAF - blue xterm window with IRAF - a mailtool (for mail) - a clock - a mailtool (for ovenlog) - saoimage (roughly in that order)It takes about 1 minute for all the windows to start.
Example
cl> cd MCUBE/ (yes, MCUBE in caps) cl>Beware that changing directories does not change your uparm$ directory, so watch out for parameter conflicts with the large oven. The best way to be safe is to specify noven=1 on the command line for every task.
However, you may still load the mirror package in each xterm window.
Example
cl> cl> mirror mi>
The "mi>" prompt indicates that the mirror package is loaded. Type "?" for a list of the tasks in the active package (the last one loaded from the command line).
Example
mi> ? alumc ograph ovenb ovend oveng ovenr tcmark odisp oven ovenc ovene ovenp ovenw mi>
If you have not loaded the mirror package, you can still get a list of the tasks in the package by saying "help mirror" or "help mirror op=dir".
Shared memory segments must be created and initialized first. Check these with "ipcs". There should be 1 segment for on-board computer v0, but other segments could exist for another oven.
Example (that's OK)
mi> !ipcs IPC status from crater as of Thu Jun 6 18:25:12 1991 T ID KEY MODE OWNER GROUP Message Queues: Shared Memory: m 300 0x00000110 --rw-r--r-- pilot2 other Semaphores: mi>
If shared memory segments do not exist, the oven task will create and initialize (fill with zeros) them. The shared memory segments can only be created by the pilot. Run the oven task for the v0 computer as shown below. (use the blue window) Before you "exit" from oven, use the "Database" menu to "Read parameters from disk". If you know that you have "good" parameters in the v-computers, you could "Read parameters from oven" instead. "Read parameters from disk" should always work, but could give you clock settings that are hours or even days old.
Example
mi> oven noven=1 ncomp=0 (Exit) mi>If an oven task crashes, use flpr to flush the process cache before restarting. unlearn resets the default parameters for the task. oven.readonly must be "no" to modify shared memory segments or the database file. And oven.remove must be "no" to make a permanent shared memory segment.
Example
mi> unlearn oven mi> oven.readonly=no mi> oven noven=1 ncomp=0
But, don't start background jobs if they are already running! Check by using:
Example
mi> !ps -aux | grep pilot2 mi>Oven tasks appear as "/usr/iraf/mirror/bin.sparc/x_mirror.e" The cls in your xterm windows appear as "/usr/iraf/bin.sparc/cl.e" Background tasks will have an "N" in the STAT column. Note that each background daemon has an associated cl. If you only want to check for the oven daemons, you can say:
Example
mi> !ps -aux | grep mirror (shows all mirror tasks) mi> mi> !ps -ax | grep N (shows all background tasks) mi>If you aren't sure, kill all pilot background jobs and start clean. Each demon also has an associated background cl task. To kill tasks, use the Unix command:
Example
mi> !kill -9 xxxxWhere xxxx is the PID number displayed by ps. PID in this case means Process IDentifcation, not Proportional, Integral, Derivative.
Always use care when killing tasks. It is particularly unproductive to kill the window you are working in. It is also recommended that you kill or spawn tasks when the clock is between 30 and 45 seconds after the minute. This avoids starting or stopping tasks while they are communicating. Try to use the IRAF kill command whenever possible. Killing a demon may cause its associated cl task to go into a loop and use a lot of CPU time.
Advanced users who are interested in a rapid kill may wish to try furnace.killer from J. Hill's scopes package.
For a brief description of the daemon's function type: help ovenp
Now you are ready to start the daemons in the blue window (border):
Example
mi> ovenp noven=1 ncomp=0 & mi> ovenb noven=1 ncomp=0 & (if you are coldstarting, turn on VME computer here) mi> ovend noven=1 ncomp=0 & mi> oven noven=1 ncomp=0The blue window will now continue the oven program talking to the shared memory segment for v0. If the v0 computer is functioning, you should get fresh data each minute. If the v0 computer has been off, reboot it here.
For a brief description of the daemon's function type: help ovenp
Hints: Beware of parameter database synchronization problems
after wierd scenarios. One possible problem occurs if the vX
computers booted before the oven daemons were running. Download
parameters to the oven (and double check clock parameters).
You are never really secure unless you have your error daemons running.
Start these four daemons in the red window (border):
Example
mi> ovene noven=1 ncomp=0 offset=10 & mi> oveng noven=1 & mi> oven noven=1 ncomp=0 offset=14Set the oven program in the red window to read the error log.
To verify which background tasks are running in a particular xterm window, use the IRAF command:
Example
mi> jobs [1] 1473:50 Running ovenb & [2] 1473:38 Running ovenp & [3] 1407:02 Running ovend & mi>
Start the cron task in the purple window (border):
Example
mi> ovenc &ograph and odisp should now display data at appropriate intervals. To stop the cron task or another daemon, use the IRAF kill command in the relevant window: kill x (where x is the job number [1-4])
To check the communication links, use "!netstat -f inet".
To remove a shared memory segment, use "!ipcrm -m xxx".
To make a hardcopy of a window, use "!xwd |xpr -device ps |lpr". If the window is white on black use "!xwd |xpr -device ps -rv |lpr" to reverse it. (These commands are usually aliased to "hc" and "hr".
To logoff from the console, select "Exit" from the Rootmenu and then confirm your selection when prompted. (The oven pilot should never need to logoff, except for software changes or workstation failure.)