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

46 lines
1.3 KiB
C#

using WeldingCommon;
namespace ILSOS_PrismaticRD_PTOP
{
internal class EquipDef
{
}
internal class DeviceIds : CommonDeviceIds
{
public const string MassFlowMeter = "MassFlowMeter";
}
internal class SequenceIds : CommonSequenceIds
{
public const string SeqStreamTest = "SeqStreamTest";
public const string SeqEventQTest = "SeqEventQTest";
public const string SeqTestRun = "SeqTestRun";
public const string SeqAutoRunComponentWeld = "SeqAutoRunComponentWeld";
public const string SeqAlarmMonitor = "SeqAlarmMonitor";
public const string SeqStatusMonitor = "SeqStatusMonitor";
// 260511
public const string SeqAutoRunTDC = "SeqAutoRunTDC";
// 260605
public const string SeqAutoRunPTOP = "SeqAutoRunPTOP";
}
internal class SettingIds : CommonSettingIds
{
public const string LaserInterlock = "LaserInterlock";
}
public class StreamMessageNames
{
public const string MESSAGE_NAME_STRING = "MessageNameString";
public const string MESSAGE_NAME_DOUBLE = "MessageNameDouble";
public const string MESSAGE_NAME_INT = "MessageNameInt";
public const string MESSAGE_NAME_JSON = "MessageNameJSON";
public const string MESSAGE_NAME_LBAD = "MessageNameLBAD";
}
}