private static void ProcessNonBarcode() { var cList = GetNonBarcodeCells(); var c = cList[_patternLast]; _patternLast += 1; if (_patternLast == cList.Count) { _patternLast = 0; } //if (c!.Full()) return; var adjWidth = 0; var adjHeight = 0; var offadjX = 0; var offadjY = 0; var boxed = 0; if (PatternProduct !.GetYontem() == 156 || PatternProduct.GetYontem() == 223 || PatternProduct.GetYontem() == 250) { boxed = 1; adjHeight += 80; adjWidth += 80; } var a = PatternProduct.GetProductType(); var z = 0; if (boxed == 1) { z = a switch { 11 => 96, 21 => 96, 22 => 130, 33 => 180, _ => z }; } else { z = a switch { 11 => 74, 21 => 76, 22 => 108, 33 => 164, _ => z }; } var cNo = c.GetRobotNo(); if (c.PHolding == 0) { OnCellFull(c.RobotNo - 1); } c.AddProduct(); //offset hesapları var offsets = Calculator.Calculate(PatternProduct.GetHeight() + adjHeight, PatternProduct.GetWidth() + adjWidth, z, c.PHolding, PatternProduct.GetYontem(), PatternProduct.GetProductType(), c.GetPalletHeight(), c.GetPalletWidth(), c.GetPalletZ()); //gerekli sinyaller gönderilir var full = 0; if (offsets.NextKat > c.KatMax || c.Full()) { full = 1; } var s = new Signal(cNo, offsets, PatternProduct.GetHeight() + adjHeight, PatternProduct.GetWidth() + adjWidth, PatternProduct.GetProductType(), c.PHolding, full, boxed, offadjX, offadjY, c.KatMax); SendPlcSignals(s); if (full == 1) { c.PHolding = 0; c.PDropped = 0; } ProductAdd(cNo); ReportLogger.AddRecord(PatternProduct.YontemKodu, PatternProduct.GetProductType(), PatternProduct.Height, PatternProduct.Width); //cell, (x,y,z) offsets, dizilim şekli, en, boy, kat, tip, sayı, hücredolu, kutulu? }