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) | 현재 상태 요약 |
프로퍼티
| 프로퍼티 | 타입 | 설명 |
|---|---|---|
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()로 사용자 터치 피드백을 일관되게 구현 가능.