トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

ソフトウェアの説明 のバックアップ(No.1)


NIC-Top に戻る

nic_software.txt

NICコマンド類の説明

20110730 禅野 20120502 高橋: calfocus.sh を追加

NICの操作コマンドはほぼすべて /usr/local/nic/bin/ に入れてある。 それらについて簡単に解説してみる。

NICの操作コマンドを使うには、次の2点が設定されていなければならない。 1. 環境変数 PATH に /usr/local/nic/bin を含める。 2. 環境変数 NIC_DEF_FILE を設定する。現在は

  NIC_DEF_FILE=/usr/local/nic/nic.def
  でなければならない。

(NIC制御PCにユーザ nicop でログインする場合は ~/.bash_profile

で設定するようにしてある)

コマンド名の後ろに [sh] とかあるのは、コマンドファイルの種類を示している。 [sh]: sh スクリプト。 [bash]: bash スクリプト。 [tcl]: Tcl スクリプト。 [perl]: Perl スクリプト [C]: C言語で書かれたソースをコンパイルしてできたバイナリ。 [= Lo]: Lo というコマンドへのシンボリックリンクであることを示す。 C言語のソースは ~/src/ にある。

観測用コマンド

   観測者が直接使うようなもの

Lo [bash] TL [= Lo] DL [sh] PLo [bash] PTL [= PLo]

	これらについては観測マニュアルを参照のこと。

xstop [sh]

	データ取得コマンド(Loなど)の実行を中止したい場合に
	このコマンドを使う。引数なし。このコマンドは
	単に「止まってね」という目印をつけるだけなので
	その目印をまじめにチェックしてるコマンドしか
	止まらない。

cg3_init [sh]

	COGITO3(VMEラック)の電源を入れた直後はこのコマンドを
	実行してCOGITO3を初期化する。引数なし。
	中身は、単に簡単なクロックパターンを走らせるだけ。

shutter [sh]

	シャッターを動かすコマンド。
	  shutter open
	  shutter close
	  shutter pol
	と使う。単に shutter とすると現在位置を表示する。
	現在位置はステータスファイル /usr/local/nic/shutter.status
	に書かれている。
	モータードライバの電源を切ったままこのコマンドを使うと
	ステータスファイルの中身と実際とが食い違うことになる。
	この場合、明らかに現在位置がわかっていれば、
	  shutter -set open
	などとして、ステータスファイルだけを更新することができる。
	シャッターが中途半端な位置で止まったりした場合は
	shutter -init
	とした上で
	  shutter open
	などとする。

pol [sh]

	半波長板を動かすコマンド。
	観測者が使うのは
	  pol in
	  pol out
	で、半波長板を出し入れするときだけと思われる。
	半波長板を回転させるためには
	  pol 0
	  pol 225
	  pol 450
	  pol 67.5
	などとするが、これらは普通、偏光観測用のスクリプト(PLo, PTL)
	から呼ばれる。
	ステータスファイルは /usr/local/nic/pol.status
	shutter 同様に -set オプションなどが使える。
	  pol -h
	でヘルプが表示される。

counter_check [sh]

	現在の画像保存ディレクトリ名と、次の画像ファイルにつけられる
	番号を表示する。引数なし。

counter_set [sh]

	次の画像ファイルにつけられる番号を手動で設定する。
	  counter_set 201
	とすると、次に Lo や DL で取る画像ファイル名は
	j110729_0201.fits などになる。
	すでに存在する番号を指定した場合は上書きされるので注意。

datavol [sh]

	現在の画像保存ディレクトリの総容量を表示する。引数なし。

dark [sh]

	ダークフレームを取るためのスクリプトだが未完成。

disp3 [sh]

	引数に番号を指定すると現在の画像保存ディレクトリの中から
	その番号のついたFITS画像をds9に表示する。
	  disp3 18
	とすると j110730_0018.fits, h110730_0018.fits,
	k110730_0018.fits を表示する。
	-d オプションで画像ディレクトリを指定できる。
	たぶん使わない。

poldisp [sh]

	PTL で偏光の試し撮りをすると、最後に生データのまま
	0-45(Q), 22.5-67.5(U) の引き算を行った画像を表示する。
	U画像が表示されたあとにQ画像が表示される。
	  poldisp u
	  poldisp q
	とするとこれらの画像を切り替えて表示できる。
	たぶん使わない。

niclean [sh]

	作業ディレクトリにある、FITSヘッダ用テンプレートファイル
	などを消去する。おかしな情報がFITSヘッダに入ったり、
	望遠鏡がヘンな方向を向いたりする場合に使うといいかも
	しれない。欲しい情報まで消えるかもしれないので注意。

telescop [sh]

	なゆた望遠鏡システムと通信するかどうかを決めるコマンド。
	  telescop control  ... 望遠鏡と通信する。
	  telescop status   ... 望遠鏡情報ファイルだけ読み出す。
	  telescop off      ... なにもしない。
	これのステータスファイルは /usr/local/nic/tel.use
	基本的には開発者のメンテナンス用コマンド。

focus [sh]

	望遠鏡のフォーカスを調節するコマンド。
	  focus -6.03
	などと使う。引数なしで focus とすると現在のフォーカス値を
	表示する。

calfocus.sh [sh]

       Ishiguro et al. (2011) ドーム温度とフォーカス位置の
       依存関係を使って、フォーカス位置の推定値を出す。
       ただし、あまり厳密ではない。
         calfocus.sh dome_temp(摂氏)
         (例) calfocus.sh 12.3

point2 [sh]

	望遠鏡を目標にポインティングさせるためのコマンド。
	これを使うにはあらかじめ目標リストファイルを作っておく。
	リストファイルには
	  Albireo	2000	19 30 43.38	+27 57 35.0
	などと、目標名、分点、RAの時、分、秒、Decの時、分、秒を
	空白区切りで書いた行を並べる。(目標名には空白を含められない)
	そうしておいて、そのリストファイルの名前と目標名とを指定する。
	  point2 ~/catalog/my_objlist.txt Albireo
	という感じに使う。

point [sh]

	これは point2 から呼び出されるが、観測者が直接使ってもよい。
	  point 2000 19 30 43.38 +27 57 35.0
	などと使う。

offset [sh]

	望遠鏡をすこしだけ動かすためのコマンド。
	  offset ra_offset dec_offset
	と、RA, Dec のオフセットを、どちらも角度秒で指定する。

telwait [sh]

	望遠鏡が指定位置まで到達するのを待つ。引数なし。
	現在は RA, Dec どちらも2秒角以内に入るまで待つが
	ちょっとゆるすぎる?
	変更するにはこの telwait というファイルを直接編集する。
	これで待てるのはポインティングするときで、
	offset を動かした場合には対応していない。

以下のコマンドは観測者が直接使うことはないと思われる

望遠鏡操作関連コマンド

do_point.sh [sh]

	point/offsetコマンドの下請けコマンド。
	これは望遠鏡非依存で、実際にはさらに
	望遠鏡依存の do_point_tel.* を呼び出す。

do_point_tel.nayuta [sh]

	なゆた望遠鏡用の point/offset 下請けコマンド。
	ここで望遠鏡向けのコマンド文字列を組み立てる。
	実際に望遠鏡と通信するのはさらに下請けがやる。

telcontrol [C]

	なゆた望遠鏡のUCCコマンドサーバとソケット通信する
	プログラム。

nayuta_cmd.sh [sh]

	telcontrol コマンドはときどき RESULT=NG で失敗
	するので、3回くらい再試行するためのスクリプト。
	  nayuta_cmd.sh MT CMD OFFSET=ON
	という感じで使う。

nayuta_status.sh [sh]

	なゆた望遠鏡のステータスのうちキーワードを指定して
	その値を得る。
	例えば
	  nayuta_cmd.sh UCC CMD STAT=ENCL
	とやると
	  ALARM=08 00 00
	  ENC_CTRL_MODE=ASYNC
	  ENC_REAL_ANG=72.800000
	  ENC_CMD_ANG_ANS=73.000000
	  ENC_DRIVE=ON
	  ...
	という感じでずらずらとステータスが得られるが、
	その中から ENC_REAL_ANG を知りたい場合、
	  nayuta_status.sh ENCL ENC_REAL_ANG
	とすると
	  72.800000
	と表示される。

nayuta_wait.sh [sh]

	なゆた望遠鏡の RA, Dec, Focus について、
	現在位置が設定値±しきい値以下になるまで待つ。
	オプションは ra|dec|focus、しきい値、タイムアウト秒。
	タイムアウトを省略すると600秒まで待つ。
	  nayuta_wait.sh ra 1 60
	などと使う。RA, Decの場合のしきい値は角度秒で指定する。

telinfo.sh [sh]

	UCCの望遠鏡情報ファイル Telescope.inf を読み出して
	FITSヘッダ用のテンプレートファイルを作る。

telinfo_extra.sh [sh]

	望遠鏡情報ファイルに入っていない情報で、FITSヘッダに
	入れたいものがある場合、個別に値を取ってきてヘッダに
	追加するためのスクリプト。
	現在は、DOME_FLAT_COUNT を追加している。
	ほかにも入れたいキーワードがある場合はこのファイルに
	直接記述していく。

COGITO3関連コマンド

cogito3_reset [sh] cogito3_start [sh] cogito3_status [sh] cogito3_wait [sh] cogito3_read_cpg [= cogito3_rw_mem] cogito3_read_prg [= cogito3_rw_mem] cogito3_read_frma [= cogito3_rw_mem] cogito3_read_frmb [= cogito3_rw_mem] cogito3_write_cpg [= cogito3_rw_mem] cogito3_write_prg [= cogito3_rw_mem] cogito3_write_frma [= cogito3_rw_mem] cogito3_write_frmb [= cogito3_rw_mem] cogito3_rw_mem [sh]

	COGITO3を操作するためのコマンド群。
	VME-PCI通信用のデバイスドライバを通して
	COGITO3を操作する。
	以前は btp というデバイスドライバを使っていたが
	vmedrv に変更したので書き直した。
	引数などは以前と同じ。cogito3_statusだけ少し変更した。
	以前のものは ~/doc/old/cg3cntl_bin/ にある。

vmes_io [C] vmes_mem [C]

	cogito3_* コマンドの実体。
	vmedrv 付属の vmeslib を使っている。
	ソースは ~/src/vmes_rw/

クロックパターンのバイナリファイルを作るためのコマンド

patmake_new [perl] calcstep [C] cnm2map.sh [sh] cpbfill [C] cpgp2bin [C] cps2cpi [C] loopextract.sh [sh] map2sds.sh [sh] prgp2bin [C] prp2exptime [C] sdsprs2prp.sh [sh]

	これらはクロックパターン記述ファイルからクロックパターンの
	バイナリファイルを作成する。
	詳しくは ~/src/patmake_bin/ を参照。

画像読み出しのための、クロックパターン作成と実行に関するコマンド

readout_1_12M.sh [sh] readout_1_8M.sh [sh] readout_3_12M.sh [sh] readout_4_12M.sh [sh] readout_5_12M.sh [sh]

	読み出しモード別の、画像読み出しスクリプト。
	クロックパターンをその場で作成し、COGITO3へ転送し、パターンを
	走らせる。

pat_make_run [sh]

	クロックパターン記述ファイル(.prs)の名前を引数に与えると
	クロックパターンのバイナリファイルを作成してCOGITO3へ
	転送し、パターンを走らせて、完了するまで待つ。

pat_run [sh]

	pat_make_run と同じだがバイナリファイルの作成はせず
	すでに存在するバイナリファイルを使う。

cg3_sel_frm [sh]

	引数は a または b で、それぞれ FRMA, FRMB という
	クロックパターンを走らせる。
	  cg3_sel_frm b
	とすると、観測装置側からは FRM B にアクセスすることになり、
	PC側からは FRM A が読み書きできるようになる。

画像データの転送と、FITSファイル作成に関するコマンド

transfer_data_1_12M.sh [sh] transfer_data_1_8M.sh [sh] transfer_data_3_12M.sh [sh]

	COGITO3の画像メモリからPCへデータを転送するためのスクリプト。
	できあがるのはJHK各バンドのバイナリデータファイル。

makefitsfile.sh [sh]

	画像のバイナリファイルからFITSファイルを作るスクリプト。
	バイナリファイルをFITSファイルにし、画像を回転させ、
	FITSヘッダを書き込む。

makefts [C]

	バイナリデータからFITSファイルを作るコマンド。

reordering [C]

	検出器のクワドラントを考慮してちゃんとした1枚の画像になるように
	ピクセルのデータを並べ直す。入出力ともにFITSファイル。

reorder3 [C]

       3バンド同時撮像モードを使った場合、
	画像メモリから転送されたバイナリデータはJHKのデータが混ざっている。
	それをJHKに分離して、ついでにピクセルの並び替えもやる。
	入出力ともにバイナリデータ。

applytemplate [C]

	FITSヘッダ用テンプレートファイルを使ってFITSヘッダを書き込む
	プログラム。テンプレートとは、ヘッダの内容が1行につき
	key = value / comment
	という形式で書かれたファイル。詳しくはcfitsioのドキュメントを参照。

imarith [C]

	これはcfitsioのexampleからそのまま使っている。
	FITS画像の引き算や割り算に使う。

モーター制御関連コマンド

   Cのソースは ~/src/motor/ にある。

motion_run.sh [sh]

	モーター動作定義ファイル /usr/local/nic/motion.def
	にしたがって、3つのモーター(シャッター、pol出し入れ、pol回転)
	を制御するためのスクリプト。

motion_wait.sh [sh]

	モーターの動作が完了するまで待つ。
	現在は、3つのモーターを識別することができず、
	すべてが動作停止するまで待ってしまう。

motion_register.sh [sh]

	モーター動作定義ファイルの内容をモーター制御ボードの
	EEPROM (CmdBuffer) に登録するためのスクリプト。
	これが何かわからないまま使うべきではない。

motion_setdata [C]

	モーター動作をCmdBufferに書き込むプログラム。
	わからないまま使うべきではない。

motion_start [C]

	CmdBufferを指定して動作を開始する。

motion_status [C]

	モーターが動いているかどうかを表示する。
	現在は4軸すべてごっちゃにしている。

motion_loopstat [C]

	モーターのステータスを表示するプログラム。
	これをバックグラウンドでいいから動かしておかないと
	モーターが動作しないようだ。不思議。

motioncalcindex.sh [sh]

	CmdBufferのアドレスを計算する。

その他のコマンド

nextdatafile.sh [sh]

	画像ファイルを保存するときに、その名前を連番で作っていく
	スクリプト。画像保存ディレクトリの自動作成も行う。

echodate [tcl]

	現在時刻をFITSヘッダテンプレート形式で表示する。
	とりあえずNIC制御PCの時計を使っている。

ra_print [C] dec_print [C]

	RA, Dec を "+12:34:56.7" といった文字列から
	角度秒(arcsec)に変換したり、逆に角度秒から
	文字列を作ったりするコマンド。
	引数なしで実行すると使い方が表示される。

dither [C]

	ディザリング用の、オフセット量を計算するプログラム。

/usr/local/nic/ にあるファイル

motion.def nic.def pol.status shutter.status site.def tel.use