Control the Rack Tower Light
- Updated2025-08-04
- 1 minute(s) read
An optional tower light kit is available for the ATECCGEN2 rack. The tower light can be controlled using the SetTowerLightAsync() method. Each tower light segment can be independently controlled using the TowerLight enum. TowerLightRed, TowerLightAmber, TowerLightGreen, TowerLightBlue, and TowerLightWhite control the LED segments and TowerLightBuzz controls the tower light buzzer. TowerLightAll provides the option to switch off all segments.
Controlling Tower Lights
IAteCoreSession ateCoreSession;
try
{
// To create an object of IAteCoreSession.
ateCoreSession = await AteCoreSession.CreateAteCoreSessionAsync(hostname, password);
// Reset Tower Light before turn on any Tower Light
await ateCoreSession.SetTowerLightAsync(TowerLight.TowerLightAll, false);
// Examples of setting Tower Light based on conditions
if (failure conditions such as an emergency stop or machine fault)
{
// Turned On Tower Light Red
await ateCoreSession.SetTowerLightAsync(TowerLight.TowerLightRed, true);
}
else if (warnings such as over-temperature or over-pressure conditions)
{
// Turned On Tower Light Amber
await ateCoreSession.SetTowerLightAsync(TowerLight.TowerLightAmber, true);
}
else if (normal machine or process operation)
{
// Turned On Tower Light Green
await ateCoreSession.SetTowerLightAsync(TowerLight.TowerLightGreen, true);
}
else if (external help request, scheduling or maintenance personnel assistance)
{
// Turned On Tower Light Blue
await ateCoreSession.SetTowerLightAsync(TowerLight.TowerLightBlue, true);
}
else if (user-defined conditions, machine is running on a custom user-defined command set)
{
// Turned On Tower Light White
await ateCoreSession.SetTowerLightAsync(TowerLight.TowerLightWhite, true);
}
}
catch(Exception ex)
{
Console.WriteLine(ex.Message); //Print the exception message.
}
finally
{
if (ateCoreSession != null)
{
// To close the session.
ateCoreSession.Dispose();
}
}