なかのにっき
最新版はこちら。
突っ込みは各日付の BBS エントリのほか、
メール (nakano@st.seikei.ac.jp) や
フォーム
からどうぞ。
なおスパム除けのため、BBS 機能には
緩い認証を入れて
います。
検索エンジンから来た方は、エンジンの方のキャッシュを見るか、
下の簡易検索を試してみてください。
hns - 日記自動生成システム - Version 2.19.5
#1
恭賀新年
去年は後半ちょっと停滞したので、
今年はいろいろ能動的に動くことを目標にしよう。
ジュビロ 1-0 セレッソ。
なかなかレベルの高い試合で面白かったけど。
#4
筋肉番付
なんでケイン・コスギに違和感を感じるかというと、
彼だけずっと笑わずに一所懸命やっているからなのだ、
ということがわかった。
昼から酒飲んでテレビ見て本読んで風呂入って、とダメな生活を満喫する。
明日から出動予定。
クリスマス以降が風邪でだいぶつぶれてしまったので、
土日でちょっと某測定の目処をつけないと。
10 枚ほど返事。転職する (した) OB が結構多いなあ。
自転車。晴れ。駅の近くには帰省らしき人たちが目立つ。
田中君がいた。
真空の改訂
についてと修論についてちょい相談。
って修論は今から書くらしいけど :-)
#4
[labo] スパッタ成膜速度測定
遅い rate を測定するための試み。
@
XTC:
前はペンレコーダーでやっていたのだけど、
そいつ用の接続コネクタとケーブルがあった。
1kA 以下のところを 0〜10V で出力するようなので、
それを単にマルチメータで記録すればいいだけなのだが。
手元には Agilent の
34401A
が余ってたので、これを使うことにする。
@
GPIB?:
またか (笑)
短期間で VEE や Windows で GUI プログラムの勉強して組むのも辛いので、
作業は Linux がいいなあ。
とするといまは
Linux GPIB
を使うことになるらしい。
サポートされているカード
で入手が楽そうなのは NI の
PCI-GPIB
と
PCI-GPIB+
あたりか。
コンテックの
ISA カード
もあるけど、新しく買うのに ISA でもないだろな。
いま手元には
Agilent (旧 HP) の
82350A
が手元にあるのだが、こいつは FPGA ものなのでどうも望み薄っぽい。
インターフェースの ISA カードもあるけど、これもダメだろうなあ。
ちなみに http://www.interface.co.jp は、いまつながらない。
今回の用途にはあれだけど、
いずれにしても MgO の電流測定にいつか GPIB 触る必要があるから、
買う方向で動いてみるか。
@
シリアル:
とりあえずこっちでつないでしまおう。
シグマ光機のステージコントローラにつないでいるケーブルがそのまま使えそうなので、とりあえず接続。
うへ、ストレートケーブルだった…
@
LAOX:
ということで出かけて買ってきた。
吉祥寺はさすがに混み混み。
の割に食い物屋はあまりやっていない。
@
34401A 設定:
日本語マニュアルの p.156 から。
RS-232C, 9600 ボー, 8 bit non parity, SCPI 言語, にそれぞれ設定。
@
minicom:
@
うへ:
去年の m102 制御のプログラムを引っ張り出してきてテストしてみるが反応せず。
と思って調べたら、34401A は DTR/DSR 制御だったらしい…
ということで普通のやり方だと
無理
らしい。
うーん。ケーブルの配線変えるのか。めんどくさいなあ。
買ってきたクロスケーブルは溶着式のやつで、
無理やり剥がしたら断線した。ありゃりゃ。
m102 についてたストレートケーブルは、
両側が AMP のコネクタになってて楽にばらせたので、
こっちの配線を変えることにするか。はあ。
- 34401A 側の TxD(3) を PC 側の RxD (2) に
- 34401A 側の RxD(2) を PC 側の TxD (3) に
- 34401A 側の DTR(4) を PC 側の CTS (8) に
- 34401A 側の DSR(6) を PC 側の RTS (7) に
接続するようにすればいいか。
まんま 2-8 までのピンがストレート接続されてたから、
片側で 2<->3, 4<->8, 6<->7 の swap をすればいいだけか。
@
接続前の線色のメモ:
ピン
2 黒
3 赤
4 白
5 黄
6 青
7 灰
8 茶
9 橙
こういうときにまた半田ごてのこて台がなかったりして
14 号館まで取りに行ったりとか。やれやれ。
@
できた:
うむ、通信もできた。
@
送受信:
一応できた。返ってくる文字列は \r\n で終端されるので、
nread = read(fd, buf, nbuf);
delim = strchr(buf, '\r');
*delim = '\0';
if (nread > -1) {
nread = strlen(buf);
}
return nread;
という非常に ad hoc な実装にした。いつもこんなんやなあ。
スタンダードなやり方をご存知の方はコメントいただけると幸いです。
安定動作させるには read()/write() のあと、
適当な usleep() をかますほうが良いかもしれない。
5 jiffies くらい? しかし FETCH かますタイミングがちょっとむつかしいな…
(1/4 追記)
結局
こんなかんじ
にしたら、まっとうに動作するようになったようだ。
参考はこのへん?
@
今日はここまで。:
コマンドのやり取りはできるようになったので、
後はタイミングを見つつ SCPI 言語のやり取りをすれば OK。
これは明日書くことにしよう。
自転車。久々に往復すると腰にくる。
あと 5 個。カビ取って冷凍庫へ。
自転車。曇り。
#4
[labo] スパッタ成膜速度測定
引き続き。
@
34401A の測定ルーチン:
*CLS
*RST
:SYST:REM
:VOLT:DC:RANG 10
:VOLT:DC:RES 0.0001
:VOLT:DC:NPLC 1
:TRIG:SOUR IMM
:TRIG:DEL MIN
:SAMP:COUN 1
無限ループ{
(時刻取得)
READ?
read();
printf(時刻・データ)
fflush(stdout)
usleep(9e5)
}
という感じで。
@
割り込み後の終了処理:
測定の無限ループを Ctrl-C で止めたときに
34401A とシリアル線の終了処理をするため、
void intHandler(int signum){
xtc_send(":SYST:LOC");
xtc_close();
exit(0);
}
int main(int argc, char * argv[])
{
:
struct sigaction sa;
:
memset(&sa, 0, sizeof(sa));
sa.sa_handler = intHandler;
if (sigaction(SIGINT, &sa, NULL)) perror("sigaction");
:
という感じで。
『プログラミング Linux』
の 13 章あたり。
@
時刻取得:
struct timeval tv;
struct timezone tv;
:
gettimeofday(&tv, &tz);
printf("%ld.%06ld %s\n", tv.tv_sec, tv.tv_usec, rbuf);
という感じで。
@
シリアル:
ここが一番はまった。
どうもタイミングによって "READ?" を送った後の
read() コールで刺さることがある。
いろいろ試行錯誤していたのだが、
どうも制御文字関連ではまっているっぽい。
34401A は
シーケンスの最後に \r\n を返してくる
のだけど、
今回 m102 から引っぱってきたルーチンを叩き台にしてたので、
termios 構造体メンバの c_cc[VEOL] が '\r' になっており、
このせいで末尾の \n を 34401A 側のバッファに残しちゃってたようだ。あほだ。
DTR/DSR フローコントロールをしているので、EOL
もろもろの制御文字は不要のような気もするのだが、
c_lflag ICANON フラグを落としちゃうと、
しょっぱなの read() 呼び出しの際に文字列が切れる。
ということで ICANON は立てておき、
c_cc[VEOL] を '\n' にしたらうまくいった…っぽい。うーむ。
'\r' は c_iflag に IGNCR を立てて捨ててしまうことにした。
んで昨日のやり方で \n を \0 にして返すことにした。
…それでも、どうしてもときどき刺さることがあるなあ。
つづけて何回か 起動-Ctrl-C を繰り返し、
一度回りだせば続けて回るのだが。
ん、*RST 送ると 34401A で「カッチン」というリレーっぽい音がしてたので、
そのあとに usleep(5e5) 噛ますと大丈夫になったっぽい。
うーむ、このへん 34401A の素性かな。どうも良くわからんな。
@
テスト:
XTC のテストモード、こいつは 16.2Angstrom/sec で擬似的な積算膜厚に対応した
出力を出すことになっているのだけど、
実際に取ってみた電圧の増加率は 0.1574 V/s。
これはループ中の usleep() を変えても (=測定間隔を変えても)
きっちり同じなので、どうやら XTC のタイマが 3% くらいずれている…のかな?
まあ表裏の ratio が重要なので、
これは覚えといて、とりあえずこのまま測ってしまうことにしよう。
自転車。寒。
ふに。
#2
関東即配
大晦日に受け損ねた荷物。今日配達開始ということで、
午前中をお願いしたのだが来ず。
帰ってきたら玄関脇に荷物が置いてあった。
じゃあ最初からそうせいや。くそ。
中身は第一生命からのディズニーカレンダー。やれやれ。
自転車。晴れ。年明けからずっと自転車だが、今週いっぱいくらいは続くかなあ。
#4
[labo] スパッタ成膜速度測定
学校に着いてホルダを交換しようと思ったら、
水冷配管のとこの VCR ガスケットが 1 枚足りず。
バキュームプロダクツに電話をかけたら今日からやっていたので、
自転車で往復 1h かけてもらいに行った。とても疲れた。
佐々木君と一緒に 15:00〜16:10 までかけて組み付け、
16:15 から排気開始。
2h ベーキング、ガスラインのフラッシングをして後は明日。
待ち時間に今井さんの DWN 47-52 号へのパッチを送る。
入れた。PGPocket の母艦側ソフト (PictureGear Lite) の
CD が見つからずにだいぶ長いこと経ってしまったのだが、
もう探すのめんどくさいので Muchy.com で物色してこれに決めた。
ほぼ同等の機能をもっているし、転送が直感的で使いやすそうだ。
ただし画像の展開はちょっと遅い。
ライセンスメールは +misc/2877
自転車。武蔵小金井通過あたりでエネルギー切れ。
血糖値下がりまくりでまったく力が入らず。
また local のセキュリティホールか。うむー。
原付。日和った。
Cu 50W で。T-S 50mm と 30mm をやろうと思っていたのだが、
思ったより back の rate が遅いので、
30mm にして front を使い切っちゃわないうちに、ということで
50mm の圧力依存性を取ることにした。しかしうーん、遅いなー。
50mm 終わり、続いて 30mm の測定を頼む。
終了、XTAL FAIL にはならなかったらしい。
(1/7 追記) 実際には 58mm、38mm だったらしい。うぬ。
田中君の分は本日発送。
郵便局までお遣いに行ってもらった。
IOP からのを一個引き受け。19 日まで。まあ 17〜18 の週末で何とかなるだろ。
#6
[Windows] Excel で (大量の) 隣り合うセルペアが同じかどうかを調べる方法
C 列と D 列を比べたい場合とかは、例えば E1 セルに
=if(C1=D1,"","differ")
とかいうのを入れて、それを縦にべべっと貼って目視するのが楽そう。
半角英数入力モードではスペース変換はできないのか…痛いすぎる。
あと MacOS のキーカスタマイザには「日本語の ON/OFF」機能がないのだが、
これはどうやって割り付ければいいのだ。
いちいち英数キーとかかなキーとか押してられるか。トグルさせんか
*1
。
というかキーカスタマイザの UI は腐りすぎで、すっかりムキー状態になった。
キー割り当てに行くまでに 5〜6 クリックもかかって、
なおかつカスタマイザを完全にクローズしないと反映されないってのはどういう料簡なのだ。もう死ねくそ。
うひー、日本語と英単語の境界でいちいちモードトグルするのって、
ちょっと信じがたいほどの負担になるな。vi で編集とかした日にはもう発狂しそうになる。
やっぱり半角英数入力モードで、変換キーを何かに割り当てるしかないかなあ。
しかしスペース以外でってーのもつらいなあ。
*1: これは「漢字/半角モード切替」でそれらしい動作になった。
原付。さ〜む〜い〜
七草粥を土鍋で炊きつつ宅急便待ち。
粗大ごみ回収、漏水修理の依頼。
自転車。行きがけに郵便局で OB 会費を振込み、粗大ゴミシール購入。
晴れているが寒い。自転車通勤には良い気候。
Alertbox。
1.
四六時中、電子メールをチェックしないこと。
一発目がこれ。耳が痛いな :-)
#4
[labo] スパッタ成膜速度測定
最小自乗法の作業を佐々木君に頼んだ…が、
Excel の LINEST 関数と INDEX の関係がわからなかったらしい。うにゅ。
octave 使って
さっさとやっちまうかなあ。
明日の分の Al ターゲットを仕込む。ベーキング。
新しいモニタヘッドだと、メモリ 98 で天板からヘッド面までが 125。
胴部上端からターゲット面までは 151 だから、最近接で 25mm というところか。
昨日は 66, 86 で測ったから、それぞれだいたい 58mm, 38mm。ふむ。
@
学科:
学科のサーバは基本的に debian の kernel-image パッケージを入れることにした。
ただし proxy だけは debian の kernel-image だと
なぜか VFS エラーになっちゃうので、仕方なく前の設定を引っぱってビルド。
11 号館 1F の各 GW のリブートは明日。
@
ビルド:
研究室のは一部 FreeS/WAN とか使ってるので自前で作らないとだめ。
#!/bin/sh
OLDVER=2.4.23
NEWVER=2.4.24
SRCDIR=linux-$NEWVER
for host in surf babagw tiger migrate
do
cp config-$host-$OLDVER $SRCDIR/.config
if [ $host == surf -o $host == babagw ]; then
PK="YES"
else
PK="NO"
fi
(cd $SRCDIR; \
make-kpkg clean;
env LANG=C PATCH_THE_KERNEL=$PK make-kpkg configure)
cp $SRCDIR/.config config-$host-$NEWVER
done
というのと
#!/bin/sh
NEWVER=2.4.24
SRCDIR=linux-$NEWVER
REVISION=1
for host in surf babagw tiger migrate
do
cp config-$host-$NEWVER $SRCDIR/.config
if [ $host == surf -o $host == babagw ]; then
PK="YES"
else
PK="No"
fi
(cd $SRCDIR; \
make-kpkg clean;
env LANG=C PATCH_THE_KERNEL=$PK make-kpkg --revision $host.$REVISION \
--rootcmd fakeroot kernel_image)
done
を順番に実行して、その場にいなくても良いようにした。
kernellab というパッケージもあるのだけど、
どうもパッチ周りはうまく処理してくれないようで。
@
差し替え:
みんな帰ったところで surf, proxy, babagw (NFS サーバ) なども再起動。
babagw のリブートで、一度 /dev/hda が lost interrupt で刺さった。
single user モードで入って hdparm を disable にしたら大丈夫になった。
とりあえず /dev/hda には hdparm を効かせない方向で。
そろそろやばいのかな > /dev/hda
@
復帰:
うへ、surf に大量の 404 エラーが。すみません。
メールもあるし、
babagw のリブートは surf をシャットダウンしてからじゃないとだめだな…
#6
[labo] Vacuum Copyright Transfer
OES のやつが来た。10 日間返事しないと了承したことになるらしい。
自転車。雲ひとつない月夜。
朝の残りの粥に入れて完食。ちょうど正月も終わりだ。
朝作った粥を温めたら焦がした…
おお、0.40-6 で本当に軽くなっていますね。
とてもありがたい。
強風につき原付。寒い。
つつがなく終了。
esca 部屋のやつだけ VPN 周りでちょっとはまったが、
libdns* とかをいれ、ipsec.donf を auto=start にして作業完了。
VP、フルウチ、リコー修理代。
正門のほうまで用足しに言ったのでついでに。
また腹こわすかな。
#6
[labo] スパッタ成膜速度測定
Al の測定は佐々木君に頼み、データ解析。
デジタルマルチメータの量子化誤差 (1Ang 相当) が一番大きいので、
本当は (正規分布する誤差を仮定する) 最小自乗法には問題がないわけではないのだが、
とりあえず octave でスクリプト書いてやっつける。dy は 0.5 Angstrom ということで。
一応 Excel での結果と比較してチェック。まあ
残差から計算する誤差よりは大きめに出るけど、2〜3 桁の精度は出てるから十分かな。
スクリプトはこんなかんじ。
元にしたのは
こいつ
*1
のだけど、
最初ちょっといじってるのは unix time の整数値を処理すると、
(たぶん桁落ちのせいで) まわらなくなるから。
#!/usr/bin/octave -qf
line=fgets(stdin);
[x0, y(1)] = sscanf(line, "%f %f", "C");
x(1) = 0;
i=2;
line=fgets(stdin);
while ( !feof(stdin) )
[xi, yi] = sscanf(line, "%f %f", "C");
x(i) = xi - x0;
y(i) = yi;
i++;
line=fgets(stdin);
endwhile
[rx, cx] = size(x);
Tx = [ones(rx,1), x];
Ty = y;
Dy = 0.5e-2 * ones(rx,1);
EM = diag(Dy.^2);
WM = inv(EM);
C = inv(Tx' * WM * Tx) * Tx' * WM;
Theta = C * Ty;
vMat = inv(Tx' * WM * Tx);
fprintf("%e %e\n", Theta(2), sqrt(vMat(2,2)));
原付。うひーさむい。
自転車。昨日よりはマシ。
#3
[labo] スパッタ成膜速度実験
Mo。これで 1/12 の応物申し込み用のデータにはなるだろう。
いせや公園口店。まったりと。
自転車。事故を起こさないように気をつけました。
原付。晴れ。
11:30〜12:40 くらいまで。
どうも学科の VLAN あたりがおかしくなっていたようだが。
とか言ってたら 13:00 頃また切れた。うーん。
月曜日の投稿直前とかで切れたら目も当てられないな…
どうやら連休明けまでつながらんらしい。
建物各階のルータレベルでおかしくなっているそうな。うに。
うーん、結局投稿は自宅からか。
メールが到達しなくても大丈夫だろうな。
でなかったら泣くぞ。
@
症状:
133.220.125.0 が 12 号館 5F のネットワークで、
133.220.125.254 が上流への GW。
- 133.220.125.n, 133.220.125.m (n, m≠254)
- 133.220.11X.160 (11 号館のマシン)
というマシンで ping を試みると、
- 133.220.125.n <-> 133.220.125.m は通る。
- 133.220.125.n -> 133.220.125.254 は通らない。
- 133.220.11X.160 -> 133.220.125.254 は通る。
- 133.220.11X.160 -> 133.220.125.n は通らない。
ということで、GW が下流側のネットワークの経路を
正しく処理できていないのではないか。
というわけで 1 分おきに surf から gw へ ping を打ってみた
記録
。ときどきつながるところがまたいやらしい。ハードウェア障害かなあ。
#3
[labo] スパッタ成膜速度測定
データ整理。
終わり。ふむ、まあ予想通りというか。
しかし Al だけ高圧側での B/E が低いのはなんでだろ。
@
応物予稿:
前回の format を流用して 1st draft 完成。
しかし boss に見てもらうにも、メールでは送りにくいんだよな…
明日ノート持ってきてダイヤルインでつなぐかのう。
原付。エフエフで晩飯。
以上、10 日分です。
タイトル一覧
中野武雄 (NAKANO, Takeo) <nakano@st.seikei.ac.jp>
Since 1999-10-07
RSS feed,
更新時刻,
LIRS エントリ,
アクセス制御
(解説)
中野のホームページへ