to3796zw 2871db6e8f feat: 카메라 각도(D70510) 기반 Laser 발진 offset 분기
각도에 따라 발진 위치가 달라져, Front/Down angle 평균을 임계값으로
Front/Down offset을 자동 선택해 적용(자동·수동 발진 공통).

- LaserInterlock: Horizontal/Vertical → Front/Down angle 로 변경
- SystemParameter: CellCenterOffset X/Y → Front/Down offset X/Y (4개)
- LaserAngleOffsetSelector 헬퍼 신규 + 선택값 LOG
- PLC 미연결 시 Front offset fallback

주의: 설정 프로퍼티명 변경으로 기존 저장값 자동 이관 안 됨(재입력 필요)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 17:34:46 +09:00

42 lines
1.4 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using Aurora.Api;
using PropertyTools.DataAnnotations;
namespace ILSOS_PrismaticRD_PTOP.Settings
{
// Laser 발진 인터락 세팅 (세팅 메뉴에 PropertyGrid로 자동 노출)
public class LaserInterlockSetting : ISettingItem
{
// 체크 시 인터락 동작, 해제 시 미동작 (기본 false: 설정·검증 후 사용)
[Browsable(true)]
[ReadOnly(false)]
[Category("Head Theta Interlock")]
[DisplayName("Use Interlock")]
public bool HeadThetaInterlockEnabled { get; set; } = false;
[Browsable(true)]
[ReadOnly(false)]
[Category("Head Theta Interlock")]
[DisplayName("Front Angle (deg)")]
public double HeadThetaFront { get; set; } = 0;
[Browsable(true)]
[ReadOnly(false)]
[Category("Head Theta Interlock")]
[DisplayName("Down Angle (deg)")]
public double HeadThetaDown { get; set; } = 90;
[Browsable(true)]
[ReadOnly(false)]
[Category("Head Theta Interlock")]
[DisplayName("Tolerance (±deg)")]
public double HeadThetaTolerance { get; set; } = 2.5;
// PLC Head_Theta_Position 스케일. deg×10 가정(미확정) → 실값 확인 후 조정.
[Browsable(true)]
[ReadOnly(false)]
[Category("Head Theta Interlock")]
[DisplayName("PLC Scale (deg×?)")]
public double HeadThetaPlcScale { get; set; } = 10;
}
}