チャンネル占有状況
ラボビューは、各チャンネルの状態をリンクされた測定から導出します — ライブテレメトリはありません。チャンネルは次の 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 の他の場所ですでに表示されている データを一つの画面に集約しているため、複数の測定を行き来しなくても、そのチャンネル で何が起きているかを把握できます。 チャンネルページには次の情報が表示されます。- 現在の状態(
free、occupied、stale、またはout_of_commission)と電気的定格。 - アクティブな測定(存在する場合)— セル、プロトコル、開始時刻、推定終了時刻 — に加え、測定に
end_timeを設定してチャンネルを解放する Mark complete(完了としてマーク)アクション。 - アクティブな測定の直近のデータを 2 つのタブで表示:
- Time series(時系列)— 生信号の直近ウィンドウ(デフォルトは電圧。プロット側のセレクタから電流、温度、その他の列も追加できます)。x 軸は測定の
start_timeを起点としたカレンダー日付軸なので、経過秒ではなく実際の日付でグラフを読めます。 - Cycles(サイクル)— 測定全体を通したサイクル単位のサマリ指標。
- Time series(時系列)— 生信号の直近ウィンドウ(デフォルトは電圧。プロット側のセレクタから電流、温度、その他の列も追加できます)。x 軸は測定の
- このチャンネルで実行された 直近 100 件の測定履歴(開始時刻が新しい順)と、各測定の詳細ページへのリンク。
occupied または stale の
アクティブな測定を持つチャンネルだけで、free や out_of_commission のチャンネル
では状態バッジと履歴のみが表示されます。
チャンネルページからの完了マークは、SDK からの end_time パッチと等価で、
チャンネルは即座に free に戻ります。
channel:read 権限に従います — 権限を持たない
ユーザーはラボビューで装置ツリーを閲覧できますが、個々のチャンネルにドリルダウン
することはできません。
SDK から占有状況を照会する
client.lab は、ラボビューが描画に使うのと同じ集約 API をラップし、「いまラボはどう動いているか」という定番の質問に Python から答えます。読み取り専用です — 装置を変更するには client.site、client.cycler、client.channel を使ってください。
ネットワークにアクセスするのは
status() だけです。他のメソッドはそのペイロードに対するクライアント側ビューで、デフォルトでは各呼び出しが独自にスナップショットを取得するため、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 を解除してください:
次のステップ
チャンネルサービス
チャンネルをサービス外にし、停止履歴を確認します。
計画済み測定
テストをリクエストし、チャンネルにスケジュールし、実測定を紐付けます。