ASTROSスケジューラ文法書 .obsファイル

ver.1.00 1996/07/22      半田利弘
ver.1.01 1996/11/01      半田利弘

.obsファイルの単位

 .obsファイルはautoobsで読み込まれ、 autoobsプログラム実行1回につき1つが対応する。 観測者が事前に作成しておく必要がある。 なお、現在のautoobsプログラムは.obsファイルを直接読み込んでいるので、 フロッピーなどに置いた場合は、autoobsが終了するまで、取り外したり、 取り替えたりできない。

 .obsファイルは2・3の例外を除き総て同じ構造の行からなる。 /*より右はコメント。


ファイルの構造

 1行を1単位とする。1行は復改を最終文字とする256バイト以下のASCII文字 列とする。漢字など2バイト文字は用いず、すべて1バイト英数字とする。

 この1行には、実行指示,終了,時刻マージン設定,コメントの4種類がある。

 コメント行はどこにあっても構わない。

 ファイルの最終行は必ず「最終行」(積分指示行の一種:後述)とする。

 いずれの行でも「/*」よりも右のカラムはコメントとして扱われ、 自動観測プログラムの実行には影響を与えない(文字列をパラメータとして与える 場合などに注意)。

 パラメータは大文字小文字の区別をしたまま、配下の実行プログラムに転送される。


実行指示行

ほとんどの行は実行指示行であろう。 この行は、空白または,またはタブで区切られた2つ以上の項目からなる。 先頭の項目はコマンド実施時刻である。 ASTROS標準時刻書式に時刻識別符号を付加する。 時刻識別符号は、UTC,LSTが使用可能である (それぞれ、協定世界時、地方恒星時を示す)。 *の場合は、この行に達した時に直ちに実施する。

2つ目の項目は、コマンドである。 コマンドにはMS-DOSで使用できる総てのコマンドが使用できるが、 現実的には、onoff,beset,aoscalなどの使用が考えられる。 このうち、onoffだけが、onoff.batではなく、 onoff3?.exeを自動選択して実行するようになっている。

3つ目以降の項目は、コマンド引数である。 したがって、コマンドによって詳細の仕様は異なる。 この項目がない場合もある。 onoffについては3つ目が.scdファイル名(.scdは省略)、 4つ目以降は観測者氏名(ただしASCII文字で)となる。

例1.

12h34m56sLST	onoff	test_obs	Dareka Kareka
地方恒星時で12時34分56秒より、onoffをtest_obs.scdに従って実行する。 観測者は、DarekaとKarekaである。


終了行

終了行は通常.obsファイルの最終行に当たる。endでautoobsは実行を終了する。

例2.

end
この行以降のコマンドは総て実行されない。autoobsは総ての実行を終了する。

時刻マージン設定行

時刻マージン設定行は、コマンド行を実行する時刻の許容誤差を指定する。 この行は、空白または,またはタブで区切られた3つの項目からなる。

先頭の項目はset_merginで固定である。

2つ目の項目は、どれくらいの間なら実行を待つかをASTROS標準時間書式で指定する。 デフォルトは1時間。*だとそれまでの指定を継続する。

3つ目の項目は、予定よりどれくらい遅れても実行するかを ASTROS標準時間書式で指定する。 デフォルトは1時間。*だとそれまでの指定を継続する。

例3-1.

set_mergin	1h	3h20m
この行以降、コマンド行の実行を以下の条件で判断する。 まず、実行すべき行が、指定された時刻の1時間前まで指令された場合は、 待ってから実行し、1時間以上前であった場合は実行をスキップする。 また、実行すべき行が、指定された時刻の3時間20分後になるまでは、実行するが、 それ以上遅くなった場合は実行せずにスキップする。

例3-2.

set_mergin	1h	2h
11hUTC	onoff	abc	Dareka
2行目のコマンド行にautoobsの実行位置が達した時刻が 協定世界時10時以前であれば、このonoffは実行されず、次の行以降が実行対象となる。 13時以降であっても実行されず、次の行以降が実行対象となる。 10時以降11時までであれば、11時に実行する。 11時以降13時までであれば、直ちに実行する。


コメント行

先頭が/または#で始まる行は、全体がコメント行であるとみなす。