to3796zw 0e73086b14 feat: 레이저 Head Theta 인터락 추가
발진(ExecuteWelding) 직전 PLC Head_Theta_Position(D70510)을 읽어
헤드 각도가 수평/수직 ±허용오차를 둘 다 벗어나면 알람 후 발진 차단.

- 세팅 메뉴 UI: 수평/수직/허용오차/PLC스케일 + 사용 체크박스
  (LaserInterlockSetting, 기본 미사용)
- fail-closed: PLC 미연결/미활성·스케일0 시 차단, 알람 호출 try/catch
- eWordInput.HEAD_THETA_POSITION(=D70510), 알람코드 210620 추가
- 런타임 설정(CSV 주소맵 D70510, AlarmDescriptions.xlsm 210620 행)은 별도 필요

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-19 15:04:05 +09:00

30 lines
1.1 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WeldingCommon.Alarm;
namespace ILSOS_PrismaticRD_PTOP.Alarm
{
internal class AlarmCode_PTOP : AlarmCode
{
public const int ALARM_DEVICE_PLC_Light = 210004;
public const int ALARM_DEVICE_PLC_Heavy = 210005;
public const int ALARM_DEVICE_PLC_DOOR_INTERLOCK = 210006;
public const int ALARM_DEVICE_IO_CCCAPASSYLaserMC1ON = 210605;
public const int ALARM_DEVICE_IO_CCCAPASSYLaserMC2ON = 210606;
public const int ALARM_DEVICE_IO_BOXTempAlarm = 210607;
public const int ALARM_DEVICE_IO_CCCAPChillerLeakSensor = 210608;
public const int ALARM_DEVICE_IO_FanAlarm1 = 210609;
public const int ALARM_DEVICE_IO_FanAlarm2 = 210610;
public const int ALARM_DEVICE_IO_FanAlarm3 = 210611;
public const int ALARM_DEVICE_IO_FanAlarm4 = 210612;
public const int ALARM_DEVICE_IO_FanAlarm5 = 210613;
public const int ALARM_DEVICE_IO_FanAlarm6 = 210614;
public const int ALARM_LASER_HEAD_THETA_INTERLOCK = 210620;
}
}