XScript マニュアル · Chapter 15
TOWERLAMP — シグナルタワー・ブザー制御
TOWERLAMP グローバルオブジェクトは装置の 状態ランプ(Red/Orange/Green/Blue) と
ブザー を統合制御します。各状態(INIT、RUN、STOP、ERROR …)は
IO 組み合わせのプリセットとして TowerLamp Editor に登録されています。
基本例
xscript
TOWERLAMP.SetLamp("INIT");
Sleep(1000);
if (TOWERLAMP.CurrentState == "INIT")
{
TOWERLAMP.SetLamp("STOP");
}
else
{
TOWERLAMP.BeepNo();
}実践例 — システムイベントフック
xscript
FUNCTION OnSystemStart()
{
TOWERLAMP.SetLamp("RUN");
return true;
}
FUNCTION OnSystemStop()
{
TOWERLAMP.SetLamp("STOP");
return true;
}
FUNCTION OnSystemError()
{
TOWERLAMP.SetLamp("ERROR");
TOWERLAMP.BeepNo();
}
FUNCTION OnSystemReset()
{
if (SYS.IsRunning)
{
TOWERLAMP.SetLamp("RUN");
}
else
{
TOWERLAMP.SetLamp("STOP");
}
}メソッド
| シグネチャ | 説明 |
|---|---|
bool SetLamp(string state) | 登録済みの状態プリセットへ切替 |
bool SetBuzzer(bool on) | ブザー ON/OFF |
bool Contains(string lampState) | 該当する状態名が存在するか |
void Stop(void) | 現在のランプ/ブザー動作を停止 |
void BeepInitCompleteSound(void) | 初期化完了メロディ |
void BeepYes(void) | 確認ビープ |
void BeepNo(void) | 拒否/エラービープ |
void Beep(void) | 単発ビープ |
プロパティ
| プロパティ | 型 | 説明 |
|---|---|---|
CurrentState | string | 現在の状態名 |
Count | int | 登録された状態数 |
RedOn / OrangeOn / GreenOn / BlueOn | bool | 各色の ON 有無 |
BuzzerOn | bool | ブザーの ON 有無 |
IsExistBlueLampIO / IsExistBuzzerIO | bool | ハードウェア接続の有無 |
RedLampIoName / OrangeLampIoName / GreenLampIoName / BlueLampIoName / BuzzerIoName | string | マッピングされた IO 名 |
ヒント
- 状態プリセットは TowerLamp Editor で事前に登録します。スクリプトは名前のみで参照します。
- ブルーランプ・ブザーのない装置では、
IsExistBlueLampIO、IsExistBuzzerIOで存在の有無を確認してから呼び出してください。 BeepYes()/BeepNo()でユーザのタッチフィードバックを一貫して実装できます。