Skip to main content
ラボビュー装置ツリーを対象とした プロジェクトスコープのダッシュボードで、テスト装置内のすべてのチャンネルと その使用状況を表示します。「いま何が動いていて、チャンネルはいつ空くのか」 という問いに答えるために使います。

チャンネル占有状況

ラボビューは、各チャンネルの状態をリンクされた測定から導出します — ライブテレメトリはありません。チャンネルは次の 4 つの状態のいずれかを取ります: 鮮度ウィンドウは 48 時間に固定されています。これは典型的なサイクラーの日次アップロード頻度より十分に大きく、およそ 2 回分の想定更新をスキップしたときにのみチャンネルが stale に切り替わります — 短時間の遅延ではなく、真の「停止・忘却」シグナルです。 stale チャンネルを解放するには、リンクされた測定に end_time を設定する(テストを完了としてマークする)か、その測定を削除してください。

チャンネルをテーブルで表示する

ラボビューは、既定のカードレイアウト(サイクラーごとにグループ化されたチャンネル)と、 プロジェクト内のすべてのサイクラーを横断して 1 行につき 1 チャンネルを表示する テーブルビューを切り替えられます。ラボビュー上部のレイアウト切替でモードを変更できますが、 選択は保存されません — 更新やページ遷移を行うとカード表示に戻ります。 次のような場合にテーブルビューを使ってください。
  • サイクラーごとのグリッドではなく、プロジェクト内のすべてのチャンネルを 1 枚のフラットなリストで一覧したい。
  • サイクラーを横断してチャンネルを絞り込み・比較したい — 例:すべての stale チャンネルを表示する、電気的定格を比較する。
  • ラボが現在どう稼働しているかを、チャンネル単位のスナップショットとしてコピーしたい。
各行にはチャンネルカードと同じ情報 — サイト、サイクラー、チャンネル名、占有状態、電気的定格、 アクティブな測定(あれば)とその estimated_end_time、および out_of_commission フラグ — が 表示されるので、レイアウトを切り替えても隠れる情報はありません。行をクリックすると、 カードをクリックしたときと同じチャンネルページが開き、 同じ channel:read 権限でアクセスが制御されます。 テーブルは client.lab.status() が公開しているのと同じ集計から読み込まれるため、 Python から同じフラットな 1 行 1 チャンネルのビューが欲しい場合は、 ツリーを自分で平坦化してください。

チャンネルを詳しく見る

ラボビューでチャンネルをクリックすると、その装置のいまと過去をまとめた チャンネルページが開きます。Ionworks Studio の他の場所ですでに表示されている データを一つの画面に集約しているため、複数の測定を行き来しなくても、そのチャンネル で何が起きているかを把握できます。 チャンネルページには次の情報が表示されます。
  • 現在の状態(freeoccupiedstale、または out_of_commission)と電気的定格。
  • アクティブな測定(存在する場合)— セル、プロトコル、開始時刻、推定終了時刻 — に加え、測定に end_time を設定してチャンネルを解放する Mark complete(完了としてマーク)アクション。
  • アクティブな測定の直近のデータを 2 つのタブで表示:
    • Time series(時系列)— 生信号の直近ウィンドウ(デフォルトは電圧。プロット側のセレクタから電流、温度、その他の列も追加できます)。x 軸は測定の start_time を起点としたカレンダー日付軸なので、経過秒ではなく実際の日付でグラフを読めます。
    • Cycles(サイクル)— 測定全体を通したサイクル単位のサマリ指標。
  • このチャンネルで実行された 直近 100 件の測定履歴(開始時刻が新しい順)と、各測定の詳細ページへのリンク。
時系列ウィンドウはユーザーが制御します — 日数(デフォルトは 7 日)を設定して Refresh をクリックすると再取得します。自動ポーリングはしないので、プロットは 明示的に更新したときだけ変わり、「as of」タイムスタンプはそのスナップショットを 取得した時刻を示します。プロットするデータがあるのは occupied または stale の アクティブな測定を持つチャンネルだけで、freeout_of_commission のチャンネル では状態バッジと履歴のみが表示されます。 チャンネルページからの完了マークは、SDK からの end_time パッチと等価で、 チャンネルは即座に free に戻ります。
チャンネルページへのアクセスは channel:read 権限に従います — 権限を持たない ユーザーはラボビューで装置ツリーを閲覧できますが、個々のチャンネルにドリルダウン することはできません。

SDK から占有状況を照会する

client.lab は、ラボビューが描画に使うのと同じ集約 API をラップし、「いまラボはどう動いているか」という定番の質問に Python から答えます。読み取り専用です — 装置を変更するには client.siteclient.cyclerclient.channel を使ってください。 ネットワークにアクセスするのは status() だけです。他のメソッドはそのペイロードに対するクライアント側ビューで、デフォルトでは各呼び出しが独自にスナップショットを取得するため、1 回の呼び出しは常に内部整合的です。
別々の呼び出しは別々のスナップショットを取得するため、その間に装置が変化すると結果が食い違うことがあります。同じ瞬間の複数のビューが必要な場合(例: 稼働率と空きチャンネル一覧を同時に見る)は、スナップショットを 1 度だけ取得し、status キーワードで渡してください:
定格のないチャンネルは、その定格をフィルタとして指定した free_channels の結果から除外されます — 定格のないチャンネルが要件を満たすとは示せないためです。定格のないチャンネルを含めたい場合はフィルタを外してください。

チャンネルをウォッチする

チャンネル上で現在実行中のテストを追いかけたい場合は、そのチャンネルを ウォッチ します。エンジニアは通常、自分のセルを動かしている少数のチャンネルをウォッチしておき、ラボウォールで Only watched フィルタを切り替えると、他をすべて隠して、気にしている実行だけを掘り下げられます。 ウォッチはチャンネルそのものではなく、現在そのチャンネル上にある特定の セル測定 に紐付いています — したがってその測定が終了した瞬間(end_time がセットされた瞬間)、ウォッチは 自動的に解除 されます。同じチャンネルで新しいテストが始まっても、暗黙のうちにあなたのウォッチリストに戻されることはありません。新しい実行が始まったら、あらためてオプトインしてください。 ウォッチはチャンネルページまたはラボウォールから設定します — 稼働中の occupied または stale な測定があるチャンネルにのみ Watch トグルが表示されます(free または out_of_commission のチャンネルにはウォッチ対象がありません)。ウォッチはユーザーごとに管理されるため、各メンバーは他のメンバーに影響を与えることなく、自分のウォッチリストをキュレーションできます。

スケジューリング不変条件

ラボビューと装置レコードの整合性を保つため、サーバーはいくつかのスケジューリング不変条件を強制します。時間順序や種別に関するルールに違反するリクエストは HTTP 400 で拒否され、チャンネルのスケジューリング競合(重複、サービス外)は HTTP 409 を返します。いずれの場合も書き込みは行われず、チャンネル状態も変わりません。 オーバーラップチェックは end_time のない測定のみを対象にします — 完了済みのテストが新しいテストをブロックすることはありません。使用中のチャンネルを再スケジュールするには、まず実行中の測定を閉じる(end_time をパッチする)か別のチャンネルに移してから、新しい測定を紐付けてください。
チャンネルをサービスに戻す必要がある場合は、新しい測定を割り当てる前に out_of_commission を解除してください:

次のステップ

チャンネルサービス

チャンネルをサービス外にし、停止履歴を確認します。

計画済み測定

テストをリクエストし、チャンネルにスケジュールし、実測定を紐付けます。