Auto Run 진행 전, Recipe View Enable/Disable 관련 수정

This commit is contained in:
최이근 2026-03-16 21:54:28 +09:00
parent 0252fbe89d
commit f52f72812a
3 changed files with 123 additions and 103 deletions

View File

@ -39,6 +39,9 @@ using WeldingCommon.Utils;
using WeldingCommon.Views;
using WeldingCommon.Vision.Factory;
using static WeldingCommon.Vision.Factory.VisionFactory;
using System.Reactive.Linq;
using System;
using System.Windows;
namespace ILSOS_CCW_H52A
{
@ -79,6 +82,43 @@ namespace ILSOS_CCW_H52A
AuroraEnv.SequenceEntry[SequenceIds.AlarmMonitoring].Start();
AuroraEnv.GetProcessManager().Init(AuroraEnv);
// 최초에 permission에 대한 값을 적용해줌
OnPermissionChanged(null);
AuroraEnv.EventObservable.AsObservable(AuroraSysEvent.SYS_PERMISSION_CHANGED)
.Subscribe(OnPermissionChanged);
var seq = AuroraEnv.SequenceEntry[SequenceIds.SeqAutoRunCCWH52A] as ISequence;
seq.RunStateChanged += AutoRunSeq_RunStateChanged;
}
private void AutoRunSeq_RunStateChanged(object sender, (string sequenceId, SequenceRunState state) e)
{
//AutoRun 상황에서 Recipe Save Lock
AuroraEnv.RecipeManager.SaveLock(CommonRecipeIds.ScannerObjectTeaching, e.state != SequenceRunState.Idle);
//AutoRun 상황에서 Reicpe 화면 수정할 수 없도록 함
Application.Current.Dispatcher.Invoke(() => {
// Running으로 변경되면 Active된 레시피로 변경하도록 함
if (e.state == SequenceRunState.Running) {
WeldingRecipeManager.OnActiveReloaded();
}
_UCRecipe.IsEnabled = e.state != SequenceRunState.Running;
});
}
private void OnPermissionChanged(EventMessage message)
{
bool LoginState = ApplicationExt.PermissionLevel <= (ushort)PermissionLevel.LEVEL3;
if (LoginState == false) {
// Login 권한이 없어지면 Active된 레시피로 변경하도록 함
Application.Current.Dispatcher.Invoke(() => {
WeldingRecipeManager.OnActiveReloaded();
});
}
//LogOut 상황에서 Recipe Save Lock
AuroraEnv.RecipeManager.SaveLock(CommonRecipeIds.ScannerObjectTeaching, !LoginState);
//LogOut 상황에서 Reicpe 화면 수정할 수 없도록 함
Application.Current.Dispatcher.Invoke(() => { _UCRecipe.IsEnabled = LoginState; });
}
// For Selection LaserDevice

View File

@ -78,7 +78,6 @@ namespace ILSOS_CCW_H52A.Views
_Plc = _Aurora.DeviceManager[CommonDeviceIds.PLCDevice] as PLCControllerCCWH52A;
_SeqAutoRun = _Aurora.SequenceEntry[SequenceIds.SeqAutoRunCCWH52A];
_SeqAutoRun.RunStateChanged += AutoRunSeq_RunStateChanged;
InitVariable();
@ -253,24 +252,5 @@ namespace ILSOS_CCW_H52A.Views
return;
}
}
private void AutoRunSeq_RunStateChanged(object sender, (string sequenceId, SequenceRunState state) e)
{
//AutoRun 상황에서 Recipe Save Lock
_RecipeManager.SaveLock(
CommonRecipeIds.ScannerObjectTeaching,
e.state != SequenceRunState.Idle);
//AutoRun 상황에서 Reicpe 화면 수정할 수 없도록 함
if (e.state == SequenceRunState.Running) {
Application.Current.Dispatcher.InvokeAsync(() => {
_UCRecipe.IsEnabled = false;
});
} else {
Application.Current.Dispatcher.InvokeAsync(() => {
_UCRecipe.IsEnabled = true;
});
}
}
}
}

View File

@ -86,103 +86,103 @@ namespace CoreUnit.Scanner.UserControl.Canvas.Dialog
btnOk.Enabled = false;
btnCancel.Enabled = true;
}
if(_MachineName == eMachineName.H52A_CCW || _MachineName == eMachineName.H52A_ACW || _MachineName == eMachineName.CIT) {
label58.Text = "(0~4000)";
label31.Text = "(0~4000)";
label32.Text = "(0~10000)";
label17.Text = "(1~8000)";
//if(_MachineName == eMachineName.H52A_CCW || _MachineName == eMachineName.H52A_ACW || _MachineName == eMachineName.CIT) {
label58.Text = _MachineName == eMachineName.H52A_CCW ? "(0~1500)" : "(0~4000)";
label31.Text = _MachineName == eMachineName.H52A_CCW ? "(0~2500)" : "(0~4000)";
label32.Text = "(0~10000)";
label17.Text = "(1~8000)";
label22.Enabled = false;
tbLaserPower2.Enabled = false;
label29.Enabled = false;
label31.Enabled = false;
label22.Enabled = _MachineName == eMachineName.H52A_CCW;
tbLaserPower2.Enabled = _MachineName == eMachineName.H52A_CCW;
label29.Enabled = _MachineName == eMachineName.H52A_CCW;
label31.Enabled = _MachineName == eMachineName.H52A_CCW;
// Ramping Start, End 구분 후 사용한다. Power 2번은 여전히 막아둠
//label68.Enabled = false;
//label69.Enabled = false;
//label71.Enabled = false;
//label72.Enabled = false;
//label73.Enabled = false;
//label70.Enabled = false;
// Ramping Start, End 구분 후 사용한다. Power 2번은 여전히 막아둠
//label68.Enabled = false;
//label69.Enabled = false;
//label71.Enabled = false;
//label72.Enabled = false;
//label73.Enabled = false;
//label70.Enabled = false;
nudRampingStartPower2.Enabled = false;
nudRampingStartPower2.Enabled = false;
nudRampingEndPower2.Enabled = false;
nudRampingEndPower2.Enabled = false;
#region Permission Checking
// Engineer 이상 등급만 사용 가능
bool PermissionCheck = ApplicationExt.PermissionLevel <= (ushort)Aurora.Api.PermissionLevel.LEVEL3;
label15.Enabled = PermissionCheck;
label14.Enabled = PermissionCheck;
label13.Enabled = PermissionCheck;
label12.Enabled = PermissionCheck;
label11.Enabled = PermissionCheck;
label10.Enabled = PermissionCheck;
label57.Enabled = PermissionCheck;
label63.Enabled = PermissionCheck;
label46.Enabled = PermissionCheck;
label36.Enabled = PermissionCheck;
label45.Enabled = PermissionCheck;
label41.Enabled = PermissionCheck;
nudRampingStartDist.Enabled = PermissionCheck;
tbMarkDelay.Enabled = PermissionCheck;
label62.Enabled = PermissionCheck;
#region Permission Checking
// Engineer 이상 등급만 사용 가능
bool PermissionCheck = ApplicationExt.PermissionLevel <= (ushort)Aurora.Api.PermissionLevel.LEVEL3;
label15.Enabled = PermissionCheck;
label14.Enabled = PermissionCheck;
label13.Enabled = PermissionCheck;
label12.Enabled = PermissionCheck;
label11.Enabled = PermissionCheck;
label10.Enabled = PermissionCheck;
label57.Enabled = PermissionCheck;
label63.Enabled = PermissionCheck;
label46.Enabled = PermissionCheck;
label36.Enabled = PermissionCheck;
label45.Enabled = PermissionCheck;
label41.Enabled = PermissionCheck;
nudRampingStartDist.Enabled = PermissionCheck;
tbMarkDelay.Enabled = PermissionCheck;
label62.Enabled = PermissionCheck;
//label22.Enabled = PermissionCheck;
//tbLaserPower2.Enabled = PermissionCheck;
//label29.Enabled = PermissionCheck;
//label31.Enabled = PermissionCheck;
//label22.Enabled = PermissionCheck;
//tbLaserPower2.Enabled = PermissionCheck;
//label29.Enabled = PermissionCheck;
//label31.Enabled = PermissionCheck;
label16.Enabled = PermissionCheck;
label17.Enabled = PermissionCheck;
label18.Enabled = PermissionCheck;
label23.Enabled = PermissionCheck;
label24.Enabled = PermissionCheck;
label25.Enabled = PermissionCheck;
label58.Enabled = PermissionCheck;
label42.Enabled = PermissionCheck;
label35.Enabled = PermissionCheck;
label34.Enabled = PermissionCheck;
label51.Enabled = PermissionCheck;
nudRampingEndDist.Enabled = PermissionCheck;
label16.Enabled = PermissionCheck;
label17.Enabled = PermissionCheck;
label18.Enabled = PermissionCheck;
label23.Enabled = PermissionCheck;
label24.Enabled = PermissionCheck;
label25.Enabled = PermissionCheck;
label58.Enabled = PermissionCheck;
label42.Enabled = PermissionCheck;
label35.Enabled = PermissionCheck;
label34.Enabled = PermissionCheck;
label51.Enabled = PermissionCheck;
nudRampingEndDist.Enabled = PermissionCheck;
tbDrawSpeed.Enabled = PermissionCheck;
tbJumpSpeed.Enabled = PermissionCheck;
tbLaserOnDelay.Enabled = PermissionCheck;
tbLaserOffDelay.Enabled = PermissionCheck;
tbJumpDelay.Enabled = PermissionCheck;
tbPolygonDelay.Enabled = PermissionCheck;
tbLaserPower1.Enabled = PermissionCheck;
nudRampingStartPower1.Enabled = PermissionCheck;
nudRampingEndPower1.Enabled = PermissionCheck;
tbDrawSpeed.Enabled = PermissionCheck;
tbJumpSpeed.Enabled = PermissionCheck;
tbLaserOnDelay.Enabled = PermissionCheck;
tbLaserOffDelay.Enabled = PermissionCheck;
tbJumpDelay.Enabled = PermissionCheck;
tbPolygonDelay.Enabled = PermissionCheck;
tbLaserPower1.Enabled = PermissionCheck;
nudRampingStartPower1.Enabled = PermissionCheck;
nudRampingEndPower1.Enabled = PermissionCheck;
nudRampingStartAPower1.Enabled = PermissionCheck;
nudRampingStartAPower2.Enabled = PermissionCheck;
nudRampingStartADist.Enabled = PermissionCheck;
label74.Enabled = PermissionCheck;
label77.Enabled = PermissionCheck;
label76.Enabled = PermissionCheck;
label81.Enabled = PermissionCheck;
label75.Enabled = PermissionCheck;
label80.Enabled = PermissionCheck;
nudRampingStartAPower1.Enabled = PermissionCheck;
nudRampingStartAPower2.Enabled = PermissionCheck;
nudRampingStartADist.Enabled = PermissionCheck;
label74.Enabled = PermissionCheck;
label77.Enabled = PermissionCheck;
label76.Enabled = PermissionCheck;
label81.Enabled = PermissionCheck;
label75.Enabled = PermissionCheck;
label80.Enabled = PermissionCheck;
label68.Enabled = PermissionCheck;
label69.Enabled = PermissionCheck;
label71.Enabled = PermissionCheck;
label72.Enabled = PermissionCheck;
//label73.Enabled = PermissionCheck;
//label70.Enabled = PermissionCheck;
label68.Enabled = PermissionCheck;
label69.Enabled = PermissionCheck;
label71.Enabled = PermissionCheck;
label72.Enabled = PermissionCheck;
//label73.Enabled = PermissionCheck;
//label70.Enabled = PermissionCheck;
label79.Enabled = PermissionCheck;
label65.Enabled = PermissionCheck;
label78.Enabled = PermissionCheck;
label79.Enabled = PermissionCheck;
label65.Enabled = PermissionCheck;
label78.Enabled = PermissionCheck;
nudRampingStartPower2.Visible = false;
nudRampingEndPower2.Visible = false;
nudRampingStartPower2.Visible = false;
nudRampingEndPower2.Visible = false;
#endregion
}
#endregion
//}
//Welding Paramter 색 지정
//rbParam1.ForeColor = Color.FromName(((WeldingParameterIDEditor.eWeldingColor)1).ToString());