NSM2 を学ぶ

nsm15111.jpg
Belle2 の Slow Control はすべてNSM2 (Network Shared Memory verion 2)というsoftwareを使って実装することになっている。
ECLはすべての電源が入れっぱなしなので Slow Control は存在しないのだが、機器のモニターや環境データの保存にNSM2を使っているのでこれを使って実装することになる。
例えば私がやっているVMEの電源モニターだと各クレートの電圧と温度をモニターし定期的に環境データベースに書き込むことになる。どうやって実装されるかというと各モニター(例えば私)はデータベースに入れたいモニター値をShared memory に書き込むプログラムを書いておく。そして、データベースグループにそのメモリをネットワークを経由して参照して貰い定期的に記録しておいてもらうと言う塩梅。実にシンプルで簡単だ。
Slow Control も同じように出来ていて、例えば電源だと、私はNSM2に実装したメモリのあるアドレスの値をみて電源をon/offするようなプログラムを書いておく。そうすると、ネットワーク経由で誰でもこのメモリの値を変えることにより電源がコントロール出来るというわけだ。
プログラムの実装も非常にシンプルで、posixでかかれているので普通のunix系OSなら何の問題もなくcompileできる。documentは無いに等しいのだが、幸いなことにわかりやすい sample プログラムが用意されているので、概念を知っていれば、日本最低の物理屋でもそれほど理解するのに時間はかからない。というか、概念は理解していても1日以内に理解できなかったら自分のプログラミングの能力を疑った方がいい。
 写真は奈良の学生さんで、ECLのバイアス電源と環境モニターの制御を担当しているのでNSMを使うそうで一緒に勉強。私が一日かけて学習した内容を元に、sample program を元にして、適当なテストプログラムを書いて行く。説明するのにテレビ会議用のモニターに私のパソコンの画面のミラーを表示したのだが、これが結構うまく行った。結局一通りやるべきことをするプログラム3つを書くのに、3.5時間。非常に簡単。

コメント

非公開コメント

プロフィール

light higgs

Author:light higgs
KEK(高エネルギー加速器研究機構)@つくば市でBelle2という実験をやっている。
自称『日本最低の物理屋』。
『円眞堂』(えんしんどう、本当は圓眞堂)は父の屋号です。写真のぬいぐるみについてはこのエントリ参照のこと
中村円眞堂@instagram

最新記事
カテゴリ
月別アーカイブ
最新コメント
検索フォーム
リンク