当システムの初期化機能についてまとめます。
各機器に電源を投入した直後はアプリと機器間の情報が最新ではない可能性があるため、まず最初に行う初期動作が「システム初期化」です。
システム初期化はメニューバー内に実装しました。信号機の設定、車両動力電源のリセットなどなど、各種機器の初期化をアプリからワンクリックで実現するようにしています(図1)。
また脱線等、運転中に何等かの異常が発生し、システムの状態を初期位置に戻したい場合にもこの機能を使用します。
進捗表示ウィンドウ
このシステム初期化を行うと以下の情報表示ウィンドウが起動し、
初期化処理の進捗状況が分かります(図2)。
左の列から、処理結果を示す「結果」、処理した内容を示す「処理内容」、処理結果に対するユーザへの通知「コメント」を表示します。
ウィンドウ上部にはプログレスバーを設け、初期化処理全体の進捗状況をパーセンテージ表示します。
全ての処理が正常に完了すると、システム初期化完了となり、てこ扱いができる状態になります(図3)。
初期化する内容
システム初期化では主に以下の項目の処理をしています。
- 各機器との通信確認
- 車両動力電源の最小値化
- 転てつ器の定位転換
- 転てつ器単独てこ扱いの復位
- てこの復位および半自動信号機の定位制御
- 軌道回路の在線状況再取得
- 列車番号の初期化
初期化に失敗した場合
処理に失敗した場合、進捗ウィンドウは対象の項目を赤く表示します。
機器の電源を遮断すると、通信が遮断されるため、
アプリは以下のようにユーザに通知します(図4)。
まとめ
これまでシステム初期化に対して紹介したウィンドウを表示していませんでした。
異常があった時に警告を発する仕様にしていたのですが、処理項目数が増えてきたために、ウィンドウ化しました。
処理内容が順に流れていく様はアプリが動いてることを目に見えてとても良いですね。
それでは。