XScript 매뉴얼 · Chapter 15

title: "TOWERLAMP — 경광등 · 부저" chapter: 15

TOWERLAMP — 경광등 · 부저 제어

TOWERLAMP 글로벌 객체는 장비의 상태 램프(Red/Orange/Green/Blue)부저 를 통합 제어합니다. 각 상태(INIT, RUN, STOP, ERROR …)는 IO 조합 프리셋으로 TowerLamp Editor 에 등록되어 있습니다.

기본 예제

TOWERLAMP.SetLamp("INIT");
Sleep(1000);
 
if (TOWERLAMP.CurrentState == "INIT")
{
    TOWERLAMP.SetLamp("STOP");
}
else
{
    TOWERLAMP.BeepNo();
}

실전 예제 — 시스템 이벤트 훅

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)단발 비프
string ToString(void)현재 상태 요약

프로퍼티

프로퍼티타입설명
CurrentStatestring현재 상태명
Countint등록된 상태 수
RedOn / OrangeOn / GreenOn / BlueOnbool각 색 ON 여부
BuzzerOnbool부저 ON 여부
IsExistBlueLampIO / IsExistBuzzerIobool하드웨어 연결 여부
RedLampIoName / OrangeLampIoName / GreenLampIoName / BlueLampIoName / BuzzerIoNamestring매핑된 IO 이름

  • 상태 프리셋은 TowerLamp Editor 에서 사전에 등록. 스크립트는 이름으로만 참조.
  • 블루 램프·부저가 없는 장비에서는 IsExistBlueLampIO, IsExistBuzzerIo 로 존재 여부 확인 후 호출.
  • BeepYes() / BeepNo() 로 사용자 터치 피드백을 일관되게 구현 가능.