XScript マニュアル · Chapter 15

TOWERLAMP — シグナルタワー・ブザー制御

TOWERLAMP グローバルオブジェクトは装置の 状態ランプ(Red/Orange/Green/Blue)ブザー を統合制御します。各状態(INITRUNSTOPERROR …)は 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)単発ビープ

プロパティ

プロパティ説明
CurrentStatestring現在の状態名
Countint登録された状態数
RedOn / OrangeOn / GreenOn / BlueOnbool各色の ON 有無
BuzzerOnboolブザーの ON 有無
IsExistBlueLampIO / IsExistBuzzerIOboolハードウェア接続の有無
RedLampIoName / OrangeLampIoName / GreenLampIoName / BlueLampIoName / BuzzerIoNamestringマッピングされた IO 名

ヒント

  • 状態プリセットは TowerLamp Editor で事前に登録します。スクリプトは名前のみで参照します。
  • ブルーランプ・ブザーのない装置では、IsExistBlueLampIOIsExistBuzzerIO で存在の有無を確認してから呼び出してください。
  • BeepYes() / BeepNo() でユーザのタッチフィードバックを一貫して実装できます。