IROHA2ポータルサイト
What's new
- 2023.04.26 動作環境に追記
- 2023.03.07 IROHA2.7.1の情報を追加
- 2022.05.11 ポータルサイト公開開始
IROHA2とは
IROHA2はJ-PARC MLFに設置された実験装置の制御や自動測定を行うためのソフトウェアフレームワークである。IROHA2はデバイス制御サーバー、装置管理サーバー、シーケンス管理サーバー、統合制御サーバーから構成される。これらのサーバーはすべてWebユーザーインターフェイス(Web UI)を持ち、ユーザーはWebブラウザから操作を行うことができる。
デバイス制御サーバー
デバイス制御サーバーは実験に用いる機器の監視および操作を行う。 機器に応じた制御プログラム(デバイスモジュール)を作成し、サーバーに登録することで、 Web UIを通して機器への接続や操作を行うことができる。
また、サーバーの操作に関するログ(操作ログ)、機器のステータスのログ(監視ログ)、 測定中の機器のステータスのログ(測定ログ)を保存する。 これらのログはWeb UI上で確認することが可能で、 測定ログについてはグラフとして可視化することが可能である。
装置管理サーバー
装置管理サーバーはデバイス制御サーバーで制御する機器の管理およびDAQシステムによる測定の制御を行う。 複数のデバイス制御サーバーと接続し、デバイス制御サーバーの状態の監視や 測定に用いる機器の構成(デバイス構成)の作成を行う。 装置管理サーバーから測定を行うことで、測定データに加えて機器の構成情報、設定値および 測定ログを保存することができる。
また、IROHA2のユーザーアカウントの管理や認証なども行う。 後述するシーケンス管理サーバーや統合制御サーバーからのリクエストを処理し、 デバイス制御サーバーへの指令を送る、ハブ的な役割を担っているサーバーである。
シーケンス管理サーバー
シーケンス管理サーバーは実験の自動化を実現するサーバーである。 機器の制御およびDAQシステムによる測定を実行するコマンド(ファサード)を組み合わせてスクリプトとし、 そのスクリプトを実行することで自動的に実験を実施することができる(測定シーケンス)。
Web UIを利用してスクリプトの作成や編集、測定シーケンスの実行が可能である。 また、測定シーケンスは動的に変更が可能であり、未実行のコマンドの順番を変更したり、 未実行のコマンドの途中に追加のコマンドを差し込むことも可能である。
統合制御サーバー
統合制御サーバーは装置管理サーバーおよびシーケンス管理サーバーから情報を収集し、 装置全体の情報を統合的に監視、制御するためのサーバーである。 Web UIのカスタマイズにより必要な情報を選択して表示することが可能である。
遠隔操作・監視
IROHA2の4種のサーバーはすべてWeb UIを持ち、ネットワーク内(JLAN)の任意のマシンからアクセスして操作を行うことができる。 IROHA2を実行しているマシンでの操作はもちろんのこと、そのマシンと同一のネットワーク内のマシンであれば操作が可能である。 これにより、例えば、J-PARC研究棟からIROHA2を操作し、実験をリモートで進めることも可能である。
また、統合制御サーバーおよびシーケンス管理サーバーは静的HTMLを出力する機能を持ち、 これを外部公開用サーバーに登録することでJLAN外から実験ステータスを監視することができる。
ドキュメンテーション
オンラインマニュアル
各種情報
バージョン情報
バージョン2.7.1
- DNA用LS350モジュールにヒーター出力取得のコマンド追加
- run.shでの起動時にPythonの詳細なバージョン情報を表示するように変更
- 統合制御サーバーでEnd conditionを使用した測定時に起きるエラーへの対応
- ファサード作成機能の修正
バージョン2.7.0
- デバイス監視ログ可視化機能の追加
- デバイスインスタンス削除時のメソッド追加
- デバイスモジュールのparams.tplにdefault属性を追加
- デバイス制御サーバーにサーバー停止ボタンを追加
- シーケンス管理サーバーのWeb UI改良
- ログフィルター機能の強化
- LS350およびLS336デバイスモジュールにランピング時にInProgressを無視するモードを追加
- 測定情報におけるユーザー定義情報の表示・更新機能の追加
- 測定ログ作成に関する仕様変更
- シーケンス管理サーバーのスクリプトおよびファサードの読み込みに関する修正
- デバイス制御サーバーのAllowed Hosts設定に関する修正
バージョン2.6.4
- デバイス制御サーバーのEdit paramsページにおけるSaveボタンの挙動変更
- systemctlでの実行用スクリプトの改善
- Slack連携機能のシーケンス進捗投稿に関する修正
- 統合制御サーバーの静的HTML出力に関する修正
バージョン2.6.3
- Python3でのファサード実行に関する修正
- スクリプトのチェックタブに関する修正
- ファサード用ライブラリ関数RoundFloatの改良
- ファサードツリーの表示に関する改善
- Slack連携機能の画像投稿機能の改善
- チョッパーエミュレータに関する修正
バージョン2.6.2
- ファサード用ライブラリ関数RoundFloatの追加
- 冷凍機コンプレッサー電源制御デバイスモジュール追加
- ファサード用ライブラリ関数ValidateParameterの動作変更
- セッションに関する設定の修正
- デバイスモジュールのグローバル変数に関する修正
- デバイス制御サーバー非接続時の装置管理サーバーからのBegin/Endに関する修正
バージョン2.6.1
- 統合制御サーバーのデバイスパネルに関する修正
- LakeShoreのデバイスモジュールに関する修正
- ファサード作成機能に関する修正
- 装置管理サーバーの起動に関する修正
バージョン2.6.0
2020年から2021年にかけてフレームワークとしての高度化を行った。
- 各サーバーにおいて同一の機能を提供するソースコードを共通化
- 各サーバーの設定ファイルを1つのディレクトリ下にまとめて保存するように変更
- デバイス制御サーバー単位でモニタリングカテゴリとする機能の追加
- デバイスモジュールのEnable/Disable状態の保存機能の追加
- Slack連携機能の追加
- マニュアルのHTML化
- ツジコンデバイスモジュール高度化(パルス速度変更機能追加)
これ以前のバージョンについてはコード変更履歴を参照のこと。
動作環境
バージョン2.8.x(予定)
項目 | バージョン等 |
---|---|
OS | Linux(RHEL8系, 9系、AlmaLinux8, 9を推奨) |
Python | 3.9(デバイス制御サーバーのみPython2.7でも動作可能) |
Webブラウザ | Firefox推奨 |
バージョン2.7.x
項目 | バージョン等 |
---|---|
OS | Linux(RHEL7系, 8系、CentOS7を推奨) |
Python | 2.7(2.7.6以上を推奨), 3.6 |
Webブラウザ | Firefox推奨 |
バージョン2.6.x
項目 | バージョン等 |
---|---|
OS | Linux(RHEL7系, 8系、CentOS7を推奨) |
Python | 2.7(2.7.6以上を推奨), 3.6 |
Webブラウザ | Firefox推奨 |
ダウンロード
IROHA2はRed Hat Enterprise Linuxおよびその派生ディストリビューションで動作することを想定している。 インストーラーやパッケージによるインストールではなく、ソースコードを任意のディレクトリに展開し、起動スクリプトで実行する。詳細についてはマニュアルを参照のこと。
ソースコードはJ-PARCユーザーに限り無償提供を行っているため、ダウンロード先の公開は行っていない。入手方法については開発担当者に問い合わせのこと。
バージョン | 公開日 | 入手方法 |
---|---|---|
2.7.1 | 2023.03.07 | 担当者問い合わせ |
2.6.4 | 2022.04.20 | 担当者問い合わせ |
問い合わせ先
開発担当:長谷美宏幸(JAEA J-PARCセンター)