[Add Func] RMS Parameter
- Ring Power >> SystemParameter OPTION [Bug Fix] RingPower Ramping - Delete Ramping Param3
This commit is contained in:
parent
c9c8860356
commit
1ec5b0750f
@ -274,6 +274,10 @@ namespace ILSOS_CCW_H52A.Device
|
||||
PLC_PARAM_3_WELDING_RAMPING_END_POWER_1 = 134,
|
||||
PLC_PARAM_3_WELDING_RAMPING_END_POWER_2 = 136,
|
||||
PLC_PARAM_3_WELDING_RAMPING_END_DISTANCE = 138,
|
||||
|
||||
PLC_PARAM_1_WELDING_LASER_POWER_RING = 140,
|
||||
PLC_PARAM_2_WELDING_LASER_POWER_RING = 142,
|
||||
PLC_PARAM_3_WELDING_LASER_POWER_RING = 144,
|
||||
}
|
||||
|
||||
public enum eWordOutput : int
|
||||
@ -399,7 +403,12 @@ namespace ILSOS_CCW_H52A.Device
|
||||
PC_PARAM_3_WELDING_RAMPING_START_B_DISTANCE = 132,
|
||||
PC_PARAM_3_WELDING_RAMPING_END_POWER_1 = 134,
|
||||
PC_PARAM_3_WELDING_RAMPING_END_POWER_2 = 136,
|
||||
PC_PARAM_3_WELDING_RAMPING_END_DISTANCE = 138
|
||||
PC_PARAM_3_WELDING_RAMPING_END_DISTANCE = 138,
|
||||
|
||||
// 260227 Laser 개조 후 파라미터 추가
|
||||
PC_PARAM_1_WELDING_LASER_POWER_RING = 140,
|
||||
PC_PARAM_2_WELDING_LASER_POWER_RING = 142,
|
||||
PC_PARAM_3_WELDING_LASER_POWER_RING = 144,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -8,6 +8,7 @@ using static ILSOS_CCW_H52A.Device.PLCControllerCCWH52A;
|
||||
using Aurora.Api.Manager;
|
||||
using ILSOS_CCW_H52A.Device;
|
||||
using WeldingCommon.Recipes;
|
||||
using WeldingCommon.Settings;
|
||||
|
||||
namespace ILSOS_CCW_H52A.Recipes
|
||||
{
|
||||
@ -15,62 +16,14 @@ namespace ILSOS_CCW_H52A.Recipes
|
||||
// 추가로 SYS_RECIPE_ACTIVATED 에서 처리가 다르게 이루어져야 할 수도 있음. 확장 가능하도록 사용성 열어둠
|
||||
internal class RecipeEventHelper
|
||||
{
|
||||
private static SystemParameter param;
|
||||
internal static void ExternalRecipeUpdate(Logger Log, IAuroraEnvironment aurora)
|
||||
{
|
||||
if(param == null)
|
||||
param = aurora.SettingEntry[CommonSettingIds.SystemParameter] as SystemParameter;
|
||||
var plc = aurora.DeviceManager[CommonDeviceIds.PLCDevice] as PLCController;
|
||||
var activatedRecipeId = aurora.RecipeManager.ActivatedRecipe().Id;
|
||||
|
||||
#region 기존 RMS 방식
|
||||
//Line _Line = null;
|
||||
//var layerObjectList = WeldingRecipeManager.GetWeldingLayerObjects(0);
|
||||
//if (layerObjectList.ElementAt(0) is Line) {
|
||||
// _Line = (Line)layerObjectList.ElementAt(0);
|
||||
//}
|
||||
|
||||
//if (_Line != null) {
|
||||
// #region 확인 필요 항목
|
||||
// //plc.WriteDWord((int)eWordOutput.PC_PARAM_1_WELDING_LASER_OFF_DELAY, (int)(_LineParam.LaserOffDelay * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_WELDING_LASER_OFF_DELAY.ToString())));
|
||||
// //plc.WriteDWord((int)eWordOutput.PC_PARAM_1_WELDING_MARK_DELAY, (int)(_LineParam.MarkDelay * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_WELDING_MARK_DELAY.ToString())));
|
||||
// //plc.WriteDWord((int)eWordOutput.PC_PARAM_1_WELDING_POLYGON_DELAY, (int)(_LineParam.PolygonDelay * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_WELDING_POLYGON_DELAY.ToString())));
|
||||
// #endregion
|
||||
|
||||
// plc.WriteDWord((int)eWordOutput.PC_RECIPE_NO, (int)(activatedRecipeId * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_RECIPE_NO.ToString())));
|
||||
// plc.WriteDWord((int)eWordOutput.PC_WELDING_RECIPE_NO, (int)(activatedRecipeId * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_RECIPE_NO.ToString())));
|
||||
|
||||
// plc.WriteDWord((int)eWordOutput.PC_WELDING_FOCAL_LENGTH, (int)(plc.ReadDWord((int)eWordInput.PLC_WELDING_FOCAL_LENGTH).data)); // PLC에서 받은 데이터를 그대로 넘겨주니 변환이 필요 없다
|
||||
// plc.WriteDWord((int)eWordOutput.PC_SCANNER_X_AXIS, (int)(plc.ReadDWord((int)eWordInput.PLC_SCANNER_X_AXIS).data)); // PLC에서 받은 데이터를 그대로 넘겨주니 변환이 필요 없다
|
||||
|
||||
// ScannerParam _LineParam = ScannerCanvasUserCtrl.ScannerParams[_Line.ScannerParamNo];
|
||||
// plc.WriteDWord((int)eWordOutput.PC_PARAM_1_WELDING_LASER_POWER, (int)(_LineParam.LaserPower1 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_1_WELDING_LASER_POWER.ToString())));
|
||||
// plc.WriteDWord((int)eWordOutput.PC_PARAM_1_WELDING_DRAW_SPEED, (int)(_LineParam.MarkSpeed * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_1_WELDING_DRAW_SPEED.ToString())));
|
||||
// plc.WriteDWord((int)eWordOutput.PC_PARAM_1_WELDING_JUMP_SPEED, (int)(_LineParam.JumpSpeed * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_1_WELDING_JUMP_SPEED.ToString())));
|
||||
// plc.WriteDWord((int)eWordOutput.PC_PARAM_1_WELDING_LASER_ON_DELAY, (int)(_LineParam.LaserOnDelay * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_1_WELDING_LASER_ON_DELAY.ToString())));
|
||||
// plc.WriteDWord((int)eWordOutput.PC_PARAM_1_WELDING_JUMP_DELAY, (int)(_LineParam.JumpDelay * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_1_WELDING_JUMP_DELAY.ToString())));
|
||||
// plc.WriteDWord((int)eWordOutput.PC_PARAM_1_WELDING_RAMPING_START_A_POWER_1, (int)(_LineParam.RampingStartAPower1 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_1_WELDING_RAMPING_START_A_POWER_1.ToString())));
|
||||
// plc.WriteDWord((int)eWordOutput.PC_PARAM_1_WELDING_RAMPING_START_A_POWER_2, (int)(_LineParam.RampingStartAPower2 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_1_WELDING_RAMPING_START_A_POWER_2.ToString())));
|
||||
// plc.WriteDWord((int)eWordOutput.PC_PARAM_1_WELDING_RAMPING_START_A_DISTANCE, (int)(_LineParam.RampingStartADist * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_1_WELDING_RAMPING_START_A_DISTANCE.ToString())));
|
||||
// plc.WriteDWord((int)eWordOutput.PC_PARAM_1_WELDING_RAMPING_START_B_POWER_1, (int)(_LineParam.RampingStartPower1 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_1_WELDING_RAMPING_START_B_POWER_1.ToString())));
|
||||
// plc.WriteDWord((int)eWordOutput.PC_PARAM_1_WELDING_RAMPING_START_B_POWER_2, (int)(_LineParam.RampingStartPower3 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_1_WELDING_RAMPING_START_B_POWER_2.ToString())));
|
||||
// plc.WriteDWord((int)eWordOutput.PC_PARAM_1_WELDING_RAMPING_START_B_DISTANCE, (int)(_LineParam.RampingStartDist * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_1_WELDING_RAMPING_START_B_DISTANCE.ToString())));
|
||||
// plc.WriteDWord((int)eWordOutput.PC_PARAM_1_WELDING_RAMPING_END_POWER_1, (int)(_LineParam.RampingEndPower1 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_1_WELDING_RAMPING_END_POWER_1.ToString())));
|
||||
// plc.WriteDWord((int)eWordOutput.PC_PARAM_1_WELDING_RAMPING_END_POWER_2, (int)(_LineParam.RampingEndPower3 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_1_WELDING_RAMPING_END_POWER_2.ToString())));
|
||||
// plc.WriteDWord((int)eWordOutput.PC_PARAM_1_WELDING_RAMPING_END_DISTANCE, (int)(_LineParam.RampingEndDist * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_1_WELDING_RAMPING_END_DISTANCE.ToString())));
|
||||
|
||||
// plc.WriteDWord((int)eWordOutput.PC_EQUIPMENT_SPEED, (int)(plc.ReadDWord((int)eWordInput.PLC_EQUIPMENT_SPEED).data)); // PLC에서 받은 데이터를 그대로 넘겨주니 변환이 필요 없다. Equipment Speed는 Rotary Speed로 PC에서는 사용하지 않고 그냥 표기만 해준다.
|
||||
|
||||
// Log.I(string.Format($"SET PC_RECIPE_PARAM_UPLOAD_COMPLETE True"));
|
||||
// plc.WriteBit((int)eBitOutput.PC_RECIPE_PARAM_UPLOAD_COMPLETE, true);
|
||||
|
||||
//} else {
|
||||
// Log.W("Check Whether there is Line in the Activated Recipe Object!");
|
||||
//}
|
||||
#endregion
|
||||
#region 확인 필요 항목
|
||||
//plc.WriteDWord((int)eWordOutput.PC_PARAM_1_WELDING_LASER_OFF_DELAY, (int)(_LineParam.LaserOffDelay * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_WELDING_LASER_OFF_DELAY.ToString())));
|
||||
//plc.WriteDWord((int)eWordOutput.PC_PARAM_1_WELDING_MARK_DELAY, (int)(_LineParam.MarkDelay * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_WELDING_MARK_DELAY.ToString())));
|
||||
//plc.WriteDWord((int)eWordOutput.PC_PARAM_1_WELDING_POLYGON_DELAY, (int)(_LineParam.PolygonDelay * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_WELDING_POLYGON_DELAY.ToString())));
|
||||
#endregion
|
||||
|
||||
plc.WriteDWord((int)eWordOutput.PC_RECIPE_NO, (int)(activatedRecipeId * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_RECIPE_NO.ToString())));
|
||||
plc.WriteDWord((int)eWordOutput.PC_WELDING_RECIPE_NO, (int)(activatedRecipeId * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_RECIPE_NO.ToString())));
|
||||
|
||||
@ -89,12 +42,16 @@ namespace ILSOS_CCW_H52A.Recipes
|
||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_1_WELDING_RAMPING_START_A_POWER_2, (int)(_LineParam_1.RampingStartAPower2 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_1_WELDING_RAMPING_START_A_POWER_2.ToString())));
|
||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_1_WELDING_RAMPING_START_A_DISTANCE, (int)(_LineParam_1.RampingStartADist * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_1_WELDING_RAMPING_START_A_DISTANCE.ToString())));
|
||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_1_WELDING_RAMPING_START_B_POWER_1, (int)(_LineParam_1.RampingStartPower1 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_1_WELDING_RAMPING_START_B_POWER_1.ToString())));
|
||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_1_WELDING_RAMPING_START_B_POWER_2, (int)(_LineParam_1.RampingStartPower3 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_1_WELDING_RAMPING_START_B_POWER_2.ToString())));
|
||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_1_WELDING_RAMPING_START_B_POWER_2, (int)(_LineParam_1.RampingStartPower2 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_1_WELDING_RAMPING_START_B_POWER_2.ToString())));
|
||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_1_WELDING_RAMPING_START_B_DISTANCE, (int)(_LineParam_1.RampingStartDist * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_1_WELDING_RAMPING_START_B_DISTANCE.ToString())));
|
||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_1_WELDING_RAMPING_END_POWER_1, (int)(_LineParam_1.RampingEndPower1 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_1_WELDING_RAMPING_END_POWER_1.ToString())));
|
||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_1_WELDING_RAMPING_END_POWER_2, (int)(_LineParam_1.RampingEndPower3 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_1_WELDING_RAMPING_END_POWER_2.ToString())));
|
||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_1_WELDING_RAMPING_END_POWER_2, (int)(_LineParam_1.RampingEndPower2 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_1_WELDING_RAMPING_END_POWER_2.ToString())));
|
||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_1_WELDING_RAMPING_END_DISTANCE, (int)(_LineParam_1.RampingEndDist * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_1_WELDING_RAMPING_END_DISTANCE.ToString())));
|
||||
// 260227 Laser 개조 후 파라미터 추가
|
||||
if(param.UseRingPowerRMS)
|
||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_1_WELDING_LASER_POWER_RING, (int)(_LineParam_1.LaserPower2 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_1_WELDING_LASER_POWER_RING.ToString())));
|
||||
#endregion
|
||||
|
||||
#region PLC Upload Parameter 2
|
||||
ScannerParam _LineParam_2 = ScannerCanvasUserCtrl.ScannerParams[1];
|
||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_2_WELDING_LASER_POWER, (int)(_LineParam_2.LaserPower1 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_2_WELDING_LASER_POWER.ToString())));
|
||||
@ -106,12 +63,16 @@ namespace ILSOS_CCW_H52A.Recipes
|
||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_2_WELDING_RAMPING_START_A_POWER_2, (int)(_LineParam_2.RampingStartAPower2 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_2_WELDING_RAMPING_START_A_POWER_2.ToString())));
|
||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_2_WELDING_RAMPING_START_A_DISTANCE, (int)(_LineParam_2.RampingStartADist * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_2_WELDING_RAMPING_START_A_DISTANCE.ToString())));
|
||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_2_WELDING_RAMPING_START_B_POWER_1, (int)(_LineParam_2.RampingStartPower1 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_2_WELDING_RAMPING_START_B_POWER_1.ToString())));
|
||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_2_WELDING_RAMPING_START_B_POWER_2, (int)(_LineParam_2.RampingStartPower3 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_2_WELDING_RAMPING_START_B_POWER_2.ToString())));
|
||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_2_WELDING_RAMPING_START_B_POWER_2, (int)(_LineParam_2.RampingStartPower2 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_2_WELDING_RAMPING_START_B_POWER_2.ToString())));
|
||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_2_WELDING_RAMPING_START_B_DISTANCE, (int)(_LineParam_2.RampingStartDist * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_2_WELDING_RAMPING_START_B_DISTANCE.ToString())));
|
||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_2_WELDING_RAMPING_END_POWER_1, (int)(_LineParam_2.RampingEndPower1 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_2_WELDING_RAMPING_END_POWER_1.ToString())));
|
||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_2_WELDING_RAMPING_END_POWER_2, (int)(_LineParam_2.RampingEndPower3 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_2_WELDING_RAMPING_END_POWER_2.ToString())));
|
||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_2_WELDING_RAMPING_END_POWER_2, (int)(_LineParam_2.RampingEndPower2 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_2_WELDING_RAMPING_END_POWER_2.ToString())));
|
||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_2_WELDING_RAMPING_END_DISTANCE, (int)(_LineParam_2.RampingEndDist * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_2_WELDING_RAMPING_END_DISTANCE.ToString())));
|
||||
// 260227 Laser 개조 후 파라미터 추가
|
||||
if (param.UseRingPowerRMS)
|
||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_2_WELDING_LASER_POWER_RING, (int)(_LineParam_2.LaserPower2 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_2_WELDING_LASER_POWER_RING.ToString())));
|
||||
#endregion
|
||||
|
||||
#region PLC Upload Parameter 3
|
||||
ScannerParam _LineParam_3 = ScannerCanvasUserCtrl.ScannerParams[2];
|
||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_3_WELDING_LASER_POWER, (int)(_LineParam_3.LaserPower1 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_3_WELDING_LASER_POWER.ToString())));
|
||||
@ -123,11 +84,14 @@ namespace ILSOS_CCW_H52A.Recipes
|
||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_3_WELDING_RAMPING_START_A_POWER_2, (int)(_LineParam_3.RampingStartAPower2 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_3_WELDING_RAMPING_START_A_POWER_2.ToString())));
|
||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_3_WELDING_RAMPING_START_A_DISTANCE, (int)(_LineParam_3.RampingStartADist * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_3_WELDING_RAMPING_START_A_DISTANCE.ToString())));
|
||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_3_WELDING_RAMPING_START_B_POWER_1, (int)(_LineParam_3.RampingStartPower1 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_3_WELDING_RAMPING_START_B_POWER_1.ToString())));
|
||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_3_WELDING_RAMPING_START_B_POWER_2, (int)(_LineParam_3.RampingStartPower3 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_3_WELDING_RAMPING_START_B_POWER_2.ToString())));
|
||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_3_WELDING_RAMPING_START_B_POWER_2, (int)(_LineParam_3.RampingStartPower2 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_3_WELDING_RAMPING_START_B_POWER_2.ToString())));
|
||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_3_WELDING_RAMPING_START_B_DISTANCE, (int)(_LineParam_3.RampingStartDist * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_3_WELDING_RAMPING_START_B_DISTANCE.ToString())));
|
||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_3_WELDING_RAMPING_END_POWER_1, (int)(_LineParam_3.RampingEndPower1 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_3_WELDING_RAMPING_END_POWER_1.ToString())));
|
||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_3_WELDING_RAMPING_END_POWER_2, (int)(_LineParam_3.RampingEndPower3 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_3_WELDING_RAMPING_END_POWER_2.ToString())));
|
||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_3_WELDING_RAMPING_END_POWER_2, (int)(_LineParam_3.RampingEndPower2 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_3_WELDING_RAMPING_END_POWER_2.ToString())));
|
||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_3_WELDING_RAMPING_END_DISTANCE, (int)(_LineParam_3.RampingEndDist * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_3_WELDING_RAMPING_END_DISTANCE.ToString())));
|
||||
// 260227 Laser 개조 후 파라미터 추가
|
||||
if (param.UseRingPowerRMS)
|
||||
plc.WriteDWord((int)eWordOutput.PC_PARAM_3_WELDING_LASER_POWER_RING, (int)(_LineParam_3.LaserPower2 * (plc as PLCControllerCCWH52A).ConvertTo2WordDivisionIndex(eWordOutput.PC_PARAM_3_WELDING_LASER_POWER_RING.ToString())));
|
||||
#endregion
|
||||
|
||||
Log.I(string.Format($"SET PC_RECIPE_PARAM_UPLOAD_COMPLETE True"));
|
||||
@ -136,6 +100,8 @@ namespace ILSOS_CCW_H52A.Recipes
|
||||
|
||||
internal static bool ExternalRecipeChangeRequest(Logger Log, IAuroraEnvironment aurora)
|
||||
{
|
||||
if(param == null)
|
||||
param = aurora.SettingEntry[CommonSettingIds.SystemParameter] as SystemParameter;
|
||||
var plc = aurora.DeviceManager[CommonDeviceIds.PLCDevice] as PLCController;
|
||||
int recipeRequestId = (int)plc.ReadDWord((int)eWordInput.PLC_WELDING_RECIPE_NO).data;
|
||||
|
||||
@ -149,47 +115,6 @@ namespace ILSOS_CCW_H52A.Recipes
|
||||
return false;
|
||||
}
|
||||
|
||||
#region 기존 RMS 방식
|
||||
//Line _Line = null;
|
||||
//var layerObjectList = WeldingRecipeManager.GetWeldingLayerObjects(0);
|
||||
//if (layerObjectList.ElementAt(0) is Line) {
|
||||
// _Line = (Line)layerObjectList.ElementAt(0);
|
||||
//}
|
||||
|
||||
//if (_Line != null) {
|
||||
// ScannerParam _LineParam = ScannerCanvasUserCtrl.ScannerParams[_Line.ScannerParamNo];
|
||||
// _LineParam.LaserPower1 = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_WELDING_LASER_POWER);
|
||||
// _LineParam.MarkSpeed = (double)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_WELDING_DRAW_SPEED);
|
||||
// _LineParam.JumpSpeed = (double)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_WELDING_JUMP_SPEED);
|
||||
|
||||
// // 레이저 포커스 Z축 포지션영역, 해당 파라미터를 어떻게 받아 어떻게 전달할지에 대해서 논의 필요
|
||||
// //ZPosition?? = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_WELDING_FOCAL_LENGTH);
|
||||
|
||||
// _LineParam.LaserOnDelay = (int)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_WELDING_LASER_ON_DELAY);
|
||||
// _LineParam.LaserOffDelay = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_WELDING_LASER_OFF_DELAY);
|
||||
// _LineParam.JumpDelay = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_WELDING_JUMP_DELAY);
|
||||
// _LineParam.MarkDelay = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_WELDING_MARK_DELAY);
|
||||
// _LineParam.PolygonDelay = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_WELDING_POLYGON_DELAY);
|
||||
// _LineParam.RampingStartAPower1 = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_WELDING_RAMPING_START_A_POWER_1);
|
||||
// _LineParam.RampingStartAPower2 = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_WELDING_RAMPING_START_A_POWER_2);
|
||||
// _LineParam.RampingStartADist = (double)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_WELDING_RAMPING_START_A_DISTANCE);
|
||||
// _LineParam.RampingStartPower1 = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_WELDING_RAMPING_START_B_POWER_1);
|
||||
// _LineParam.RampingStartPower3 = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_WELDING_RAMPING_START_B_POWER_2);
|
||||
// _LineParam.RampingStartDist = (double)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_WELDING_RAMPING_START_B_DISTANCE);
|
||||
// _LineParam.RampingEndPower1 = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_WELDING_RAMPING_END_POWER_1);
|
||||
// _LineParam.RampingEndPower3 = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_WELDING_RAMPING_END_POWER_2);
|
||||
// _LineParam.RampingEndDist = (double)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_WELDING_RAMPING_END_DISTANCE);
|
||||
|
||||
//} else {
|
||||
// Log.W("Check Whether there is Line in the Activated Recipe Object!");
|
||||
//}
|
||||
#endregion
|
||||
#region 확인 필요 항목
|
||||
//_LineParam.LaserOffDelay = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_1_WELDING_LASER_OFF_DELAY);
|
||||
//_LineParam.MarkDelay = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_1_WELDING_MARK_DELAY);
|
||||
//_LineParam.PolygonDelay = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_1_WELDING_POLYGON_DELAY);
|
||||
#endregion
|
||||
|
||||
#region Scanner Upload Parameter 1
|
||||
ScannerParam _LineParam_1 = ScannerCanvasUserCtrl.ScannerParams[0];
|
||||
_LineParam_1.LaserPower1 = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_1_WELDING_LASER_POWER);
|
||||
@ -201,11 +126,14 @@ namespace ILSOS_CCW_H52A.Recipes
|
||||
_LineParam_1.RampingStartAPower2 = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_1_WELDING_RAMPING_START_A_POWER_2);
|
||||
_LineParam_1.RampingStartADist = (double)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_1_WELDING_RAMPING_START_A_DISTANCE);
|
||||
_LineParam_1.RampingStartPower1 = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_1_WELDING_RAMPING_START_B_POWER_1);
|
||||
_LineParam_1.RampingStartPower3 = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_1_WELDING_RAMPING_START_B_POWER_2);
|
||||
_LineParam_1.RampingStartPower2 = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_1_WELDING_RAMPING_START_B_POWER_2);
|
||||
_LineParam_1.RampingStartDist = (double)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_1_WELDING_RAMPING_START_B_DISTANCE);
|
||||
_LineParam_1.RampingEndPower1 = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_1_WELDING_RAMPING_END_POWER_1);
|
||||
_LineParam_1.RampingEndPower3 = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_1_WELDING_RAMPING_END_POWER_2);
|
||||
_LineParam_1.RampingEndPower2 = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_1_WELDING_RAMPING_END_POWER_2);
|
||||
_LineParam_1.RampingEndDist = (double)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_1_WELDING_RAMPING_END_DISTANCE);
|
||||
// 260227 Laser 개조 후 파라미터 추가
|
||||
if (param.UseRingPowerRMS)
|
||||
_LineParam_1.LaserPower2 = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_1_WELDING_LASER_POWER_RING);
|
||||
#endregion
|
||||
#region Scanner Upload Parameter 2
|
||||
ScannerParam _LineParam_2 = ScannerCanvasUserCtrl.ScannerParams[1];
|
||||
@ -218,11 +146,13 @@ namespace ILSOS_CCW_H52A.Recipes
|
||||
_LineParam_2.RampingStartAPower2 = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_2_WELDING_RAMPING_START_A_POWER_2);
|
||||
_LineParam_2.RampingStartADist = (double)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_2_WELDING_RAMPING_START_A_DISTANCE);
|
||||
_LineParam_2.RampingStartPower1 = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_2_WELDING_RAMPING_START_B_POWER_1);
|
||||
_LineParam_2.RampingStartPower3 = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_2_WELDING_RAMPING_START_B_POWER_2);
|
||||
_LineParam_2.RampingStartPower2 = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_2_WELDING_RAMPING_START_B_POWER_2);
|
||||
_LineParam_2.RampingStartDist = (double)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_2_WELDING_RAMPING_START_B_DISTANCE);
|
||||
_LineParam_2.RampingEndPower1 = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_2_WELDING_RAMPING_END_POWER_1);
|
||||
_LineParam_2.RampingEndPower3 = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_2_WELDING_RAMPING_END_POWER_2);
|
||||
_LineParam_2.RampingEndPower2 = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_2_WELDING_RAMPING_END_POWER_2);
|
||||
_LineParam_2.RampingEndDist = (double)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_2_WELDING_RAMPING_END_DISTANCE);
|
||||
if (param.UseRingPowerRMS)
|
||||
_LineParam_2.LaserPower2 = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_2_WELDING_LASER_POWER_RING);
|
||||
#endregion
|
||||
#region Scanner Upload Parameter 3
|
||||
ScannerParam _LineParam_3 = ScannerCanvasUserCtrl.ScannerParams[2];
|
||||
@ -235,11 +165,13 @@ namespace ILSOS_CCW_H52A.Recipes
|
||||
_LineParam_3.RampingStartAPower2 = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_3_WELDING_RAMPING_START_A_POWER_2);
|
||||
_LineParam_3.RampingStartADist = (double)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_3_WELDING_RAMPING_START_A_DISTANCE);
|
||||
_LineParam_3.RampingStartPower1 = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_3_WELDING_RAMPING_START_B_POWER_1);
|
||||
_LineParam_3.RampingStartPower3 = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_3_WELDING_RAMPING_START_B_POWER_2);
|
||||
_LineParam_3.RampingStartPower2 = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_3_WELDING_RAMPING_START_B_POWER_2);
|
||||
_LineParam_3.RampingStartDist = (double)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_3_WELDING_RAMPING_START_B_DISTANCE);
|
||||
_LineParam_3.RampingEndPower1 = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_3_WELDING_RAMPING_END_POWER_1);
|
||||
_LineParam_3.RampingEndPower3 = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_3_WELDING_RAMPING_END_POWER_2);
|
||||
_LineParam_3.RampingEndPower2 = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_3_WELDING_RAMPING_END_POWER_2);
|
||||
_LineParam_3.RampingEndDist = (double)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_3_WELDING_RAMPING_END_DISTANCE);
|
||||
if (param.UseRingPowerRMS)
|
||||
_LineParam_3.LaserPower2 = (uint)(plc as PLCControllerCCWH52A).ReadDWordByDivision(eWordInput.PLC_PARAM_3_WELDING_LASER_POWER_RING);
|
||||
#endregion
|
||||
|
||||
//TODO: Recipe 저장 되어지면 안될꺼 같은데, 확인 필요함.
|
||||
|
||||
@ -774,6 +774,7 @@ namespace ILSOS_CCW_H52A.Sequences
|
||||
if (laserParam != null) {
|
||||
// EDC 보내는 용도
|
||||
Status.GetProcessingWeldingData().LaserPowerCore = laserParam.LaserPower1.ToString();
|
||||
Status.GetProcessingWeldingData().LaserPowerRing = laserParam.LaserPower2.ToString();
|
||||
Status.GetProcessingWeldingData().MarkSpeed = laserParam.MarkSpeed.ToString();
|
||||
Status.GetProcessingWeldingData().FocalLength = (_PLC.ReadDWord((int)eWordInput.PLC_WELDING_FOCAL_LENGTH).data / 1000f).ToString();
|
||||
Status.GetProcessingWeldingData().WeldingJigNo = _WeldingJigNo.ToString();
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -98,10 +98,10 @@ namespace CoreUnit.Scanner.UserControl.Canvas.Dialog
|
||||
label31.Enabled = false;
|
||||
|
||||
// Ramping Start, End 구분 후 사용한다. Power 2번은 여전히 막아둠
|
||||
//label68.Enabled = false;
|
||||
//label69.Enabled = false;
|
||||
//label71.Enabled = false;
|
||||
//label72.Enabled = false;
|
||||
//label68.Enabled = false;
|
||||
//label69.Enabled = false;
|
||||
//label71.Enabled = false;
|
||||
//label72.Enabled = false;
|
||||
//label73.Enabled = false;
|
||||
//label70.Enabled = false;
|
||||
|
||||
@ -157,9 +157,6 @@ namespace CoreUnit.Scanner.UserControl.Canvas.Dialog
|
||||
nudRampingStartPower1.Enabled = PermissionCheck;
|
||||
nudRampingEndPower1.Enabled = PermissionCheck;
|
||||
|
||||
nudRampingStartPower3.Enabled = PermissionCheck;
|
||||
nudRampingEndPower3.Enabled = PermissionCheck;
|
||||
|
||||
nudRampingStartAPower1.Enabled = PermissionCheck;
|
||||
nudRampingStartAPower2.Enabled = PermissionCheck;
|
||||
nudRampingStartADist.Enabled = PermissionCheck;
|
||||
@ -184,8 +181,6 @@ namespace CoreUnit.Scanner.UserControl.Canvas.Dialog
|
||||
nudRampingStartPower2.Visible = false;
|
||||
nudRampingEndPower2.Visible = false;
|
||||
|
||||
nudRampingStartPower3.Visible = true;
|
||||
nudRampingEndPower3.Visible = true;
|
||||
#endregion
|
||||
}
|
||||
|
||||
@ -329,13 +324,6 @@ namespace CoreUnit.Scanner.UserControl.Canvas.Dialog
|
||||
else
|
||||
nudRampingStartPower2.Value = Convert.ToDecimal(selectedParam.RampingStartPower2);
|
||||
|
||||
if (nudRampingStartPower3.Maximum < Convert.ToDecimal(selectedParam.RampingStartPower3))
|
||||
nudRampingStartPower3.Value = nudRampingStartPower3.Maximum;
|
||||
else if (nudRampingStartPower3.Minimum > Convert.ToDecimal(selectedParam.RampingStartPower3))
|
||||
nudRampingStartPower3.Value = nudRampingStartPower3.Minimum;
|
||||
else
|
||||
nudRampingStartPower3.Value = Convert.ToDecimal(selectedParam.RampingStartPower3);
|
||||
|
||||
if (nudRampingStartDist.Maximum < Convert.ToDecimal(selectedParam.RampingStartDist))
|
||||
nudRampingStartDist.Value = nudRampingStartDist.Maximum;
|
||||
else if (nudRampingStartDist.Minimum > Convert.ToDecimal(selectedParam.RampingStartDist))
|
||||
@ -357,15 +345,6 @@ namespace CoreUnit.Scanner.UserControl.Canvas.Dialog
|
||||
else
|
||||
nudRampingEndPower2.Value = Convert.ToDecimal(selectedParam.RampingEndPower2);
|
||||
|
||||
|
||||
if (nudRampingEndPower3.Maximum < Convert.ToDecimal(selectedParam.RampingEndPower3))
|
||||
nudRampingEndPower3.Value = nudRampingEndPower3.Maximum;
|
||||
else if (nudRampingEndPower3.Minimum > Convert.ToDecimal(selectedParam.RampingEndPower3))
|
||||
nudRampingEndPower3.Value = nudRampingEndPower3.Minimum;
|
||||
else
|
||||
nudRampingEndPower3.Value = Convert.ToDecimal(selectedParam.RampingEndPower3);
|
||||
|
||||
|
||||
if (nudRampingEndDist.Maximum < Convert.ToDecimal(selectedParam.RampingEndDist))
|
||||
nudRampingEndDist.Value = nudRampingEndDist.Maximum;
|
||||
else if (nudRampingEndDist.Minimum > Convert.ToDecimal(selectedParam.RampingEndDist))
|
||||
@ -425,11 +404,9 @@ namespace CoreUnit.Scanner.UserControl.Canvas.Dialog
|
||||
|
||||
selectedParam.RampingStartPower1 = Convert.ToUInt32(nudRampingStartPower1.Value);
|
||||
selectedParam.RampingStartPower2 = Convert.ToUInt32(nudRampingStartPower2.Value);
|
||||
selectedParam.RampingStartPower3 = Convert.ToUInt32(nudRampingStartPower3.Value);
|
||||
selectedParam.RampingStartDist = (double)nudRampingStartDist.Value;
|
||||
selectedParam.RampingEndPower1 = Convert.ToUInt32(nudRampingEndPower1.Value);
|
||||
selectedParam.RampingEndPower2 = Convert.ToUInt32(nudRampingEndPower2.Value);
|
||||
selectedParam.RampingEndPower3 = Convert.ToUInt32(nudRampingEndPower3.Value);
|
||||
selectedParam.RampingEndDist = (double)nudRampingEndDist.Value;
|
||||
selectedParam.RampingInterval = (double)nudRampingInterval.Value;
|
||||
|
||||
@ -873,11 +850,9 @@ namespace CoreUnit.Scanner.UserControl.Canvas.Dialog
|
||||
nudRampingStartDist.Enabled = false;
|
||||
nudRampingStartPower1.Enabled = false;
|
||||
nudRampingStartPower2.Enabled = false;
|
||||
nudRampingStartPower3.Enabled = false;
|
||||
nudRampingEndDist.Enabled = false;
|
||||
nudRampingEndPower1.Enabled = false;
|
||||
nudRampingEndPower2.Enabled = false;
|
||||
nudRampingEndPower3.Enabled = false;
|
||||
nudRampingInterval.Enabled = false;
|
||||
checkBoxStartRampingSlopeMode.Enabled = false;
|
||||
checkBoxEndRampingSlopeMode.Enabled = false;
|
||||
@ -886,11 +861,9 @@ namespace CoreUnit.Scanner.UserControl.Canvas.Dialog
|
||||
nudRampingStartDist.Enabled = true;
|
||||
nudRampingStartPower1.Enabled = true;
|
||||
nudRampingStartPower2.Enabled = true;
|
||||
nudRampingStartPower3.Enabled = true;
|
||||
nudRampingEndDist.Enabled = true;
|
||||
nudRampingEndPower1.Enabled = true;
|
||||
nudRampingEndPower2.Enabled = true;
|
||||
nudRampingEndPower3.Enabled = true;
|
||||
nudRampingInterval.Enabled = true;
|
||||
checkBoxStartRampingSlopeMode.Enabled = true;
|
||||
checkBoxEndRampingSlopeMode.Enabled = true;
|
||||
@ -938,19 +911,17 @@ namespace CoreUnit.Scanner.UserControl.Canvas.Dialog
|
||||
tbWobbelLongitudinal.ImeMode = ImeMode.Disable;
|
||||
tbWobbelFrequency.ImeMode = ImeMode.Disable;
|
||||
|
||||
nudRampingStartAPower1.ImeMode = ImeMode.Disable;;
|
||||
nudRampingStartAPower2.ImeMode = ImeMode.Disable;;
|
||||
nudRampingStartADist.ImeMode = ImeMode.Disable;;
|
||||
nudRampingStartAPower1.ImeMode = ImeMode.Disable;
|
||||
nudRampingStartAPower2.ImeMode = ImeMode.Disable;
|
||||
nudRampingStartADist.ImeMode = ImeMode.Disable;
|
||||
|
||||
nudRampingStartPower1.ImeMode = ImeMode.Disable;;
|
||||
nudRampingStartPower2.ImeMode = ImeMode.Disable;;
|
||||
nudRampingStartPower3.ImeMode = ImeMode.Disable;;
|
||||
nudRampingStartDist.ImeMode = ImeMode.Disable;;
|
||||
nudRampingEndPower1.ImeMode = ImeMode.Disable;;
|
||||
nudRampingEndPower2.ImeMode = ImeMode.Disable;;
|
||||
nudRampingEndPower3.ImeMode = ImeMode.Disable;;
|
||||
nudRampingEndDist.ImeMode = ImeMode.Disable;;
|
||||
nudRampingInterval.ImeMode = ImeMode.Disable;;
|
||||
nudRampingStartPower1.ImeMode = ImeMode.Disable;
|
||||
nudRampingStartPower2.ImeMode = ImeMode.Disable;
|
||||
nudRampingStartDist.ImeMode = ImeMode.Disable;
|
||||
nudRampingEndPower1.ImeMode = ImeMode.Disable;
|
||||
nudRampingEndPower2.ImeMode = ImeMode.Disable;
|
||||
nudRampingEndDist.ImeMode = ImeMode.Disable;
|
||||
nudRampingInterval.ImeMode = ImeMode.Disable;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -297,20 +297,6 @@ namespace CoreUnit.Scanner.UserControl.ScannerCanvas
|
||||
set { m_rampingStartPower2 = value; }
|
||||
}
|
||||
|
||||
|
||||
uint m_rampingStartPower3;
|
||||
[Browsable(true)]
|
||||
[ReadOnly(false)]
|
||||
[Category("Ramping")]
|
||||
[DisplayName("Start Power(%)")]
|
||||
[Description("Start Power(Max:100, Min:0, Unit: %)")]
|
||||
[XmlSerializable]
|
||||
public uint RampingStartPower3
|
||||
{
|
||||
get { return m_rampingStartPower3; }
|
||||
set { m_rampingStartPower3 = value; }
|
||||
}
|
||||
|
||||
//bool m_rampingStartSlopeMode;
|
||||
//[Browsable(true)]
|
||||
//[ReadOnly(false)]
|
||||
@ -358,18 +344,6 @@ namespace CoreUnit.Scanner.UserControl.ScannerCanvas
|
||||
get { return m_rampingEndPower2; }
|
||||
set { m_rampingEndPower2 = value; }
|
||||
}
|
||||
uint m_rampingEndPower3;
|
||||
[Browsable(true)]
|
||||
[ReadOnly(false)]
|
||||
[Category("Ramping")]
|
||||
[DisplayName("End Power(%)")]
|
||||
[Description("End Power(Max:100, Min:0, Unit: %)")]
|
||||
[XmlSerializable]
|
||||
public uint RampingEndPower3
|
||||
{
|
||||
get { return m_rampingEndPower3; }
|
||||
set { m_rampingEndPower3 = value; }
|
||||
}
|
||||
|
||||
//bool m_rampingEndSlopeMode;
|
||||
//[Browsable(true)]
|
||||
@ -1568,11 +1542,9 @@ namespace CoreUnit.Scanner.UserControl.ScannerCanvas
|
||||
m_rampingStartDist = 0;
|
||||
m_rampingStartPower1 = 0;
|
||||
m_rampingStartPower2 = 0;
|
||||
m_rampingStartPower3 = 0;
|
||||
|
||||
m_rampingEndPower1 = 0;
|
||||
m_rampingEndPower2 = 0;
|
||||
m_rampingEndPower3 = 0;
|
||||
m_rampingEndDist = 0;
|
||||
m_RampingInterval = 0;
|
||||
//m_rampingStartSlopeMode = false;
|
||||
@ -1633,11 +1605,9 @@ namespace CoreUnit.Scanner.UserControl.ScannerCanvas
|
||||
|
||||
param.m_rampingStartPower1 = this.m_rampingStartPower1;
|
||||
param.m_rampingStartPower2 = this.m_rampingStartPower2;
|
||||
param.m_rampingStartPower3 = this.m_rampingStartPower3;
|
||||
param.m_rampingStartDist = this.m_rampingStartDist;
|
||||
param.m_rampingEndPower1 = this.m_rampingEndPower1;
|
||||
param.m_rampingEndPower2 = this.m_rampingEndPower2;
|
||||
param.m_rampingEndPower3 = this.m_rampingEndPower3;
|
||||
param.m_rampingEndDist = this.m_rampingEndDist;
|
||||
//param.m_rampingStartSlopeMode = this.m_rampingStartSlopeMode;
|
||||
//param.m_rampingEndSlopeMode = this.m_rampingEndSlopeMode;
|
||||
|
||||
@ -41,7 +41,8 @@ namespace WeldingCommon.Data
|
||||
table.Columns.Add(nameof(ActualProcessUnit.JumpDelay), typeof(double));
|
||||
table.Columns.Add(nameof(ActualProcessUnit.MarkDelay), typeof(double));
|
||||
table.Columns.Add(nameof(ActualProcessUnit.PolygonDelay), typeof(double));
|
||||
table.Columns.Add(nameof(ActualProcessUnit.Power), typeof(double));
|
||||
table.Columns.Add(nameof(ActualProcessUnit.PowerCore), typeof(double));
|
||||
table.Columns.Add(nameof(ActualProcessUnit.PowerRing), typeof(double));
|
||||
table.Columns.Add(nameof(ActualProcessUnit.JumpSpeed), typeof(double));
|
||||
table.Columns.Add(nameof(ActualProcessUnit.MarkSpeed), typeof(double));
|
||||
table.Columns.Add(nameof(ActualProcessUnit.JumpX), typeof(double));
|
||||
@ -65,7 +66,7 @@ namespace WeldingCommon.Data
|
||||
table.Rows.Add(item.Date.ToString("yyyy-MM-dd"), item.Date.ToString("HH:mm:ss.fff"), item.LotID, item.CellID, item.HeadNo, item.WeldType, item.EncoderCheck,
|
||||
item.StartPointX, item.StartPointY, item.EndPointX, item.EndPointY,
|
||||
item.WeldCondition, item.LaserOnDelay, item.LaserOffDelay, item.JumpDelay, item.MarkDelay,
|
||||
item.PolygonDelay, item.Power, item.JumpSpeed, item.MarkSpeed, item.JumpX,
|
||||
item.PolygonDelay, item.PowerCore, item.PowerRing, item.JumpSpeed, item.MarkSpeed, item.JumpX,
|
||||
item.JumpY);
|
||||
}
|
||||
|
||||
@ -110,8 +111,10 @@ namespace WeldingCommon.Data
|
||||
private double _MarkDelay;
|
||||
public double PolygonDelay { get => _PolygonDelay; set => SetProperty(ref _PolygonDelay, value); }
|
||||
private double _PolygonDelay;
|
||||
public double Power { get => _Power; set => SetProperty(ref _Power, value); }
|
||||
private double _Power;
|
||||
public double PowerCore { get => _PowerCore; set => SetProperty(ref _PowerCore, value); }
|
||||
private double _PowerCore;
|
||||
public double PowerRing { get => _PowerRing; set => SetProperty(ref _PowerRing, value); }
|
||||
private double _PowerRing;
|
||||
public double JumpSpeed { get => _JumpSpeed; set => SetProperty(ref _JumpSpeed, value); }
|
||||
private double _JumpSpeed;
|
||||
public double MarkSpeed { get => _MarkSpeed; set => SetProperty(ref _MarkSpeed, value); }
|
||||
|
||||
@ -12,7 +12,7 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace WeldingCommon.Data
|
||||
{
|
||||
public class WeldingData : NotifyPropertyChangedBase
|
||||
public class WeldingData : NotifyPropertyChangedBase, ICloneable
|
||||
{
|
||||
protected readonly Logger Log = new Logger("WeldingData");
|
||||
|
||||
@ -109,5 +109,34 @@ namespace WeldingCommon.Data
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public object Clone()
|
||||
{
|
||||
var clone = new WeldingData();
|
||||
clone._CellId = _CellId;
|
||||
clone._LotId = _LotId;
|
||||
clone._AutoRunStartTime = _AutoRunStartTime;
|
||||
clone._WeldingStartTime = _WeldingStartTime;
|
||||
clone._WeldingEndTime = _WeldingEndTime;
|
||||
clone._WeldingSpanTimeMilliseconds = _WeldingSpanTimeMilliseconds;
|
||||
clone._TodayProduct = _TodayProduct;
|
||||
clone._TotalProduct = _TotalProduct;
|
||||
clone._RecipeNo = _RecipeNo;
|
||||
clone._WeldStartTime = _WeldStartTime;
|
||||
clone._WeldTime = _WeldTime;
|
||||
clone._WorkCellId = _WorkCellId;
|
||||
clone._WorkLotId = _WorkLotId;
|
||||
clone._LBAD_Judge = _LBAD_Judge;
|
||||
clone._LDD_Judge = _LDD_Judge;
|
||||
clone._LaserPowerCore = _LaserPowerCore;
|
||||
clone._LaserPowerRing = _LaserPowerRing;
|
||||
clone._MarkSpeed = _MarkSpeed;
|
||||
clone._FocalLength = _FocalLength;
|
||||
clone._WeldingJigNo = _WeldingJigNo;
|
||||
clone._LaserPowerByLBAD = _LaserPowerByLBAD;
|
||||
clone._CheckCanExist = _CheckCanExist;
|
||||
clone._CheckScannerListEnd = _CheckScannerListEnd;
|
||||
return clone;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -405,7 +405,7 @@ namespace WeldingCommon.Sequences {
|
||||
float percentLaser1 = 0.0f;
|
||||
float percentLaser2 = 0.0f;
|
||||
SetScannerProcessCondition(param, out percentLaser1, out percentLaser2);
|
||||
Log.I(string.Format($"[Line 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($"[Line Weld] Weld Condition(No:{param.No + 1}) Setting(LaserOnDelay:{param.LaserOnDelay},LaserOffDelay:{param.LaserOffDelay},JumpDelay:{param.JumpDelay},MarkDelay:{param.MarkDelay},PolygonDelay:{param.PolygonDelay},CorePower:{param.LaserPower1},RingPower:{param.LaserPower2},JumpSpeed:{param.JumpSpeed},MarkSpeed:{param.MarkSpeed})"));
|
||||
|
||||
//CSV Laser Log 추가
|
||||
laserLog.Date = DateTime.Now;
|
||||
@ -416,7 +416,8 @@ namespace WeldingCommon.Sequences {
|
||||
laserLog.JumpDelay = param.JumpDelay;
|
||||
laserLog.MarkDelay = param.MarkDelay;
|
||||
laserLog.PolygonDelay = param.PolygonDelay;
|
||||
laserLog.Power = param.LaserPower1;
|
||||
laserLog.PowerCore = param.LaserPower1;
|
||||
laserLog.PowerRing = param.LaserPower2;
|
||||
laserLog.JumpSpeed = param.JumpSpeed;
|
||||
laserLog.MarkSpeed = param.MarkSpeed;
|
||||
|
||||
@ -639,17 +640,17 @@ namespace WeldingCommon.Sequences {
|
||||
float firstPower_A1 = percentLaser1 * (float)param.RampingStartAPower1 / 100; // Ramping First Power 1
|
||||
float firstPower_B1 = percentLaser1 * (float)param.RampingStartAPower2 / 100; // Ramping First Power 2
|
||||
float startPower_A1 = percentLaser1 * (float)param.RampingStartPower1 / 100; // Ramping Start Power 1
|
||||
float startPower_B1 = percentLaser1 * (float)param.RampingStartPower3 / 100; // Ramping Start Power 3
|
||||
float startPower_B1 = percentLaser1 * (float)param.RampingStartPower2 / 100; // Ramping Start Power 3
|
||||
float endPower_A1 = percentLaser1 * (float)param.RampingEndPower1 / 100; // Ramping End Power 1
|
||||
float endPower_B1 = percentLaser1 * (float)param.RampingEndPower3 / 100; // Ramping End Power 3
|
||||
float endPower_B1 = percentLaser1 * (float)param.RampingEndPower2 / 100; // Ramping End Power 3
|
||||
|
||||
// Power2 A -> Start Power, B -> End Power
|
||||
float firstPower_A2 = percentLaser2 * (float)param.RampingStartAPower1 / 100; // Ramping First Power 1
|
||||
float firstPower_B2 = percentLaser2 * (float)param.RampingStartAPower2 / 100; // Ramping First Power 2
|
||||
float startPower_A2 = percentLaser2 * (float)param.RampingStartPower1 / 100; // Ramping Start Power 1
|
||||
float startPower_B2 = percentLaser2 * (float)param.RampingStartPower3 / 100; // Ramping Start Power 3
|
||||
float startPower_B2 = percentLaser2 * (float)param.RampingStartPower2 / 100; // Ramping Start Power 3
|
||||
float endPower_A2 = percentLaser2 * (float)param.RampingEndPower1 / 100; // Ramping End Power 1
|
||||
float endPower_B2 = percentLaser2 * (float)param.RampingEndPower3 / 100; // Ramping End Power 3
|
||||
float endPower_B2 = percentLaser2 * (float)param.RampingEndPower2 / 100; // Ramping End Power 3
|
||||
|
||||
double dx = (obj.P2.X - obj.P1.X) / obj.Distance * length;
|
||||
double dy = (obj.P2.Y - obj.P1.Y) / obj.Distance * length;
|
||||
@ -659,8 +660,8 @@ namespace WeldingCommon.Sequences {
|
||||
|
||||
Log.I($"[Line Weld] Ramping Condition No({obj.No + 1}), Line Length : {obj.Distance}" +
|
||||
$"(Start_A:{param.RampingStartADist}%, Dist {FirstDistance}mm {(float)param.RampingStartAPower1}% -> {(float)param.RampingStartAPower2}%) " +
|
||||
$"(Start_B:{param.RampingStartDist}%, Dist {StartDistance}mm {(float)param.RampingStartPower1}% -> {(float)param.RampingStartPower3}%) " +
|
||||
$"(End:{param.RampingEndDist}%, Dist {EndDistance}mm {(float)param.RampingEndPower1}% -> {(float)param.RampingEndPower3}%)");
|
||||
$"(Start_B:{param.RampingStartDist}%, Dist {StartDistance}mm {(float)param.RampingStartPower1}% -> {(float)param.RampingStartPower2}%) " +
|
||||
$"(End:{param.RampingEndDist}%, Dist {EndDistance}mm {(float)param.RampingEndPower1}% -> {(float)param.RampingEndPower2}%)");
|
||||
|
||||
|
||||
for (int iter = 0; iter < totalCount + 1; iter++) {
|
||||
@ -742,7 +743,7 @@ namespace WeldingCommon.Sequences {
|
||||
float percentLaser2 = 0.0f;
|
||||
SetScannerProcessCondition(param, out percentLaser1, out percentLaser2);
|
||||
|
||||
Log.I(string.Format($"[Point 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($"[Point Weld] Weld Condition(No:{param.No + 1}) Setting(LaserOnDelay:{param.LaserOnDelay},LaserOffDelay:{param.LaserOffDelay},JumpDelay:{param.JumpDelay},MarkDelay:{param.MarkDelay},PolygonDelay:{param.PolygonDelay},CorePower:{param.LaserPower1},RingPower:{param.LaserPower2},JumpSpeed:{param.JumpSpeed},MarkSpeed:{param.MarkSpeed})"));
|
||||
|
||||
// 2. 스캐너 가공 작업
|
||||
// 2.1. Jump(Point Shot)
|
||||
@ -791,7 +792,7 @@ namespace WeldingCommon.Sequences {
|
||||
// Spline 의 경우 Wobbel 해제
|
||||
_Scanner.SetWobbelMode(false, 0, 0, 0, 0);
|
||||
|
||||
Log.I(string.Format($"[Spline 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($"[Spline Weld] Weld Condition(No:{param.No + 1}) Setting(LaserOnDelay:{param.LaserOnDelay},LaserOffDelay:{param.LaserOffDelay},JumpDelay:{param.JumpDelay},MarkDelay:{param.MarkDelay},PolygonDelay:{param.PolygonDelay},CorePower:{param.LaserPower1},RingPower:{param.LaserPower2},JumpSpeed:{param.JumpSpeed},MarkSpeed:{param.MarkSpeed})"));
|
||||
|
||||
// 1. Ramping을 위한 변수 설정
|
||||
// totalCount를 전체 Count에서 Mark가 시작하는 구간으로 2를 빼준다.. 아래수식에서 헷갈리지 않기 위해서..
|
||||
@ -839,8 +840,8 @@ namespace WeldingCommon.Sequences {
|
||||
float startingPercentLaser_A1 = percentLaser1 * (float)param.RampingStartPower1 / 100 <= 100 ?
|
||||
percentLaser1 * (float)param.RampingStartPower1 / 100 : 100;
|
||||
|
||||
float startingPercentLaser_B1 = percentLaser1 * (float)param.RampingStartPower3 / 100 <= 100 ?
|
||||
percentLaser1 * (float)param.RampingStartPower3 / 100 : 100;
|
||||
float startingPercentLaser_B1 = percentLaser1 * (float)param.RampingStartPower2 / 100 <= 100 ?
|
||||
percentLaser1 * (float)param.RampingStartPower2 / 100 : 100;
|
||||
|
||||
float risingEdgePercentLaser1 = 0;
|
||||
float startingPercentLaser2 = percentLaser2 * (float)param.RampingStartPower2 / 100 <= 100 ?
|
||||
@ -851,8 +852,8 @@ namespace WeldingCommon.Sequences {
|
||||
// percentLaser1 * (float)param.RampingEndPower1 / 100 : 100;
|
||||
float endingPercentLaser_A1 = percentLaser1 * (float)param.RampingEndPower1 / 100 <= 100 ?
|
||||
percentLaser1 * (float)param.RampingEndPower1 / 100 : 100;
|
||||
float endingPercentLaser_B1 = percentLaser1 * (float)param.RampingEndPower3 / 100 <= 100 ?
|
||||
percentLaser1 * (float)param.RampingEndPower3 / 100 : 100;
|
||||
float endingPercentLaser_B1 = percentLaser1 * (float)param.RampingEndPower2 / 100 <= 100 ?
|
||||
percentLaser1 * (float)param.RampingEndPower2 / 100 : 100;
|
||||
|
||||
float fallingEdgePercentLaser1 = 0;
|
||||
float endingPercentLaser2 = percentLaser2 * (float)param.RampingEndPower2 / 100 <= 100 ?
|
||||
@ -1360,7 +1361,7 @@ namespace WeldingCommon.Sequences {
|
||||
float percentLaser2 = 0;
|
||||
SetScannerProcessCondition(param, out percentLaser1, out percentLaser2);
|
||||
|
||||
Log.I(string.Format($"[SnowMan 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($"[SnowMan Weld] Weld Condition(No:{param.No + 1}) Setting(LaserOnDelay:{param.LaserOnDelay},LaserOffDelay:{param.LaserOffDelay},JumpDelay:{param.JumpDelay},MarkDelay:{param.MarkDelay},PolygonDelay:{param.PolygonDelay},CorePower:{param.LaserPower1},RingPower:{param.LaserPower2},JumpSpeed:{param.JumpSpeed},MarkSpeed:{param.MarkSpeed})"));
|
||||
|
||||
// 2. 스캐너 가공 작업
|
||||
// SnowMan 로드 시작
|
||||
@ -1417,7 +1418,7 @@ namespace WeldingCommon.Sequences {
|
||||
float percentLaser2 = 0;
|
||||
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},CorePower:{param.LaserPower1},RingPower:{param.LaserPower2},JumpSpeed:{param.JumpSpeed},MarkSpeed:{param.MarkSpeed})"));
|
||||
|
||||
//CSV Laser Log 추가
|
||||
laserLog.Date = DateTime.Now;
|
||||
@ -1428,7 +1429,8 @@ namespace WeldingCommon.Sequences {
|
||||
laserLog.JumpDelay = param.JumpDelay;
|
||||
laserLog.MarkDelay = param.MarkDelay;
|
||||
laserLog.PolygonDelay = param.PolygonDelay;
|
||||
laserLog.Power = param.LaserPower1;
|
||||
laserLog.PowerCore = param.LaserPower1;
|
||||
laserLog.PowerRing = param.LaserPower2;
|
||||
laserLog.JumpSpeed = param.JumpSpeed;
|
||||
laserLog.MarkSpeed = param.MarkSpeed;
|
||||
|
||||
@ -1570,13 +1572,13 @@ namespace WeldingCommon.Sequences {
|
||||
|
||||
float startingPercentLaser_A1 = percentLaser1 * (float)param.RampingStartPower1 / 100 <= 100 ?
|
||||
percentLaser1 * (float)param.RampingStartPower1 / 100 : 100;
|
||||
float startingPercentLaser_B1 = percentLaser1 * (float)param.RampingStartPower3 / 100 <= 100 ?
|
||||
percentLaser1 * (float)param.RampingStartPower3 / 100 : 100;
|
||||
float startingPercentLaser_B1 = percentLaser1 * (float)param.RampingStartPower2 / 100 <= 100 ?
|
||||
percentLaser1 * (float)param.RampingStartPower2 / 100 : 100;
|
||||
|
||||
float startingPercentLaser_A2 = percentLaser2 * (float)param.RampingStartPower1 / 100 <= 100 ?
|
||||
percentLaser2 * (float)param.RampingStartPower1 / 100 : 100;
|
||||
float startingPercentLaser_B2 = percentLaser2 * (float)param.RampingStartPower3 / 100 <= 100 ?
|
||||
percentLaser2 * (float)param.RampingStartPower3 / 100 : 100;
|
||||
float startingPercentLaser_B2 = percentLaser2 * (float)param.RampingStartPower2 / 100 <= 100 ?
|
||||
percentLaser2 * (float)param.RampingStartPower2 / 100 : 100;
|
||||
|
||||
|
||||
float risingEdgePercentLaser1 = 0;
|
||||
@ -1585,8 +1587,8 @@ namespace WeldingCommon.Sequences {
|
||||
|
||||
Log.I($"[Arc Weld] Ramping Condition No({obj.No + 1}), Arc Length : {obj.Length}, Arc Angle : {obj.SweepAngle} " +
|
||||
$"(Start_A:{param.RampingStartADist}%, Dist {FirstAngle}mm {(float)param.RampingStartAPower1}% -> {(float)param.RampingStartAPower2}%) " +
|
||||
$"(Start_B:{param.RampingStartDist}%, Dist {StartAngle}mm {(float)param.RampingStartPower1}% -> {(float)param.RampingStartPower3}%) " +
|
||||
$"(End:{param.RampingEndDist}%, Dist {EndAngle}mm {(float)param.RampingEndPower1}% -> {(float)param.RampingEndPower3}%)");
|
||||
$"(Start_B:{param.RampingStartDist}%, Dist {StartAngle}mm {(float)param.RampingStartPower1}% -> {(float)param.RampingStartPower2}%) " +
|
||||
$"(End:{param.RampingEndDist}%, Dist {EndAngle}mm {(float)param.RampingEndPower1}% -> {(float)param.RampingEndPower2}%)");
|
||||
|
||||
|
||||
// 2.2.2.2. Rising Edge 구간 파워 및 위치 변경
|
||||
@ -1617,16 +1619,16 @@ namespace WeldingCommon.Sequences {
|
||||
// 2.2.4.1. Falling Edge 마지막 파워 설정
|
||||
float endingPercentLaser_A1 = percentLaser1 * (float)param.RampingEndPower1 / 100 <= 100 ?
|
||||
percentLaser1 * (float)param.RampingEndPower1 / 100 : 100;
|
||||
float endingPercentLaser_B1 = percentLaser1 * (float)param.RampingEndPower3 / 100 <= 100 ?
|
||||
percentLaser1 * (float)param.RampingEndPower3 / 100 : 100;
|
||||
float endingPercentLaser_B1 = percentLaser1 * (float)param.RampingEndPower2 / 100 <= 100 ?
|
||||
percentLaser1 * (float)param.RampingEndPower2 / 100 : 100;
|
||||
|
||||
float fallingEdgePercentLaser1 = 0;
|
||||
|
||||
|
||||
float endingPercentLaser_A2 = percentLaser2 * (float)param.RampingEndPower1 / 100 <= 100 ?
|
||||
percentLaser2 * (float)param.RampingEndPower1 / 100 : 100;
|
||||
float endingPercentLaser_B2 = percentLaser2 * (float)param.RampingEndPower3 / 100 <= 100 ?
|
||||
percentLaser2 * (float)param.RampingEndPower3 / 100 : 100;
|
||||
float endingPercentLaser_B2 = percentLaser2 * (float)param.RampingEndPower2 / 100 <= 100 ?
|
||||
percentLaser2 * (float)param.RampingEndPower2 / 100 : 100;
|
||||
|
||||
float fallingEdgePercentLaser2 = 0;
|
||||
|
||||
@ -1686,7 +1688,7 @@ namespace WeldingCommon.Sequences {
|
||||
float percentLaser2 = 0;
|
||||
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},CorePower:{param.LaserPower1},RingPower:{param.LaserPower2},JumpSpeed:{param.JumpSpeed},MarkSpeed:{param.MarkSpeed})"));
|
||||
|
||||
//CSV Laser Log 추가
|
||||
laserLog.Date = DateTime.Now;
|
||||
@ -1697,7 +1699,8 @@ namespace WeldingCommon.Sequences {
|
||||
laserLog.JumpDelay = param.JumpDelay;
|
||||
laserLog.MarkDelay = param.MarkDelay;
|
||||
laserLog.PolygonDelay = param.PolygonDelay;
|
||||
laserLog.Power = param.LaserPower1;
|
||||
laserLog.PowerCore = param.LaserPower1;
|
||||
laserLog.PowerRing = param.LaserPower2;
|
||||
laserLog.JumpSpeed = param.JumpSpeed;
|
||||
laserLog.MarkSpeed = param.MarkSpeed;
|
||||
|
||||
@ -1844,13 +1847,13 @@ namespace WeldingCommon.Sequences {
|
||||
|
||||
float startingPercentLaser_A1 = percentLaser1 * (float)param.RampingStartPower1 / 100 <= 100 ?
|
||||
percentLaser1 * (float)param.RampingStartPower1 / 100 : 100;
|
||||
float startingPercentLaser_B1 = percentLaser1 * (float)param.RampingStartPower3 / 100 <= 100 ?
|
||||
percentLaser1 * (float)param.RampingStartPower3 / 100 : 100;
|
||||
float startingPercentLaser_B1 = percentLaser1 * (float)param.RampingStartPower2 / 100 <= 100 ?
|
||||
percentLaser1 * (float)param.RampingStartPower2 / 100 : 100;
|
||||
|
||||
float startingPercentLaser_A2 = percentLaser2 * (float)param.RampingStartPower1 / 100 <= 100 ?
|
||||
percentLaser2 * (float)param.RampingStartPower1 / 100 : 100;
|
||||
float startingPercentLaser_B2 = percentLaser2 * (float)param.RampingStartPower3 / 100 <= 100 ?
|
||||
percentLaser2 * (float)param.RampingStartPower3 / 100 : 100;
|
||||
float startingPercentLaser_B2 = percentLaser2 * (float)param.RampingStartPower2 / 100 <= 100 ?
|
||||
percentLaser2 * (float)param.RampingStartPower2 / 100 : 100;
|
||||
|
||||
|
||||
float risingEdgePercentLaser1 = 0;
|
||||
@ -1858,8 +1861,8 @@ namespace WeldingCommon.Sequences {
|
||||
|
||||
Log.I($"[Arc3P Weld] Ramping Condition No({obj.No + 1}), Arc Angle : {obj.SweepAngle} " +
|
||||
$"(Start_A:{param.RampingStartADist}%, Dist {FirstAngle}mm {(float)param.RampingStartAPower1}% -> {(float)param.RampingStartAPower2}%) " +
|
||||
$"(Start_B:{param.RampingStartDist}%, Dist {StartAngle}mm {(float)param.RampingStartPower1}% -> {(float)param.RampingStartPower3}%) " +
|
||||
$"(End:{param.RampingEndDist}%, Dist {EndAngle}mm {(float)param.RampingEndPower1}% -> {(float)param.RampingEndPower3}%)");
|
||||
$"(Start_B:{param.RampingStartDist}%, Dist {StartAngle}mm {(float)param.RampingStartPower1}% -> {(float)param.RampingStartPower2}%) " +
|
||||
$"(End:{param.RampingEndDist}%, Dist {EndAngle}mm {(float)param.RampingEndPower1}% -> {(float)param.RampingEndPower2}%)");
|
||||
|
||||
|
||||
// 2.2.2.2. Rising Edge 구간 파워 및 위치 변경
|
||||
@ -1889,15 +1892,15 @@ namespace WeldingCommon.Sequences {
|
||||
// 2.2.4.1. Falling Edge 마지막 파워 설정
|
||||
float endingPercentLaser_A1 = percentLaser1 * (float)param.RampingEndPower1 / 100 <= 100 ?
|
||||
percentLaser1 * (float)param.RampingEndPower1 / 100 : 100;
|
||||
float endingPercentLaser_B1 = percentLaser1 * (float)param.RampingEndPower3 / 100 <= 100 ?
|
||||
percentLaser1 * (float)param.RampingEndPower3 / 100 : 100;
|
||||
float endingPercentLaser_B1 = percentLaser1 * (float)param.RampingEndPower2 / 100 <= 100 ?
|
||||
percentLaser1 * (float)param.RampingEndPower2 / 100 : 100;
|
||||
|
||||
float fallingEdgePercentLaser1 = 0;
|
||||
|
||||
float endingPercentLaser_A2 = percentLaser2 * (float)param.RampingEndPower1 / 100 <= 100 ?
|
||||
percentLaser2 * (float)param.RampingEndPower1 / 100 : 100;
|
||||
float endingPercentLaser_B2 = percentLaser2 * (float)param.RampingEndPower3 / 100 <= 100 ?
|
||||
percentLaser2 * (float)param.RampingEndPower3 / 100 : 100;
|
||||
float endingPercentLaser_B2 = percentLaser2 * (float)param.RampingEndPower2 / 100 <= 100 ?
|
||||
percentLaser2 * (float)param.RampingEndPower2 / 100 : 100;
|
||||
|
||||
float fallingEdgePercentLaser2 = 0;
|
||||
|
||||
@ -1955,7 +1958,7 @@ namespace WeldingCommon.Sequences {
|
||||
float percentLaser2 = 0;
|
||||
SetScannerProcessCondition(param, out percentLaser1, out percentLaser2);
|
||||
|
||||
Log.I(string.Format($"[Zigzag 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($"[Zigzag Weld] Weld Condition(No:{param.No + 1}) Setting(LaserOnDelay:{param.LaserOnDelay},LaserOffDelay:{param.LaserOffDelay},JumpDelay:{param.JumpDelay},MarkDelay:{param.MarkDelay},PolygonDelay:{param.PolygonDelay},CorePower:{param.LaserPower1},RingPower:{param.LaserPower2},JumpSpeed:{param.JumpSpeed},MarkSpeed:{param.MarkSpeed})"));
|
||||
|
||||
// 1. 시작 위치로 점프
|
||||
if (Math.Abs(_LastX - obj.PF1.X - xOffset) < 0.01 && Math.Abs(_LastY - obj.PF1.Y - yOffset) < 0.01) {
|
||||
@ -2105,7 +2108,7 @@ namespace WeldingCommon.Sequences {
|
||||
|
||||
// A -> Start Power, B -> End Power
|
||||
float startingPercentLaser_A1 = Math.Min(percentLaser1 * (float)param.RampingStartPower1 / 100, 100);
|
||||
float startingPercentLaser_B1 = Math.Min(percentLaser1 * (float)param.RampingStartPower3 / 100, 100);
|
||||
float startingPercentLaser_B1 = Math.Min(percentLaser1 * (float)param.RampingStartPower2 / 100, 100);
|
||||
|
||||
// 2170은 Power를 사용하지 않는다.
|
||||
float startingPercentLaser2 = 0; // Math.Min(percentLaser2 * (float)param.RampingStartPower2 / 100, 100);
|
||||
@ -2247,7 +2250,7 @@ namespace WeldingCommon.Sequences {
|
||||
int endRampStep = 0;
|
||||
// A -> Start Power, B -> End Power
|
||||
float endingPercentLaser_A1 = Math.Min(percentLaser1 * (float)param.RampingEndPower1 / 100, 100);
|
||||
float endingPercentLaser_B1 = Math.Min(percentLaser1 * (float)param.RampingEndPower3 / 100, 100);
|
||||
float endingPercentLaser_B1 = Math.Min(percentLaser1 * (float)param.RampingEndPower2 / 100, 100);
|
||||
|
||||
// 2170은 Power를 사용하지 않는다.
|
||||
float endingPercentLaser2 = 0; // Math.Min(percentLaser2 * (float)param.RampingEndPower2 / 100, 100);
|
||||
|
||||
@ -479,6 +479,12 @@ namespace WeldingCommon.Settings
|
||||
[DisplayName("CellCenterOffsetY")]
|
||||
public double CellPosMeasureCenterOffsetY { get; set; } = 0;
|
||||
|
||||
// 260227 Laser 개조 후 파라미터 추가
|
||||
[Browsable(true)]
|
||||
[ReadOnly(false)]
|
||||
[Category("RMS")]
|
||||
[DisplayName("Use RingPower RMS")]
|
||||
public bool UseRingPowerRMS { get; set; } = false;
|
||||
}
|
||||
public class ILSOSSizeF
|
||||
{
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user