This commit is contained in:
atvstdla
2025-09-30 17:35:11 +09:00
parent 5a2eeed3c4
commit 1273ca8236
37 changed files with 1333 additions and 1033 deletions

View File

@@ -113,7 +113,7 @@ namespace Project
}
//Auto Reel Out 250926
PUB.Result.AutoReelOut = PUB.Result.vModel.AutoOutConveyor>0;
PUB.Result.AutoReelOut = PUB.Result.vModel.AutoOutConveyor > 0;
//공용변수초기화
PUB.log.Add("Common variable (count) values initialized");
@@ -140,9 +140,13 @@ namespace Project
PUB.Result.ItemDataR.Clear("START_CHKSW");
var modelName = PUB.Result.vModel.Title;
PUB.Result.BCDPattern = PUB.GetPatterns(modelName, false);
PUB.Result.BCDIgnorePattern = PUB.GetPatterns(modelName, true);
PUB.log.Add($"Model pattern loading: {PUB.Result.BCDPattern.Count}/{PUB.Result.BCDIgnorePattern.Count}");
lock (PUB.Result.BCDPatternLock)
{
PUB.Result.BCDPattern = PUB.GetPatterns(modelName, false);
PUB.Result.BCDIgnorePattern = PUB.GetPatterns(modelName, true);
PUB.log.Add($"Model pattern loading: {PUB.Result.BCDPattern.Count}/{PUB.Result.BCDIgnorePattern.Count}");
}
//변환SID SID확인여부데이터 삭제
PUB.Result.DTSidConvertEmptyList.Clear();

View File

@@ -979,7 +979,7 @@ namespace Project
if (errmsg.Length > 190) errmsg = errmsg.Substring(0, 190); //230810 maxlength error
SaveData_EE(item, (target == eWorkPort.Left ? "L" : "R"), (rlt ? "OK" : errmsg), "root_sequence");
//RefreshList(); //목록업데이트
EEMStatus.AddStatusCount(1, $"{item.VisionData.SID}|{item.VisionData.RID}"); //eem 추가 230620
//EEMStatus.AddStatusCount(1, $"{item.VisionData.SID}|{item.VisionData.RID}"); //eem 추가 230620
PUB.sm.seq.Update(cmdIndex);
return false;
}

View File

@@ -163,8 +163,8 @@ namespace Project
}
var prcResult = BCDProcess_ALL(itemC, "SEQ",true);
if (prcResult != EResultKeyence.Nothing)
var prcResult = BCDProcess_ALL(itemC, "SEQ", true);
if (prcResult != EResultKeyence.Nothing)
return prcResult;
PUB.sm.seq.Update(cmdIndex);
@@ -204,6 +204,18 @@ namespace Project
return;
}
//처음작업이면 반드시 확인을 한다
if (OPT_BYPASS == false && PUB.Result.JobFirst)
{
//사용자확인이 필요없는 상태라면 활성화해준다
//프린트를 하지 않는다면 처리하지 않는다.
if (VAR.BOOL[eVarBool.Opt_DisablePrinter] == false)
{
if (mainjob && item.VisionData.bcdMessage.ContainsKey(6) == false) item.VisionData.bcdMessage.Add(6, "First reel confirmation required");
NeedConfirm = true;
}
}
//서버의수량업데이트기능
if (OPT_BYPASS == false && VAR.BOOL[eVarBool.Opt_ServerQty])
{
@@ -227,7 +239,8 @@ namespace Project
{
if (mainjob) PUB.log.AddE($"Quantity update failed rID:{item.VisionData.RID}, Message={msg}");
NeedConfirm = true;
if (mainjob) item.VisionData.bcdMessage.Add("Quantity update failed");
if (mainjob && item.VisionData.bcdMessage.ContainsKey(1) == false)
item.VisionData.bcdMessage.Add(1, "Quantity update failed");
}
}
}
@@ -248,27 +261,24 @@ namespace Project
}
else
{
if (mainjob) item.VisionData.bcdMessage.Add("RQ value error (auto mode not possible)");
if (mainjob && item.VisionData.bcdMessage.ContainsKey(2) == false) item.VisionData.bcdMessage.Add(2, "RQ value error (auto mode not possible)");
NeedConfirm = true;
}
}
else
{
if (mainjob) item.VisionData.bcdMessage.Add("Manual quantity input required");
if (mainjob && item.VisionData.bcdMessage.ContainsKey(3) == false) item.VisionData.bcdMessage.Add(3, "Manual quantity input required");
NeedConfirm = true;
}
}
//프린트위치확인
BCDProcess_BCDPrint(item);
if (item.VisionData.PrintPositionData.isEmpty() == true || item.VisionData.PrintPositionCheck == false)
{
if (NeedConfirm == false)
{
//현작업내에서의 정보를 찾아서 적용한다 231005
if (mainjob) item.VisionData.bcdMessage.Add("Attachment position not found");
NeedConfirm = true;
}
if (mainjob && item.VisionData.bcdMessage.ContainsKey(4) == false) item.VisionData.bcdMessage.Add(4, "Attachment position not found");
NeedConfirm = true;
}
//SID 존재여부 확인
@@ -298,40 +308,33 @@ namespace Project
}
else SIDOK = (item.VisionData.SID_Trust && item.VisionData.SID.isEmpty() == false); //시드변환을 사용하지 않으므로 시드값여부에따라 다르다
//사용자확인이 필요한 옵션이라면 사용한다
if (OPT_BYPASS == false && VAR.BOOL[eVarBool.Opt_UserConfim])
//수량확인
if (OPT_BYPASS == false)
{
if (NeedConfirm == false)
if(double.TryParse(item.VisionData.QTY,out double qtyvalue)==false)
{
if (mainjob) item.VisionData.bcdMessage.Add("User confirmation required");
if (mainjob && item.VisionData.bcdMessage.ContainsKey(8) == false) item.VisionData.bcdMessage.Add(8, "Qty invalid");
NeedConfirm = true;
}
}
//처음작업이면 반드시 확인을 한다
if (OPT_BYPASS == false && PUB.Result.JobFirst)
//사용자확인이 필요한 옵션이라면 사용한다
if (OPT_BYPASS == false && VAR.BOOL[eVarBool.Opt_UserConfim])
{
//사용자확인이 필요없는 상태라면 활성화해준다
if (NeedConfirm == false)
{
//프린트를 하지 않는다면 처리하지 않는다.
if (VAR.BOOL[eVarBool.Opt_DisablePrinter] == false)
{
if (mainjob) item.VisionData.bcdMessage.Add("First reel confirmation required");
NeedConfirm = true;
}
}
if (mainjob && item.VisionData.bcdMessage.ContainsKey(5) == false) item.VisionData.bcdMessage.Add(5, "User confirmation required");
NeedConfirm = true;
}
//변환작업인데 원본 값이 없다.
//혹은 변환값과 원본이 같다
if (OPT_BYPASS == false && VAR.BOOL[eVarBool.Opt_SIDConvert] && (item.VisionData.SID0.isEmpty() == true || item.VisionData.SID0 == item.VisionData.SID))
{
if (NeedConfirm == false)
{
if (mainjob) item.VisionData.bcdMessage.Add("SID conversion value confirmation required");
NeedConfirm = true;
}
if (mainjob && item.VisionData.bcdMessage.ContainsKey(7) == false) item.VisionData.bcdMessage.Add(7, "SID conversion value confirmation required");
NeedConfirm = true;
}
//데이터의 신뢰성을 확인하고 모두 입력되었다면 자동 확정을 진행한다
@@ -362,13 +365,10 @@ namespace Project
}
else if (item.VisionData.QRInputRaw.isEmpty() == false)
{
if (NeedConfirm == false)
if (mainjob)
{
if (mainjob)
{
NeedConfirm = true;
PUB.log.AddAT($"Data incomplete but QR has been read, showing confirmation window immediately");
}
NeedConfirm = true;
PUB.log.AddAT($"Data incomplete but QR has been read, showing confirmation window immediately");
}
}