APD 저장 기능 추가 + 상위보고 데이터 생성 시 Line 외 Arc, Group도 생성 기능 추가
This commit is contained in:
parent
6203759958
commit
caf35988a7
@ -205,8 +205,8 @@ namespace ILSOS_ACW_H52A.Sequences
|
|||||||
> sb[SEQ_SET_PARAMS_UPLOAD_WELDING_LIST_SEQ] > sb[SEQ_DO_ID_UPLOAD_WELDING_LIST_SEQ] > sb[SEQ_GET_RESULT_UPLOAD_WELDING_LIST_SEQ]
|
> sb[SEQ_SET_PARAMS_UPLOAD_WELDING_LIST_SEQ] > sb[SEQ_DO_ID_UPLOAD_WELDING_LIST_SEQ] > sb[SEQ_GET_RESULT_UPLOAD_WELDING_LIST_SEQ]
|
||||||
> sb[SEQ_EXECUTE_WELDING] > sb[SEQ_REQUEST_UNLOAD_CELL] > sb[SEQ_CHECK_CAN_WELDED]
|
> sb[SEQ_EXECUTE_WELDING] > sb[SEQ_REQUEST_UNLOAD_CELL] > sb[SEQ_CHECK_CAN_WELDED]
|
||||||
> sb[SEQ_SET_PARAMS_REPORT_CELL_RESULT_SEQ] > sb[SEQ_DO_ID_REPORT_CELL_RESULT_SEQ] > sb[SEQ_GET_RESULT_REPORT_CELL_RESULT_SEQ]
|
> sb[SEQ_SET_PARAMS_REPORT_CELL_RESULT_SEQ] > sb[SEQ_DO_ID_REPORT_CELL_RESULT_SEQ] > sb[SEQ_GET_RESULT_REPORT_CELL_RESULT_SEQ]
|
||||||
> sb[SEQ_CHECK_CYCLE_STOP]
|
> sb[SEQ_SAVE_RESULT_DATA] > sb[SEQ_CHECK_CYCLE_STOP]
|
||||||
> sb[SEQ_SAVE_RESULT_DATA] > sb[SEQ_WRITE_COMPLETION_PLC_BIT] > sb[SEQ_JOIN_ENCODER_MONITOR] > sb[SEQ_COMPLETE]);
|
> sb[SEQ_WRITE_COMPLETION_PLC_BIT] > sb[SEQ_JOIN_ENCODER_MONITOR] > sb[SEQ_COMPLETE]);
|
||||||
|
|
||||||
sb.Flows(sb[SEQ_READY_SCANNER_LIST] > sb[SEQ_EXECUTE_WELDING]);
|
sb.Flows(sb[SEQ_READY_SCANNER_LIST] > sb[SEQ_EXECUTE_WELDING]);
|
||||||
|
|
||||||
@ -570,6 +570,8 @@ namespace ILSOS_ACW_H52A.Sequences
|
|||||||
return SEQ_INIT_CONDITION_ERROR;
|
return SEQ_INIT_CONDITION_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Status.EquipmentMode = eEquipmentMode.AUTO;
|
||||||
|
|
||||||
var startTime = DateTime.Now;
|
var startTime = DateTime.Now;
|
||||||
context.PutValue(ContextKey.KEY_SEQUENCE_START_TIME, startTime);
|
context.PutValue(ContextKey.KEY_SEQUENCE_START_TIME, startTime);
|
||||||
Thread.Sleep(1); // 부하 방지
|
Thread.Sleep(1); // 부하 방지
|
||||||
@ -838,33 +840,40 @@ namespace ILSOS_ACW_H52A.Sequences
|
|||||||
SetInputScannerList(_WeldingScannerListNo, DateTime.Now, _WeldingCount, _WeldingStartAngle, _WeldingJigNo, _RotaryJigCount, canExist, LotId, CellId);
|
SetInputScannerList(_WeldingScannerListNo, DateTime.Now, _WeldingCount, _WeldingStartAngle, _WeldingJigNo, _RotaryJigCount, canExist, LotId, CellId);
|
||||||
_RecipeNo = _RecipeManager.ActivatedRecipe().Id;
|
_RecipeNo = _RecipeManager.ActivatedRecipe().Id;
|
||||||
|
|
||||||
var item = _SelectedDrawObjectList[0];
|
SetWeldingData();
|
||||||
|
}
|
||||||
if (item is Line)
|
else
|
||||||
{
|
{
|
||||||
Line lineItem = (Line)item;
|
return SEQ_EXECUTE_WELDING;
|
||||||
ScannerParam laserParam = WeldingRecipeManager.GetScannerParam(lineItem.ScannerParamNo);
|
}
|
||||||
|
return SEQ_SET_PARAMS_UPLOAD_WELDING_LIST_SEQ;
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
|
||||||
|
private ScannerParam GetSelectedDrawObjectData(IDrawObject DrawObj)
|
||||||
|
{
|
||||||
|
if (DrawObj is Line lineItem)
|
||||||
|
return WeldingRecipeManager.GetScannerParam(lineItem.ScannerParamNo);
|
||||||
|
else if (DrawObj is Arc arcItem)
|
||||||
|
return WeldingRecipeManager.GetScannerParam(arcItem.ScannerParamNo);
|
||||||
|
else if (DrawObj is Group groupItem)
|
||||||
|
return WeldingRecipeManager.GetScannerParam(groupItem.ScannerParamNo);
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
private void SetWeldingData()
|
||||||
|
{
|
||||||
|
ScannerParam laserParam = null;
|
||||||
|
laserParam = GetSelectedDrawObjectData(_SelectedDrawObjectList[0]);
|
||||||
|
|
||||||
|
if (laserParam != null)
|
||||||
|
{
|
||||||
// EDC 보내는 용도
|
// EDC 보내는 용도
|
||||||
Status.GetProcessingWeldingData().LaserPowerCore = laserParam.LaserPower1.ToString();
|
Status.GetProcessingWeldingData().LaserPowerCore = laserParam.LaserPower1.ToString();
|
||||||
Status.GetProcessingWeldingData().MarkSpeed = laserParam.MarkSpeed.ToString();
|
Status.GetProcessingWeldingData().MarkSpeed = laserParam.MarkSpeed.ToString();
|
||||||
Status.GetProcessingWeldingData().FocalLength = (_PLC.ReadDWord((int)eWordInput.PLC_WELDING_FOCAL_LENGTH).data / 1000f).ToString();
|
Status.GetProcessingWeldingData().FocalLength = (_PLC.ReadDWord((int)eWordInput.PLC_WELDING_FOCAL_LENGTH).data / 1000f).ToString();
|
||||||
Status.GetProcessingWeldingData().WeldingJigNo = _WeldingJigNo.ToString();
|
Status.GetProcessingWeldingData().WeldingJigNo = _WeldingJigNo.ToString();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return SEQ_EXECUTE_WELDING;
|
|
||||||
}
|
|
||||||
|
|
||||||
//var item = _SelectedDrawObjectList[0];
|
|
||||||
|
|
||||||
|
|
||||||
// 여기서 어디로 가는지 설정 필요함
|
|
||||||
return SEQ_SET_PARAMS_UPLOAD_WELDING_LIST_SEQ;
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void WaitForEncoderNextRotarySection(int weldingCount, int rotaryJigCount, double rotaryAngleOffset, double encoderResetOffset, out double sectionStartAngle)
|
public void WaitForEncoderNextRotarySection(int weldingCount, int rotaryJigCount, double rotaryAngleOffset, double encoderResetOffset, out double sectionStartAngle)
|
||||||
@ -1180,11 +1189,14 @@ namespace ILSOS_ACW_H52A.Sequences
|
|||||||
}
|
}
|
||||||
|
|
||||||
private SequenceActionResult SaveResultData(SequenceContext context, string id, SequenceActionResult param)
|
private SequenceActionResult SaveResultData(SequenceContext context, string id, SequenceActionResult param)
|
||||||
|
{
|
||||||
|
if (Status.GetProcessingWeldingData().APD.Count > 0)
|
||||||
{
|
{
|
||||||
string directoryPath = "D:\\ILSOSConfig\\APD_History";
|
string directoryPath = "D:\\ILSOSConfig\\APD_History";
|
||||||
string fileName = Status.GetProcessingWeldingData().APD.First().Date.ToString("HHmmss") + "_" + Status.GetProcessingWeldingData().APD.First().CellID;
|
string fileName = Status.GetProcessingWeldingData().APD.First().Date.ToString("HHmmss") + "_" + Status.GetProcessingWeldingData().APD.First().CellID;
|
||||||
string fullPath = Path.Combine(directoryPath, Status.GetProcessingWeldingData().APD.First().Date.ToString("yyyy-MM-dd"), fileName);
|
string fullPath = Path.Combine(directoryPath, Status.GetProcessingWeldingData().APD.First().Date.ToString("yyyy-MM-dd"), fileName);
|
||||||
Status.GetProcessingWeldingData().APD.CreateFiles(fullPath);
|
Status.GetProcessingWeldingData().APD.CreateFiles(fullPath);
|
||||||
|
}
|
||||||
|
|
||||||
context.PutValue(ContextKey.KEY_SEQUENCE_RESULT, true);
|
context.PutValue(ContextKey.KEY_SEQUENCE_RESULT, true);
|
||||||
return SequenceAction.Ok();
|
return SequenceAction.Ok();
|
||||||
@ -1309,6 +1321,8 @@ namespace ILSOS_ACW_H52A.Sequences
|
|||||||
|
|
||||||
private void OnSeqActionStop()
|
private void OnSeqActionStop()
|
||||||
{
|
{
|
||||||
|
Status.EquipmentMode = eEquipmentMode.MANUAL;
|
||||||
|
|
||||||
//PLC All BIT OFF
|
//PLC All BIT OFF
|
||||||
for (int i = 0; i < _RotaryJigCount; i++)
|
for (int i = 0; i < _RotaryJigCount; i++)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -207,8 +207,8 @@ namespace ILSOS_CCW_H52A.Sequences
|
|||||||
> sb[SEQ_SET_PARAMS_UPLOAD_WELDING_LIST_SEQ] > sb[SEQ_DO_ID_UPLOAD_WELDING_LIST_SEQ] > sb[SEQ_GET_RESULT_UPLOAD_WELDING_LIST_SEQ]
|
> sb[SEQ_SET_PARAMS_UPLOAD_WELDING_LIST_SEQ] > sb[SEQ_DO_ID_UPLOAD_WELDING_LIST_SEQ] > sb[SEQ_GET_RESULT_UPLOAD_WELDING_LIST_SEQ]
|
||||||
> sb[SEQ_EXECUTE_WELDING] > sb[SEQ_REQUEST_UNLOAD_CELL] > sb[SEQ_CHECK_CAN_WELDED]
|
> sb[SEQ_EXECUTE_WELDING] > sb[SEQ_REQUEST_UNLOAD_CELL] > sb[SEQ_CHECK_CAN_WELDED]
|
||||||
> sb[SEQ_SET_PARAMS_REPORT_CELL_RESULT_SEQ] > sb[SEQ_DO_ID_REPORT_CELL_RESULT_SEQ] > sb[SEQ_GET_RESULT_REPORT_CELL_RESULT_SEQ]
|
> sb[SEQ_SET_PARAMS_REPORT_CELL_RESULT_SEQ] > sb[SEQ_DO_ID_REPORT_CELL_RESULT_SEQ] > sb[SEQ_GET_RESULT_REPORT_CELL_RESULT_SEQ]
|
||||||
> sb[SEQ_CHECK_CYCLE_STOP]
|
> sb[SEQ_SAVE_RESULT_DATA] > sb[SEQ_CHECK_CYCLE_STOP]
|
||||||
> sb[SEQ_SAVE_RESULT_DATA] > sb[SEQ_WRITE_COMPLETION_PLC_BIT] > sb[SEQ_JOIN_ENCODER_MONITOR] > sb[SEQ_COMPLETE]);
|
> sb[SEQ_WRITE_COMPLETION_PLC_BIT] > sb[SEQ_JOIN_ENCODER_MONITOR] > sb[SEQ_COMPLETE]);
|
||||||
|
|
||||||
sb.Flows(sb[SEQ_READY_SCANNER_LIST] > sb[SEQ_EXECUTE_WELDING]);
|
sb.Flows(sb[SEQ_READY_SCANNER_LIST] > sb[SEQ_EXECUTE_WELDING]);
|
||||||
|
|
||||||
@ -838,33 +838,40 @@ namespace ILSOS_CCW_H52A.Sequences
|
|||||||
SetInputScannerList(_WeldingScannerListNo, DateTime.Now, _WeldingCount, _WeldingStartAngle, _WeldingJigNo, _RotaryJigCount, canExist, LotId, CellId);
|
SetInputScannerList(_WeldingScannerListNo, DateTime.Now, _WeldingCount, _WeldingStartAngle, _WeldingJigNo, _RotaryJigCount, canExist, LotId, CellId);
|
||||||
_RecipeNo = _RecipeManager.ActivatedRecipe().Id;
|
_RecipeNo = _RecipeManager.ActivatedRecipe().Id;
|
||||||
|
|
||||||
var item = _SelectedDrawObjectList[0];
|
SetWeldingData();
|
||||||
|
}
|
||||||
if (item is Line)
|
else
|
||||||
{
|
{
|
||||||
Line lineItem = (Line)item;
|
return SEQ_EXECUTE_WELDING;
|
||||||
ScannerParam laserParam = WeldingRecipeManager.GetScannerParam(lineItem.ScannerParamNo);
|
}
|
||||||
|
return SEQ_SET_PARAMS_UPLOAD_WELDING_LIST_SEQ;
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
|
||||||
|
private ScannerParam GetSelectedDrawObjectData(IDrawObject DrawObj)
|
||||||
|
{
|
||||||
|
if (DrawObj is Line lineItem)
|
||||||
|
return WeldingRecipeManager.GetScannerParam(lineItem.ScannerParamNo);
|
||||||
|
else if (DrawObj is Arc arcItem)
|
||||||
|
return WeldingRecipeManager.GetScannerParam(arcItem.ScannerParamNo);
|
||||||
|
else if (DrawObj is Group groupItem)
|
||||||
|
return WeldingRecipeManager.GetScannerParam(groupItem.ScannerParamNo);
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
private void SetWeldingData()
|
||||||
|
{
|
||||||
|
ScannerParam laserParam = null;
|
||||||
|
laserParam = GetSelectedDrawObjectData(_SelectedDrawObjectList[0]);
|
||||||
|
|
||||||
|
if (laserParam != null)
|
||||||
|
{
|
||||||
// EDC 보내는 용도
|
// EDC 보내는 용도
|
||||||
Status.GetProcessingWeldingData().LaserPowerCore = laserParam.LaserPower1.ToString();
|
Status.GetProcessingWeldingData().LaserPowerCore = laserParam.LaserPower1.ToString();
|
||||||
Status.GetProcessingWeldingData().MarkSpeed = laserParam.MarkSpeed.ToString();
|
Status.GetProcessingWeldingData().MarkSpeed = laserParam.MarkSpeed.ToString();
|
||||||
Status.GetProcessingWeldingData().FocalLength = (_PLC.ReadDWord((int)eWordInput.PLC_WELDING_FOCAL_LENGTH).data / 1000f).ToString();
|
Status.GetProcessingWeldingData().FocalLength = (_PLC.ReadDWord((int)eWordInput.PLC_WELDING_FOCAL_LENGTH).data / 1000f).ToString();
|
||||||
Status.GetProcessingWeldingData().WeldingJigNo = _WeldingJigNo.ToString();
|
Status.GetProcessingWeldingData().WeldingJigNo = _WeldingJigNo.ToString();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return SEQ_EXECUTE_WELDING;
|
|
||||||
}
|
|
||||||
|
|
||||||
//var item = _SelectedDrawObjectList[0];
|
|
||||||
|
|
||||||
|
|
||||||
// 여기서 어디로 가는지 설정 필요함
|
|
||||||
return SEQ_SET_PARAMS_UPLOAD_WELDING_LIST_SEQ;
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void WaitForEncoderNextRotarySection(int weldingCount, int rotaryJigCount, double rotaryAngleOffset, double encoderResetOffset, out double sectionStartAngle)
|
public void WaitForEncoderNextRotarySection(int weldingCount, int rotaryJigCount, double rotaryAngleOffset, double encoderResetOffset, out double sectionStartAngle)
|
||||||
@ -1181,6 +1188,14 @@ namespace ILSOS_CCW_H52A.Sequences
|
|||||||
}
|
}
|
||||||
private SequenceActionResult SaveResultData(SequenceContext context, string id, SequenceActionResult param)
|
private SequenceActionResult SaveResultData(SequenceContext context, string id, SequenceActionResult param)
|
||||||
{
|
{
|
||||||
|
if (Status.GetProcessingWeldingData().APD.Count > 0)
|
||||||
|
{
|
||||||
|
string directoryPath = "D:\\ILSOSConfig\\APD_History";
|
||||||
|
string fileName = Status.GetProcessingWeldingData().APD.First().Date.ToString("HHmmss") + "_" + Status.GetProcessingWeldingData().APD.First().CellID;
|
||||||
|
string fullPath = Path.Combine(directoryPath, Status.GetProcessingWeldingData().APD.First().Date.ToString("yyyy-MM-dd"), fileName);
|
||||||
|
Status.GetProcessingWeldingData().APD.CreateFiles(fullPath);
|
||||||
|
}
|
||||||
|
|
||||||
context.PutValue(ContextKey.KEY_SEQUENCE_RESULT, true);
|
context.PutValue(ContextKey.KEY_SEQUENCE_RESULT, true);
|
||||||
return SequenceAction.Ok();
|
return SequenceAction.Ok();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -28,6 +28,7 @@ namespace WeldingCommon.Data
|
|||||||
table.Columns.Add("Time", typeof(string));
|
table.Columns.Add("Time", typeof(string));
|
||||||
table.Columns.Add(nameof(ActualProcessUnit.LotID), typeof(string));
|
table.Columns.Add(nameof(ActualProcessUnit.LotID), typeof(string));
|
||||||
table.Columns.Add(nameof(ActualProcessUnit.CellID), typeof(string));
|
table.Columns.Add(nameof(ActualProcessUnit.CellID), typeof(string));
|
||||||
|
table.Columns.Add(nameof(ActualProcessUnit.WeldType), typeof(string));
|
||||||
table.Columns.Add(nameof(ActualProcessUnit.EncoderCheck), typeof(bool));
|
table.Columns.Add(nameof(ActualProcessUnit.EncoderCheck), typeof(bool));
|
||||||
table.Columns.Add(nameof(ActualProcessUnit.StartPointX), typeof(double));
|
table.Columns.Add(nameof(ActualProcessUnit.StartPointX), typeof(double));
|
||||||
table.Columns.Add(nameof(ActualProcessUnit.StartPointY), typeof(double));
|
table.Columns.Add(nameof(ActualProcessUnit.StartPointY), typeof(double));
|
||||||
@ -60,7 +61,7 @@ namespace WeldingCommon.Data
|
|||||||
protected override void InsertItem(int index, ActualProcessUnit item)
|
protected override void InsertItem(int index, ActualProcessUnit item)
|
||||||
{
|
{
|
||||||
base.InsertItem(index, item);
|
base.InsertItem(index, item);
|
||||||
table.Rows.Add(item.Date.ToString("yyyy-MM-dd"), item.Date.ToString("HH:mm:ss.fff"), item.LotID, item.CellID, item.EncoderCheck,
|
table.Rows.Add(item.Date.ToString("yyyy-MM-dd"), item.Date.ToString("HH:mm:ss.fff"), item.LotID, item.CellID, item.WeldType, item.EncoderCheck,
|
||||||
item.StartPointX, item.StartPointY, item.EndPointX, item.EndPointY,
|
item.StartPointX, item.StartPointY, item.EndPointX, item.EndPointY,
|
||||||
item.WeldCondition, item.LaserOnDelay, item.LaserOffDelay, item.JumpDelay, item.MarkDelay,
|
item.WeldCondition, item.LaserOnDelay, item.LaserOffDelay, item.JumpDelay, item.MarkDelay,
|
||||||
item.PolygonDelay, item.Power, item.JumpSpeed, item.MarkSpeed, item.JumpX,
|
item.PolygonDelay, item.Power, item.JumpSpeed, item.MarkSpeed, item.JumpX,
|
||||||
@ -80,6 +81,8 @@ namespace WeldingCommon.Data
|
|||||||
private DateTime _Date;
|
private DateTime _Date;
|
||||||
public string LotID { get => Status.GetProcessingWeldingData().LotId; }
|
public string LotID { get => Status.GetProcessingWeldingData().LotId; }
|
||||||
public string CellID { get => Status.GetProcessingWeldingData().CellId; }
|
public string CellID { get => Status.GetProcessingWeldingData().CellId; }
|
||||||
|
public string WeldType { get => _WeldType; set => SetProperty(ref _WeldType, value); }
|
||||||
|
private string _WeldType;
|
||||||
public bool EncoderCheck { get => _EncoderCheck; set => SetProperty(ref _EncoderCheck, value); }
|
public bool EncoderCheck { get => _EncoderCheck; set => SetProperty(ref _EncoderCheck, value); }
|
||||||
private bool _EncoderCheck;
|
private bool _EncoderCheck;
|
||||||
public double StartPointX { get => _StartPointX; set => SetProperty(ref _StartPointX, value); }
|
public double StartPointX { get => _StartPointX; set => SetProperty(ref _StartPointX, value); }
|
||||||
|
|||||||
@ -409,6 +409,7 @@ namespace WeldingCommon.Sequences {
|
|||||||
|
|
||||||
//CSV Laser Log 추가
|
//CSV Laser Log 추가
|
||||||
laserLog.Date = DateTime.Now;
|
laserLog.Date = DateTime.Now;
|
||||||
|
laserLog.WeldType = "Line";
|
||||||
laserLog.WeldCondition = param.No + 1;
|
laserLog.WeldCondition = param.No + 1;
|
||||||
laserLog.LaserOnDelay = param.LaserOnDelay;
|
laserLog.LaserOnDelay = param.LaserOnDelay;
|
||||||
laserLog.LaserOffDelay = param.LaserOffDelay;
|
laserLog.LaserOffDelay = param.LaserOffDelay;
|
||||||
@ -1408,12 +1409,26 @@ namespace WeldingCommon.Sequences {
|
|||||||
|
|
||||||
// 1.스캐너 가공조건 설정
|
// 1.스캐너 가공조건 설정
|
||||||
ScannerParam param = ScannerCanvasUserCtrl.ScannerParams[obj.ScannerParamNo];
|
ScannerParam param = ScannerCanvasUserCtrl.ScannerParams[obj.ScannerParamNo];
|
||||||
|
var laserLog = new ActualProcessUnit();
|
||||||
float percentLaser1 = 0;
|
float percentLaser1 = 0;
|
||||||
float percentLaser2 = 0;
|
float percentLaser2 = 0;
|
||||||
SetScannerProcessCondition(param, out percentLaser1, out percentLaser2);
|
SetScannerProcessCondition(param, out percentLaser1, out percentLaser2);
|
||||||
|
|
||||||
Log.I(string.Format($"[Arc Weld] Weld Condition(No:{param.No + 1}) Setting(LaserOnDelay:{param.LaserOnDelay},LaserOffDelay:{param.LaserOffDelay},JumpDelay:{param.JumpDelay},MarkDelay:{param.MarkDelay},PolygonDelay:{param.PolygonDelay},Power:{param.LaserPower1},JumpSpeed:{param.JumpSpeed},MarkSpeed:{param.MarkSpeed})"));
|
Log.I(string.Format($"[Arc Weld] Weld Condition(No:{param.No + 1}) Setting(LaserOnDelay:{param.LaserOnDelay},LaserOffDelay:{param.LaserOffDelay},JumpDelay:{param.JumpDelay},MarkDelay:{param.MarkDelay},PolygonDelay:{param.PolygonDelay},Power:{param.LaserPower1},JumpSpeed:{param.JumpSpeed},MarkSpeed:{param.MarkSpeed})"));
|
||||||
|
|
||||||
|
//CSV Laser Log 추가
|
||||||
|
laserLog.Date = DateTime.Now;
|
||||||
|
laserLog.WeldType = "Arc";
|
||||||
|
laserLog.WeldCondition = param.No + 1;
|
||||||
|
laserLog.LaserOnDelay = param.LaserOnDelay;
|
||||||
|
laserLog.LaserOffDelay = param.LaserOffDelay;
|
||||||
|
laserLog.JumpDelay = param.JumpDelay;
|
||||||
|
laserLog.MarkDelay = param.MarkDelay;
|
||||||
|
laserLog.PolygonDelay = param.PolygonDelay;
|
||||||
|
laserLog.Power = param.LaserPower1;
|
||||||
|
laserLog.JumpSpeed = param.JumpSpeed;
|
||||||
|
laserLog.MarkSpeed = param.MarkSpeed;
|
||||||
|
|
||||||
// 2. 스캐너 가공 작업
|
// 2. 스캐너 가공 작업
|
||||||
// 2.1. Wobbel 관련 설정
|
// 2.1. Wobbel 관련 설정
|
||||||
// Snowman 사용 모드가 아닐 경우 Wobbel 모드 실행
|
// Snowman 사용 모드가 아닐 경우 Wobbel 모드 실행
|
||||||
@ -1637,6 +1652,14 @@ namespace WeldingCommon.Sequences {
|
|||||||
|
|
||||||
_LastX = obj.PF2.X + xOffset;
|
_LastX = obj.PF2.X + xOffset;
|
||||||
_LastY = obj.PF2.Y + yOffset;
|
_LastY = obj.PF2.Y + yOffset;
|
||||||
|
|
||||||
|
//CSV Laser Log 추가
|
||||||
|
laserLog.StartPointX = obj.PF1.X;
|
||||||
|
laserLog.StartPointY = obj.PF1.Y;
|
||||||
|
laserLog.EndPointX = obj.PF2.X;
|
||||||
|
laserLog.EndPointY = obj.PF2.Y;
|
||||||
|
Status.GetProcessingWeldingData().APD.Add(laserLog);
|
||||||
|
|
||||||
if (obj.MadebyRCC) {
|
if (obj.MadebyRCC) {
|
||||||
Log.I(string.Format($"[RCC SubPath Arc Weld] Arc center ({obj.CenterPointF.X + xOffset},{obj.CenterPointF.Y + yOffset}), Sweep angle : ({obj.SweepAngle})"));
|
Log.I(string.Format($"[RCC SubPath Arc Weld] Arc center ({obj.CenterPointF.X + xOffset},{obj.CenterPointF.Y + yOffset}), Sweep angle : ({obj.SweepAngle})"));
|
||||||
} else {
|
} else {
|
||||||
@ -1653,12 +1676,26 @@ namespace WeldingCommon.Sequences {
|
|||||||
|
|
||||||
// 1.스캐너 가공조건 설정
|
// 1.스캐너 가공조건 설정
|
||||||
ScannerParam param = ScannerCanvasUserCtrl.ScannerParams[obj.ScannerParamNo];
|
ScannerParam param = ScannerCanvasUserCtrl.ScannerParams[obj.ScannerParamNo];
|
||||||
|
var laserLog = new ActualProcessUnit();
|
||||||
float percentLaser1 = 0;
|
float percentLaser1 = 0;
|
||||||
float percentLaser2 = 0;
|
float percentLaser2 = 0;
|
||||||
SetScannerProcessCondition(param, out percentLaser1, out percentLaser2);
|
SetScannerProcessCondition(param, out percentLaser1, out percentLaser2);
|
||||||
|
|
||||||
Log.I(string.Format($"[Arc3P Weld] Weld Condition(No:{param.No + 1}) Setting(LaserOnDelay:{param.LaserOnDelay},LaserOffDelay:{param.LaserOffDelay},JumpDelay:{param.JumpDelay},MarkDelay:{param.MarkDelay},PolygonDelay:{param.PolygonDelay},Power:{param.LaserPower1},JumpSpeed:{param.JumpSpeed},MarkSpeed:{param.MarkSpeed})"));
|
Log.I(string.Format($"[Arc3P Weld] Weld Condition(No:{param.No + 1}) Setting(LaserOnDelay:{param.LaserOnDelay},LaserOffDelay:{param.LaserOffDelay},JumpDelay:{param.JumpDelay},MarkDelay:{param.MarkDelay},PolygonDelay:{param.PolygonDelay},Power:{param.LaserPower1},JumpSpeed:{param.JumpSpeed},MarkSpeed:{param.MarkSpeed})"));
|
||||||
|
|
||||||
|
//CSV Laser Log 추가
|
||||||
|
laserLog.Date = DateTime.Now;
|
||||||
|
laserLog.WeldType = "Arc3";
|
||||||
|
laserLog.WeldCondition = param.No + 1;
|
||||||
|
laserLog.LaserOnDelay = param.LaserOnDelay;
|
||||||
|
laserLog.LaserOffDelay = param.LaserOffDelay;
|
||||||
|
laserLog.JumpDelay = param.JumpDelay;
|
||||||
|
laserLog.MarkDelay = param.MarkDelay;
|
||||||
|
laserLog.PolygonDelay = param.PolygonDelay;
|
||||||
|
laserLog.Power = param.LaserPower1;
|
||||||
|
laserLog.JumpSpeed = param.JumpSpeed;
|
||||||
|
laserLog.MarkSpeed = param.MarkSpeed;
|
||||||
|
|
||||||
// 2. 스캐너 가공 작업
|
// 2. 스캐너 가공 작업
|
||||||
// 2.1. Wobbel 관련 설정
|
// 2.1. Wobbel 관련 설정
|
||||||
// Snowman 사용 모드가 아닐 경우 Wobbel 모드 실행
|
// Snowman 사용 모드가 아닐 경우 Wobbel 모드 실행
|
||||||
@ -1883,6 +1920,14 @@ namespace WeldingCommon.Sequences {
|
|||||||
|
|
||||||
_LastX = obj.PF2.X + xOffset;
|
_LastX = obj.PF2.X + xOffset;
|
||||||
_LastY = obj.PF2.Y + yOffset;
|
_LastY = obj.PF2.Y + yOffset;
|
||||||
|
|
||||||
|
//CSV Laser Log 추가
|
||||||
|
laserLog.StartPointX = obj.PF1.X;
|
||||||
|
laserLog.StartPointY = obj.PF1.Y;
|
||||||
|
laserLog.EndPointX = obj.PF2.X;
|
||||||
|
laserLog.EndPointY = obj.PF2.Y;
|
||||||
|
Status.GetProcessingWeldingData().APD.Add(laserLog);
|
||||||
|
|
||||||
if (obj.MadebyRCC) {
|
if (obj.MadebyRCC) {
|
||||||
Log.I(string.Format($"[RCC SubPath Arc3P Weld] Arc center ({obj.CenterPointF.X + xOffset},{obj.CenterPointF.Y + yOffset}), Sweep angle : ({obj.SweepAngle})"));
|
Log.I(string.Format($"[RCC SubPath Arc3P Weld] Arc center ({obj.CenterPointF.X + xOffset},{obj.CenterPointF.Y + yOffset}), Sweep angle : ({obj.SweepAngle})"));
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user