현장 프로그램 Merge
This commit is contained in:
commit
54b6b6ccdc
@ -294,6 +294,7 @@ namespace WeldingCommon.Sequences {
|
||||
foreach (IDrawObject obj in objects) {
|
||||
drawObjectCount += FuncLoadDrawObjectScannerParamSelected(obj);
|
||||
}
|
||||
Debug.WriteLine($"Scanner Space Check({_Scanner.GetListSpace()})");
|
||||
|
||||
return drawObjectCount;
|
||||
}
|
||||
@ -307,7 +308,6 @@ namespace WeldingCommon.Sequences {
|
||||
count += FuncLoadDrawObjectScannerParamSelected(subObj);
|
||||
}
|
||||
}
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
@ -635,6 +635,7 @@ namespace WeldingCommon.Sequences {
|
||||
int risingCount = (int)(StartDistance / length);
|
||||
int fallingCount = (int)(EndDistance / length);
|
||||
int totalCount = (int)(obj.Distance / length);
|
||||
Log.I($"Ramping count >> firstCount({firstCount}) / risingCount({risingCount}) / fallingCount({fallingCount}) / totalCount({totalCount})");
|
||||
|
||||
// Power1 A -> Start Power, B -> End Power
|
||||
float firstPower_A1 = percentLaser1 * (float)param.RampingStartAPower1 / 100; // Ramping First Power 1
|
||||
@ -668,27 +669,40 @@ namespace WeldingCommon.Sequences {
|
||||
float power1 = percentLaser1;
|
||||
float power2 = percentLaser2;
|
||||
|
||||
// first Ramping은 Start 지점의 연속으로 Start Ramping과 이어서 한다.
|
||||
if (iter <= (risingCount + firstCount)) {
|
||||
// power1은 startPower_A1 에서 startPower_B1 까지 변한다
|
||||
// float IntervalPerPower = (B - A) / Cnt
|
||||
// power1 = PowerA + (iter * IntervalPerPower);
|
||||
if (iter <= firstCount) {
|
||||
if (iter == 0) {
|
||||
if (iter == 0 || firstCount == 0) {
|
||||
power1 = firstPower_A1;
|
||||
power2 = firstPower_A2;
|
||||
} else {
|
||||
power1 = firstPower_A1 + (firstPower_B1 - firstPower_A1) * (iter / (float)firstCount);
|
||||
power2 = firstPower_A2 + (firstPower_B2 - firstPower_A2) * (iter / (float)firstCount);
|
||||
}
|
||||
} else if ((iter - firstCount) <= risingCount) {
|
||||
power1 = startPower_A1 + (startPower_B1 - startPower_A1) * ((iter - firstCount) / (float)risingCount);
|
||||
power2 = startPower_A2 + (startPower_B2 - startPower_A2) * ((iter - firstCount) / (float)risingCount);
|
||||
}
|
||||
} else if (iter >= totalCount - fallingCount) {
|
||||
// power1은 endPower_A1 에서 endPower_B1 까지 변한다
|
||||
power1 = endPower_B1 + (endPower_A1 - endPower_B1) * (totalCount - iter) / (float)fallingCount;
|
||||
power2 = endPower_B2 + (endPower_A2 - endPower_B2) * (totalCount - iter) / (float)fallingCount;
|
||||
else if ((iter - firstCount) <= risingCount) {
|
||||
if (risingCount == 0) {
|
||||
power1 = startPower_B1;
|
||||
power2 = startPower_B2;
|
||||
}
|
||||
else {
|
||||
power1 = startPower_A1 + (startPower_B1 - startPower_A1) * ((iter - firstCount) / (float)risingCount);
|
||||
power2 = startPower_A2 + (startPower_B2 - startPower_A2) * ((iter - firstCount) / (float)risingCount);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (iter >= totalCount - fallingCount) {
|
||||
if (fallingCount == 0) {
|
||||
power1 = endPower_A1;
|
||||
power2 = endPower_A2;
|
||||
}
|
||||
else {
|
||||
power1 = endPower_B1 + (endPower_A1 - endPower_B1) * (totalCount - iter) / (float)fallingCount;
|
||||
power2 = endPower_B2 + (endPower_A2 - endPower_B2) * (totalCount - iter) / (float)fallingCount;
|
||||
}
|
||||
}
|
||||
else {
|
||||
power1 = startPower_B1;
|
||||
power2 = startPower_B2;
|
||||
}
|
||||
|
||||
_Scanner.WriteDA((uint)eAnalogPortOut.DA1, power1, eFunctionType.LIST);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user