IROHA2装置管理サーバー ================================= .. contents:: 目次: :depth: 3 起動 ################################# 手動起動 --------------------------------- 装置管理サーバーがインストールされたディレクトリにおいて以下のコマンドを実行する。 .. code-block:: sh $ cd /opt/mlfsoft/iroha2/iroha-management-server $ ./run.sh コンソールにはアクセスログ(POST/GETなど)が出力される。 サービスとしての起動 --------------------------------- 装置管理サーバーをサービスとして登録している場合、systemctlコマンドによるサーバーの起動・停止の管理が可能である。 .. code-block:: sh # 起動 $ sudo systemctl start irhmngsrv # 状態確認 $ sudo systemctl status irhmngsrv # 再起動 $ sudo systemctl restart irhmngsrv # 停止 $ sudo systemctl stop irhmngsrv サービスとして起動した場合、サーバーへのアクセス(POST/GETなど)を記録するアクセスログが出力される。 バージョン2.6までは :file:`/tmp` に上書きで保存され、ファイル名のフォーマットは以下の通りである。 :file:`irhmngsrv.{ポート番号}.log` バージョン2.7からは起動時の日時をファイル名に付与して :file:`/tmp` に保存する。ファイル名のフォーマットは以下の通りである。 :file:`irhmngsrv.{ポート番号}.YYYYmmdd-HHMMSS.log` Web UIへのアクセス --------------------------------- サーバーを起動しているマシンからアクセスする場合、Webブラウザで以下のURLにアクセスする。 **http://localhost:8086** サーバー外のマシンからアクセスする場合、localhostをサーバーのIPアドレスに変更する。 URLにアクセスすると装置管理サーバーのログイン画面が表示される。 .. figure:: images/irhmngsrv/login.jpg :scale: 60 :alt: Alternative Text :name: login 装置管理サーバーのログイン画面 初期状態では管理者のアカウントのみが登録されている。 Web UI ################################# 管理者ログインとホーム画面 --------------------------------- 管理者としてログインに成功すると装置管理サーバーのホーム画面が表示される。装置管理サーバーの画面構成を :numref:`home` に示す。 .. figure:: images/irhmngsrv/home_menu.jpg :scale: 40 :alt: Alternative Text :name: home 装置管理サーバーのホーム画面 装置管理サーバーのWeb UIはシステムステータスバー、メニューおよびメニューに依存して表示されるメインコンテンツで構成されている。 システムステータスバー ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ システムステータスバーは常に表示され、システム状態を表示する。 .. csv-table:: システムステータスバー :header-rows: 1 :widths: 8, 17, 75 :name: system_status_bar 項番, 項目, 説明 1, 装置名, デフォルトでは、Management Serverと表示される。Settingsメニューで変更できる。 2, デバイス状態, "装置名の右横に表示される。登録されたデバイス制御サーバー上にあるデバイスのうち、測定に使用する構成デバイスの統合された状態を表示する。状態は以下のプライオリティで表示される。 | Unknown:デバイス構成にデバイスが含まれていない状態 | Error:ひとつ以上のデバイス制御サーバーと通信できない状態 | Disconnect:ひとつ以上の構成デバイスがデバイス本体と通信できていない状態 | Connecting:ひとつ以上の構成デバイスがデバイス本体と接続中 | ParameterSetting:ひとつ以上の構成デバイスがパラメータ設定中 | InProgress:ひとつ以上の構成デバイスがパラメータ設置完了待ち | Ready:すべての構成デバイスが測定可能または測定状態" 3, モニタリングデバイス状態, "デバイス状態の右横に表示される。登録されたデバイス制御サーバー上にあるモニタリングデバイスの統合された状態を表示する。状態は以下のプライオリティで表示される。 | Unknown:デバイス構成にデバイスが含まれていない状態 | Error:ひとつ以上のデバイス制御サーバーと通信できない状態 | Disconnect:ひとつ以上の構成デバイスがデバイス本体と通信できていない状態 | Connecting:ひとつ以上の構成デバイスがデバイス本体と接続中 | ParameterSetting:ひとつ以上の構成デバイスがパラメータ設定中 | InProgress:ひとつ以上の構成デバイスがパラメータ設置完了待ち | Ready:すべての構成デバイスが測定可能または測定状態" 4, DAQ状態, "DAQ M/W の統合状態を表示する | UNKNOWN:状態を取得中 | ERROR:DAQ | M/W のDAQ | Operator と通信できていない状態 | FATAL:ひとつ以上のDAQ コンポーネントがFATAL | PAUSED:ひとつ以上のDAQ コンポーネントがPAUSED | CONFIGURED:ひとつ以上のDAQ コンポーネントがCONFIGURED | LOADED:ひとつ以上のDAQ コンポーネントがLOADED | FINISHED:ひとつ以上のDAQ コンポーネントがFINISHED | RUNNING:すべてのDAQ コンポーネントがRUNNNING" 5, 予約ボタン, "システムを予約して、他のユーザが使用できないようにする。 | NOT RESERVED:システムは誰にも予約されておらず、予約可能 | RESERVERD for :システムは<User>に予約され使用中" 6, ログインユーザ名, ログインしているユーザ名を表示する 7, Logout, ログアウトボタン:押下するとログアウトする 8, Help, ヘルプ画面を表示する メニュー ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. csv-table:: メニュー :header-rows: 1 :widths: 8, 17, 75 :name: menu 項番, 項目, 説明 1, Home, ログイン直後の画面で測定の概要を表示する 2, Measurement, 測定のための設定及び簡易測定制御を行う画面 3, Configuration, 登録されたデバイス制御サーバーから使用するデバイスの組み合わせを選択する画面 4, Run Information, Run情報のディレクトリリスト及び指定Run番号のRun情報を表示するための画面 5, Message Log, 測定のためのAPI 通信など測定に関係するメッセージの送受信が記録されるメッセージログを表示する。本メニューは管理者ログイン時のみ表示される。 6, Servers, デバイス制御サーバーを登録・編集する画面。本メニューは管理者ログイン時のみ表示される。 7, Users, 装置管理サーバーユーザの登録・編集画面。本メニューは管理者ログイン時のみ表示される。 8, Theme, 実験課題の選択画面。本メニューは管理者ログイン時のみ表示される。 9, Settings, 装置管理サーバーの基本的な設定を行う画面。本メニューは管理者ログイン時のみ表示される。 10, Configuration Log, デバイス制御サーバーの登録やデバイス構成の変更などのシステムの構成変更操作が記録される構成ログを表示する。本メニューは管理者ログイン時のみ表示される。 11, Authentication Log, ユーザのログイン、ログアウトや登録削除などが記録される認証ログを表示する。本メニューは管理者ログイン時のみ表示される。 12, Development, 開発者用の情報表示画面 .. _server_settings_page: 初期設定:Settings --------------------------------- 初期設定はSettingsメニューで行う。この設定は通常運用中には変更しない項目である。 この画面は管理者のみに表示される。 .. figure:: images/irhmngsrv/server_settings.jpg :scale: 60 :alt: Alternative Text :name: server_settings Settings画面 .. csv-table:: Settingsの設定内容 :header-rows: 1 :widths: 8, 17, 75 :name: settings 項番, 項目, 説明 1, srvName, サーバー名。システムステータスバーおよびWebページタイトルとして保存される。 2, instCode, 3文字の装置コード。測定結果の出力等に使用される。DAQ M/W で設定している値と同一の値にする。 3, medPassword, MLF実験データベースから出力されるユーザファイルの出力先を指定する。未登録のユーザでもこのファイルに登録されていれば、ログイン時にインポートされる。 4, outputBasePath, "runInfoやログなどの測定結果を出力するディレクトリのベースパスを設定する。測定結果は以下のように出力される。 | <ベースパス>/<装置コード>/<装置コード><RUN#>_YYYYMMDD/params/run.xml | 例) :file:`/opt/mlfsoft/data/SIK/SIK012345_20140205/params/run012345.xml` " 5, logConf, 構成ログの保存パスを指定する。 6, logAuth, 認証ログの保存パスを指定する。 7, logMsg, メッセージログの保存パスを指定する。 8, runInfoPageMax, "Run Informationメニューでの1ページあたりの表示数を設定する。 | ★admin 以外のユーザはユーザフィルタのため表示が著しく遅くなる可能性があるため、ページングされない。最新のRun情報の1ページ分が表示される。" 9, retryMax, デバイス制御サーバー接続時のリトライ回数を設定する。リトライ回数を超えて接続できない場合は、該当サーバーへの接続はResetされるまで再試行されない。0に設定すると無限に接続を試みる。 10, authSrv, 統合認証サーバーのURIを設定する。セカンダリーサーバーを登録する場合は、スペースで区切って設定する。 11, authSrvBaseDn, 統合認証サーバーアクセス時のBaseDnを設定する。 12, authSrvSearchOu, 統合認証サーバーアクセス時のOuを設定する。 13, infoSrv, 連携データベースのIPアドレスを設定する。セカンダリーサーバーを登録する場合は、スペースで区切って設定する。 14, infoSrvUsr, 連携データベースのユーザーを設定する。 15, infoSrvPass, 連携データベースのパスワードを設定する。 16, keyDir, "RSA 鍵の作成ディレクトリを設定する。本項目は、Web UI からは参照できないため、以下のファイルをエディタで編集する必要がある。 | :file:`iroha-settings/management/database/settings.xml` " .. _system_dir: 想定システムディレクトリ構成 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ outputBasePathの設定で想定されているディレクトリ構成は以下の通りである。 * :file:`/opt/mlfsoft/iroha2/iroha-device-server` :デバイス制御サーバー(ライブラリ用) * :file:`/opt/mlfsoft/iroha2/iroha-management-server` :装置管理サーバー 出力測定結果 * :file:`/opt/mlfsoft/data////yesと設定してLoggingディレクトリが既に存在した場合でもFATALとならないようにしておく必要がある。 外部連携モード ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 統合認証システムおよび連携データベースとの外部連携モード種別については、以下の通りである。 .. csv-table:: 外部連携モード :header-rows: 1 :widths: 8, 22, 50, 20 :name: authentication 項目, 外部連携モード, 説明, 備考 1, フル (Fully-Integrated), 統合認証システムでの認証、連携データベースとの連携が行われる。認証情報はRSA公開鍵で暗号化される。, 統合認証優先、ローカル認証 2, 統合認証のみ (Integrated-Authentication), 統合認証システムでの認証が行われる。認証情報は、RSA公開鍵で暗号化される。, 統合認証優先、ローカル認証 3, 暗号化送信のみ (Encrypted-Authentication), 統合認証システムおよび連携データベースとの連携は行われない。認証情報は、RSA公開鍵で暗号化される。, ローカル認証 4, 平文のみ (Plane-Authentication), 統合認証システムおよび連携データベースとの連携は行われない。認証情報は、平文でやり取りされる。, ローカル認証 .. note:: 現在の外部連携モードはSettings画面に状態を表示する。 ユーザ登録および編集:Users --------------------------------- :guilabel:`Users` メニューでは管理者パスワードの変更、一般ローカルユーザの登録、削除、パスワード変更および強制ログアウトを行うことができる。 この画面は管理者のみに表示される。 ローカルユーザを追加するには、 :guilabel:`new User` にユーザ名を入力、 :guilabel:`new Password` にパスワードを設定して、 :guilabel:`Add` ボタンを押下する。 この画面から登録されたユーザの :guilabel:`Type` はLocalとなる。 登録済みユーザの削除は該当ユーザの右にある :guilabel:`Delete` を押下する。 ユーザパスワードの変更は該当ユーザの右にある :guilabel:`Password` を入力して :guilabel:`Change Password` ボタンを押下する。 統合認証サーバーの認証でログインしたユーザーの :guilabel:`Type` はLDAPとなり、パスワードの変更および削除は行えない。 MLF実験データベース(MED)のパスワードファイルからのユーザインポートは MEDパスワードファイルに登録されたユーザがログインするタイミングで実行される。 Type MED としてインポートされ、その後の扱いは一般ユーザと同じである。 :guilabel:`Status` にはログイン中のユーザ状態(On Line)とともに接続セッション数(異なるホストやブラウザでアクセスしているセッション数)が表示される。 :guilabel:`Logout` ボタンは接続中の該当ユーザセッションをすべて切断する。 .. figure:: images/irhmngsrv/users.jpg :scale: 60 :alt: Alternative Text :name: users Users画面 デバイス制御サーバーの登録:Servers ---------------------------------------- :guilabel:`Servers` メニューからデバイス制御サーバーを登録する。この画面は管理者のみに表示される。 .. figure:: images/irhmngsrv/server_devsrv.jpg :scale: 60 :alt: Alternative Text :name: server_devsrv Servers画面におけるデバイス制御サーバーの登録 デバイス制御サーバーを登録するにはデバイス制御サーバーのIPアドレスとポート番号、サービス名を入力して :guilabel:`Add` ボタンを押下する。 デバイス制御サーバーのデフォルトポート番号は8085、サービス名は変更していなければirhdevsrvである。 また、 :guilabel:`Monitor` のラジオボタンをOnにすることでこのデバイス制御サーバーをモニタリング対象とすることができる。 追加後、 :guilabel:`Status` 欄の表示がErrorとなった場合はデバイス制御サーバーとの通信ができていないことを示す。 IPアドレスやデバイス制御サーバーが起動しているかを確認を行う。 Error状態ではデバイス制御サーバーの監視は停止している。 設定確認後 :guilabel:`Reset` ボタンを押下すると再度接続を試みる。 Readyとなれば正常である(この画面の :guilabel:`Status` は自動更新されないので、Webブラウザの更新ボタンを押下する)。 paramiko(pythonによるsshログイン)がインストールされているマシンでは :guilabel:`Control` ボタンがアクティブになり、 押下すると該当サーバーのデバイス制御サーバーを起動、停止、状態取得できる。 .. figure:: images/irhmngsrv/server_control.jpg :scale: 60 :alt: Alternative Text :name: server_control Servers画面におけるデバイス制御サーバーの制御 Server Root Passwordを入力して :guilabel:`Start Service` で起動、 :guilabel:`Stop Service` で停止、 :guilabel:`Status` で起動状態が表示される。 .. note:: このパスワードは該当メニューから移動するまで保持される。 使用後は別なメニューに移動するか、ログアウトする必要がる。 DAQ M/Wの設定:Servers ---------------------------------------- :guilabel:`Servers` メニューの下部にはDAQ M/Wの設定がある。 DAQ OperatorのIPアドレスなどを設定する。 この画面は管理者のみに表示される。 .. figure:: images/irhmngsrv/server_daqmw.jpg :scale: 60 :alt: Alternative Text :name: server_daqmw Servers画面におけるDAQ M/Wの設定 .. csv-table:: DAQ M/Wの設定内容 :header-rows: 1 :widths: 8, 17, 75 :name: setting_daqmw 項番, 項目, 説明 1, host, DAQ OperatorのIPアドレスを設定する。 2, urlCnt, DAQ M/Wの制御スクリプトのパスを設定する。 3, inPathConfig, 測定開始時に :file:`config.xml` の書き換えを行う場合に入力となる :file:`config.xml` のパスを設定する。入力しない場合はこの処理は行われない。 4, outPathConfig, 測定開始時に :file:`config.xml` の書き換えを行う場合に出力先となる :file:`config.xml` のパスを設定する。入力しない場合はこの処理は行われない。 5, inPathCondition, 測定開始時に :file:`condition.xml` の変換を行う場合に入力元となる :file:`condition.xml` のパスを設定する。入力しない場合はこの処理は行われない。またRun情報にcondition情報が記録されない。 6, outPathCondition, 測定開始時に :file:`condition.xml` の変換を行う場合に出力先となる :file:`condition.json` のパスを設定する。未入力の場合はこの処理は行われない(本機能を利用するにはpythonのlxmlモジュールが必要)。 7, daqCntRetry, DAQ M/W 制御時のタイムアウト回数を指定する。Begin/Endコマンド送信後、DAQ M/W がRUNNING/CONFIGUREDとなるまで待ち時間となる(約1秒でデフフォルトでは1分待つ)。 8, kickerCompName, Kickerコンポーネントの名称を指定する。 デバイス構成の作成:Configuration ---------------------------------------- 登録されたデバイス制御サーバー上にあるデバイスのうち、測定に使用するデバイスを選択してまとめたものをデバイス構成と呼ぶ。 :guilabel:`Configuration` 画面では、複数のデバイス構成を作成できる。 デバイス構成はユーザ毎に作成され、Public属性を持つものは他のユーザも使用できる(構成の変更・削除はできない)。 Publicでないデバイス構成(Private)は管理者以外の他のユーザから参照することはできない。 .. figure:: images/irhmngsrv/configuration.jpg :scale: 60 :alt: Alternative Text :name: configuration Configuration画面 デバイス構成を追加するには、まずデバイス構成名を設定し追加する。 デバイス構成名にはアルファベット、数字、_(アンダースコア)が使用できる。 デバイス構成追加時に :guilabel:`All Device` チェックボックスをONにしておくと登録されているデバイス制御サーバーから取得されたすべてのデバイスをデバイス構成に追加する。 :guilabel:`Public` チェックボックスをONにしておくと公開構成となる。 デバイス構成の詳細は該当デバイス構成の :guilabel:`Edit` ボタンを押下すると編集できる。 .. figure:: images/irhmngsrv/configuration_edit.jpg :scale: 60 :alt: Alternative Text :name: configuration_edit Configuration編集画面 編集画面では各デバイスを以下の3つのカテゴリに分類することができる。 .. csv-table:: Configurationにおけるデバイスのカテゴリ :header-rows: 1 :widths: 8, 22, 70 :name: configuration_category 項番, カテゴリ, 説明 1, Use Device, 監視および制御対象とするデバイス 2, Monitor Device, 監視のみ行うデバイス。このデバイスがError状態となっても測定には影響が出ない。 3, Not Use Device, 監視および制御を行わないデバイス デバイス構成は複数作成できる。 測定に使用するデバイス構成は測定予約した後、 :guilabel:`Activate` ボタンを押下して有効化する。 測定予約していない状態ではActivateできない。 測定予約 ---------------------------------------- 測定を同時に実行できるユーザは一人である。 このため、測定を行うには測定予約をする必要がある。 測定予約はシステムステータスバーの :guilabel:`NOT RESERVED` となっているボタンを押下する。 NOT RESERVED以外の時には測定予約を行うことができない。 測定予約を解除するには、測定予約をしているユーザが :guilabel:`RESERVED for <User>` となっているボタンを押下して測定予約を解除する。 管理者は他のユーザの測定予約を解除することができる。 一般ユーザは他のユーザの測定予約を解除することはできない。 また、測定予約状態はログアウトやサーバーの再起動では解除されない。 測定画面:Measurement ---------------------------------------- 測定画面ではコメントなどの測定設定と簡易測定制御を行うことができる。 測定画面は管理者には測定予約なしで表示されるが、一般ユーザには測定予約しないと表示されない。 測定制御は測定予約ユーザがいない状態では無効化されている。 測定予約をすると測定予約ユーザまたは管理者が測定制御を行える。 .. figure:: images/irhmngsrv/measurement.jpg :scale: 60 :alt: Alternative Text :name: measurement Measurement画面 :guilabel:`Run No` および :guilabel:`Experiment ID` はadminユーザに対してのみ表示される。 装置管理サーバーからBeginしたときに :guilabel:`Application Name` および :guilabel:`Application Version` がブランクの場合は :guilabel:`Application Name` にirhmngsrv、 :guilabel:`Application Version` に装置管理サーバーバージョンが入る。 測定制御:Measurement ---------------------------------------- デバイスの設定などを含む高度な測定はExperiment Schedulerなどの測定制御アプリケーションで行うことが想定されているため、 装置管理サーバーではサポートされていない。装置管理サーバーでは、測定開始、停止などの簡易測定制御を行うことができる。 簡易測定では次の処理を行う。 * 測定開始(Begin) * デバイス構成およびDAQ M/W の状態確認(ERROR でない) * 測定結果用ディレクトリの作成、測定結果(runInfo)の準備 * デバイス制御サーバーの測定ログパス変更と測定ログの取得開始 * DAQ M/W の状態リセット(他の状態にあってもCONFIGURED 状態になります) * DAQの開始 * 測定の中断及び再開(Pause/Resume) * DAQ のPAUSE(一時停止)およびRESUME(再開) * 測定終了(End) * DAQ の停止 * デバイス制御サーバーの測定ログ停止 * 測定結果の出力 * リセット(Reset) * 全デバイス制御サーバーへのリセット送信 * 装置管理サーバー上のデバイス制御サーバー通信状態のリセット * 測定状態のリセット(装置管理サーバー上の状態リセット) * DAQ M/W をCONFIGUREDとする .. note:: Reset 時にはRun No はインクリメントされない Recent Run情報は最近実行された測定または実行中の測定情報を表示する。 この情報は装置管理サーバーが起動している状態で管理されているため、 装置管理サーバーを再起動すると次回測定まで表示されない(ファイルには保存されていない)。 ログフィルターの設定(バージョン2.7以降) ################################# Message Log画面、Configuration Log画面、Authentication Log画面では :guilabel:`Filter` でログの種類を絞って表示することができるが、 加えて特定の文字列を含むメッセージを非表示にすることができる。 :file:`iroha-settings/management/database/log_msg_filter.json` にフィルターする文字列を定義する。 Message Logの設定 --------------------------------- `msg_log` キーのリストに文字列を追加する。文字列は正規表現に対応している。 複数の文字列を登録する場合にはカンマ(,)区切りで追加していく。 .. code-block:: { ... "msg_log": [ "message a", "message b" ] } Configuration Logの設定 --------------------------------- `conf_log` キーのリストに文字列を追加する。文字列は正規表現に対応している。 複数の文字列を登録する場合にはカンマ(,)区切りで追加していく。 .. code-block:: { "conf_log": [ "It was failed to import cx_Oracle module.*", "It was failed to import python pycrypt module.*" ], ... } Authentication Logの設定 --------------------------------- `auth_log` キーのリストに文字列を追加する。文字列は正規表現に対応している。 複数の文字列を登録する場合にはカンマ(,)区切りで追加していく。 .. code-block:: { ... "auth_log": [ "message c", "message d" ], ... } Run情報へのユーザー定義情報の追加 ################################# 測定時に出力されるRun情報ファイル( :ref:`system_dir` で説明されている :file:`run<Run 番号>.xml` )にユーザー定義の情報を追加することができる。 設定ファイル :file:`database/measurement.xml` にある要素に任意の要素を追加することで、その要素がRun情報ファイルに追加される。 例えば、Run情報ファイルに要素名「udef」、値「123」を追加したい場合、装置管理サーバー停止後に以下の様に記述する。 .. code-block:: 123 装置管理サーバーを起動して測定を行うと、Run情報ファイルには以下の様にユーザー定義情報が記述される。 .. code-block:: ...Protected123 Web UIによる設定(バージョン2.7以降) --------------------------------- バージョン2.7以降ではWeb UIによるユーザー定義情報の表示と更新が可能になった。 設定ファイル :file:`database/measurement.xml` にユーザー定義情報が記述されている場合、 ホーム画面およびMeasurement画面にユーザー定義情報が表示される。 また、Measurement画面ではユーザー定義情報の値の更新が可能である。 .. figure:: images/irhmngsrv/measurement_user_option.jpg :scale: 60 :alt: Alternative Text :name: measurement_user_option Measurement画面におけるユーザー定義情報の表示 .. note:: ユーザー定義情報は複数の要素を設定可能である。 ただし、Web UI上で表示・更新するためには、userOption要素の直下の階層に定義されていなければならない。 階層をより深くした場合、 (例えば、123456 とした場合) Run情報ファイルに情報は記述されるが、Web UIでは正しく表示されない。 統合制御サーバーとの連携機能 ################################# 統合制御サーバーの :guilabel:`Measurment` パネルは、統合制御サーバーのWebUIから測定制御やシーケンス制御を行うことを目的としている。 このパネルは2つの測定モード(簡易測定モード、シーケンスモード)を備えており、モード切り替えによっていずれかのモードを選択して使用する。 測定モード切替 --------------------------------- :guilabel:`Simple` ボタンで簡易測定モード、 :guilabel:`Sequence` ボタンでシーケンスモードに切り替わる。 :guilabel:`Begin` ボタン(シーケンスモードでは :guilabel:`Start` ボタン)を押下した後は、開始した処理が終了するまでモードの切り替えは不可となる(両モード共通)。 .. figure:: images/irhintsrv/measpanel_switch_mode.jpg :scale: 40 :alt: Alternative Text :name: intsrv_switch_mode 測定モード切替ボタン 簡易測定モード --------------------------------- 簡易測定モードはRunInfoサマリーパネルを拡張した機能を備えている。 装置管理サーバーに対して測定制御コマンド(BeginやEnd等)を送信する機能や、 装置およびRun情報を取得して表示する機能はRunInfoサマリーパネルと同様であるが、 測定終了条件としてKicker数または測定経過時間を指定することができる。 .. figure:: images/irhintsrv/measpanel_simple.jpg :scale: 60 :alt: Alternative Text :name: intsrv_simple Measurementパネル(簡易測定モード) 簡易測定モードの機能は以下の通りである。 * Run情報の閲覧 * 装置管理サーバーへのコマンド送信 * 測定終了条件の設定 * コメントの編集 * ユーザー持ち込み試料の選択 .. _intsrv_simple_runinfo_sec: Run情報の閲覧 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Run情報は自動的に定周期配信Jsonデータから取得され、パネル上に表示される。 更新間隔は :guilabel:`Settings` メニューの :guilabel:`System` タブにおける、 :guilabel:`Polling Interval of Web Browser` で設定する(adminでログインした場合のみ設定可能)。 表示されるRun情報を :numref:`intsrv_simple_runinfo` に示す。 .. csv-table:: User Accessタブでの設定項目 :header-rows: 1 :widths: 5, 30, 55 :name: intsrv_simple_runinfo No., 項目, 内容 1, Theme ID, 実験課題番号 2, Theme Title, 実験課題名 3, Inst, ビームライン番号と装置コード 4, Run No, ランナンバー 5, Status, 測定状態 6, System User, 予約ユーザー名 .. note:: 装置管理サーバーにおいてユーザー持ち込み試料情報の取得設定を行っている場合、試料情報の表示/選択を行う項目が追加される。 装置管理サーバーへのコマンド送信 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :guilabel:`Measurement` パネルには4つの制御ボタンが配置されており( :numref:`intsrv_simple` の赤枠)、 それぞれのボタンを押下することで、ボタンに対応するコマンドが装置管理サーバーに送信される。 各ボタンの機能は次のとおりである。 * :guilabel:`Begin` ボタン 指定した終了条件( :ref:`meas_end_cond` )で、装置管理サーバーに測定開始命令を送信する。 測定状態(Run情報のStatus)がReservedの場合のみ使用可能になる。 * :guilabel:`Pause` ボタン 測定を開始すると使用可能になる。装置管理サーバーに測定の一時停止命令を送信する。 測定状態がMeasuringの場合に使用可能になる。 * :guilabel:`Resume` ボタン 測定の一時停止中に使用可能になる。装置管理サーバーに測定の再開命令を送信する。 測定状態がPausingの場合に使用可能になる。 * :guilabel:`End` ボタン 測定中または、一時停止中に使用可能になる。装置管理サーバーに測定終了命令を送信する。 測定状態がMeasuringまたはErrorの場合に使用可能になる。 .. _meas_end_cond: 測定終了条件の設定 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 測定を開始するときは、次の3つの中から測定終了条件を選択する( :numref:`intsrv_simple` の緑枠)。 * :guilabel:`None` 測定終了条件を指定しない。測定終了命令を送信するまで測定が継続する。 * :guilabel:`Kicker` 測定を終了するkicker countを入力する。 指定したkicker countに達すると自動的に測定が終了する。 * :guilabel:`Time` 測定を行う時間を秒単位で入力する。測定開始から指定した時間が経過したのち、自動的に測定が終了する(一時停止中は経過時間に含まれない)。 :guilabel:`Measurement` パネルの下部に測定終了までの推定残り時間が表示される。 .. _edit_comment: コメントの編集 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ RunInfoサマリーパネルと同様の機能を持つ。 :guilabel:`Measurement` パネルのコメント欄( :numref:`intsrv_simple` の青枠)に、装置管理サーバーに設定されている測定のコメントが表示される。 コメントを編集後、:guilabel:`Apply` ボタンを押下することで、コメントを更新できる。 コメントを編集後、更新せずに :guilabel:`Reset` ボタンを押下すると、コメントを編集前の状態に戻すことができる。 ユーザー持ち込み試料の選択 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :ref:`infosrv_if_sec` における説明を参照のこと。 シーケンスモード --------------------------------- シーケンスモードについては :doc:`irhseqsrv` を参照のこと。 ユーザー持ち込み試料情報の入力I/F ################################# 連携データベースから実験課題番号およびそれに紐づいたユーザー持ち込み試料情報を取得し、 測定のメタデータとして保存する機能およびユーザーインターフェースについて説明する。 主な機能は以下の通りである。 * 連携データベースから取得した実験課題番号を用いて実験ユーザーアカウントを作成する機能 * 連携データベースから実験課題番号に紐づいたユーザー持ち込み試料情報を取得し、測定時に保存されるメタデータ( :file:`params/run.xml` )に情報を追加する機能 連携データベースとの連携セットアップ ---------------------------------------- Oracleモジュールの入手 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 以下のOracleモジュールを入手する。 * oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm * oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm * oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm tnsnames.oraの作成 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: db02-v3 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.107.60.133)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = mlfbiz.MLFSERV.j-parc.jp) ) ) Oracleモジュールインストール ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: sh $ sudo rpm -ihv oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm $ sudo rpm -ihv oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm $ sudo rpm -ihv oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm $ sudo mkdir /usr/lib/oracle/11.2/client64/network/ $ sudo mkdir /usr/lib/oracle/11.2/client64/network/admin $ sudo cp tnsnames.ora /usr/lib/oracle/11.2/client64/network/admin/ /etc/hostsの修正 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: 修正前) 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 .. code-block:: 修正後) 127.0.0.1 localhost localhost.localdomain ホスト名 ホスト名.intra.j-parc.jp Pythonライブラリのインストール ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: sh $ sudo yum install cmake $ sudo pip install -–upgrade pip $ sudo pip uninstall pycrypto $ sudo yum erase python-crypto $ sudo yum install pycrypto $ sudo pip install cx_Oracle Python3の場合 .. code-block:: sh $ source /opt/rh/rh-python36/enable $ sudo yum install cmake $ sudo /opt/rh/rh-python36/root/usr/bin/pip3 install -–upgrade pip $ sudo /opt/rh/rh-python36/root/usr/bin/pip3 uninstall pycrypto $ sudo yum erase python-crypto $ sudo yum install pycrypto $ sudo /opt/rh/rh-python36/root/usr/bin/pip3 install cx_Oracle 暗号キーの作成とディレクトリ指定 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 公開鍵 :file:`public.pem` および秘密鍵 :file:`private.pem` を作成する。 .. code-block:: sh $ cd /opt/mlfsoft/iroha2/iroha-settings/management/key/ $ ./keygen.sh :file:`iroha-settings/management/database/setting.xml` に暗号キーのディレクトリ情報を追加する。 .. code-block:: xml /opt/mlfsoft/iroha2/iroha-settings/management/key 装置管理サーバーにおける入力インターフェースの使用方法 ---------------------------------------- 連携データーベース接続情報の設定 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :ref:`server_settings_page` において連携データベースの接続情報を設定する。 設定する項目は以下の通りである( :numref:`settings` を参照)。 * infoSrv * infoSrvUsr * infoSrvPass 取得課題IDリストから未登録のIROHA2アカウントを作成 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1. 装置管理サーバーにadminでログインし、 :guilabel:`Theme` 画面を開く。 2. 実験年度を選択し、 :guilabel:`Get Proposal No. and Title of Experiment` ボタンを押下する。 3. アカウントを作成する課題IDを選択し、 :guilabel:`Create User` ボタンを押下する。 4. ユーザーが作成されると :guilabel:`Users` 画面に遷移し、課題IDと同じ名前のユーザーが作成される(パスワードはユーザー名と同じである)。 .. figure:: images/irhmngsrv/theme.jpg :scale: 50 :alt: Alternative Text :name: theme Theme画面における実験ユーザーアカウント作成 課題IDに紐づいた試料IDおよび試料名から複数を選択 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1. 新規作成した実験ユーザーアカウントで装置管理サーバーにログインする。 2. 画面上部の :guilabel:`Not Reserved` ボタンを押下し、予約ユーザーとなる。 ホーム画面にプロポーザル番号(課題ID)と実験タイトルが表示される(:numref:`home_theme`)。 3. :guilabel:`Measurement` 画面に移動する。 4. 表示された試料の一覧から測定対象とする試料をチェックボックスで選択し、画面下部の :guilabel:`Save` ボタンを押下する(:numref:`samples`)。 試料の情報が :file:`database/measurement.xml` に記録される。 5. :guilabel:`Home` 画面に移動すると試料情報が表示されるようになる(:numref:`home_samples`)。 6. 予約を解除すると試料情報はクリアされる。 .. figure:: images/irhmngsrv/home_theme.jpg :scale: 50 :alt: Alternative Text :name: home_theme ホーム画面における実験課題名の表示 .. figure:: images/irhmngsrv/samples.jpg :scale: 50 :alt: Alternative Text :name: samples 測定画面における試料の選択 .. figure:: images/irhmngsrv/home_samples.jpg :scale: 50 :alt: Alternative Text :name: home_samples ホーム画面における試料情報の表示 .. _infosrv_if_sec: 統合制御サーバーにおける試料情報の入力インターフェースの使用方法 ------------------------------------------------------------------- 測定サマリーパネルで課題IDに紐づいた試料IDおよび試料名から複数を選択する。 1. 装置管理サーバーに実験ユーザーアカウントでログインし、予約ユーザーになる。 2. 統合制御サーバーを起動し、実験ユーザーアカウントでログインする。 サマリーパネルに実験IDとタイトルおよび装置管理サーバーで設定した試料の一覧が表示される。 3. 測定対象とする試料をチェックボックスで選択し、試料一覧の右にある :guilabel:`Applyボタン` を押下する。 確認ダイアログで :guilabel:`OK` ボタンを押下すると装置管理サーバーに選択した試料の情報が送信される。 .. figure:: images/irhmngsrv/intsrv_samples.jpg :scale: 50 :alt: Alternative Text :name: intsrv_samples 統合制御サーバーにおける試料の選択