NohDoyeon241104 9543238db4 feat: SequenceSetting에 Axis Position Interlock 파라미터 추가
수직/수평 기준값 + 허용오차(deg) 단일 값 입력 속성 추가.
추후 시퀀스에서 전축 위치 체크 후 안전 인터락 적용 예정.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-17 14:54:58 +09:00

86 lines
3.8 KiB
C#

using Aurora.Api;
using PropertyTools.DataAnnotations;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WeldingCommon.Settings
{
// SequenceSetting 이 변경되면, 재부팅 필요함.
public class SequenceSetting : ISettingItem
{
[Category("Monitoring Sequence")]
public bool PlcMonitor { get; set; } = true; // PLC_REMOVE
public bool AlarmMonitor { get; set; } = true;
//public bool DeviceMonitor { get; set; } = true;
//public bool MESMonitor { get; set; } = true;
[Category("Alarm Monitoring Device")]
public bool PlcActivated { get; set; } = true; // Check 되어야 아래 항목 동작
public bool PlcActivatedLive { get; set; } = true;
public bool ScannerActivated { get; set; } = true; // Check 되어야 아래 항목 동작
public bool ScannerActivatedWithIO { get; set; } = false;
public bool LaserActivated { get; set; } = true; // Check 되어야 아래 항목 동작
public bool LaserActivatedWithIO { get; set; } = false;
public bool LbadActivated { get; set; } = true; // Check 되어야 아래 항목 동작
public bool LbadActivatedWithIO { get; set; } = false;
public bool OctActivated { get; set; } = true; // Check 되어야 아래 항목 동작
public bool OctActivatedWithIO { get; set; } = false;
public bool ChillerActivated { get; set; } = true; // Check 되어야 아래 항목 동작
public bool ChillerActivatedWithIO { get; set; } = false;
public bool LeakSensorActivatedWithIO { get; set; } = false;
[Category("WeldingSequence")]
public bool UseCellReport { get; set; } = false;
public bool UseImageAcquire { get; set; } = false;
public int ImageAcquireDelayTime { get; set; } = 1000;
public bool UseWeldResultImage { get; set; } = false;
public bool UseCellOffset { get; set; } = false;
public bool UseSubPatternOnFailure { get; set; } = false;
public bool UseExistOffset { get; set; } = false;
public double CellOffsetLimit { get; set; } = 0.3;
public double FirstLimitScore { get; set; } = 85.0;
public double SecondLimitScore { get; set; } = 85.0;
public bool UsePageChangeMode { get; set; } = false;
public int LastPageNo { get; set; } = 1;
[DisplayName("NG(Vision 검출 or Limit Over)인 경우 미용접")]
public bool UseNgCellSkip { get; set; } = false;
[DisplayName("비전 보상 시 사용할 조명값")]
public int CompensationLightValue { get; set; } = 255;
[DisplayName("기본 조명값")]
public int LightValue { get; set; } = 255;
public string VisionFolderName { get; set; } = @"D:\ILSOSConfig\_vision\ModelFinder";
public string WeldResultFolderName { get; set; } = @"D:\ILSOSConfig\_vision\WeldResult";
[DisplayName("B-Line Hook Marking Use")]
public bool BLineHookMarkingUse { get; set; } = false;
[DisplayName("Group Raming Use")]
public bool GroupRamingUse { get; set; } = false;
//260617 - 수직, 수평 + 허용오차 단일 값 입력하는 곳(시퀸스 돌 때 같이 입력해야할 것.)
[Category("Axis Position Interlock")]
[DisplayName("수직 기준값 [deg]")]
public double VerticalSector { get; set; } = 0.0;
[DisplayName("수직 허용오차 [deg]")]
public double VerticalTolerance { get; set; } = 0.0;
[DisplayName("수평 기준값 [deg]")]
public double HorizontalSector { get; set; } = 0.0;
[DisplayName("수평 허용오차 [deg]")]
public double HorizontalTolerance { get; set; } = 0.0;
}
}