public static ProductDataEntity ToEntity(this Thermo2ProductA data) { var en = new ProductDataEntity(); en.StartTime = data.StartTime.ToString("yyyyMMdd-HHmmss"); en.FinishTime = data.FinishTime.ToString("yyyyMMdd-HHmmss"); en.Status = data.Status.ToString(); en.Error = data.Error; en.CT = decimal.Parse(data.CT.ToString("F1")); en.Barcode = data.Barcode; en.ProductType = data.ProductType; en.Description = data.Description; en.Spcs = string.Join(",", data.SPCItems.Select(f => $"{f.SPC}:{f.Value:F3}")); var sb = new StringBuilder(); sb.Append(string.Join(",", data.RawData.Select(p => $"{p:F3}"))); en.Raws = sb.ToString(); return(en); }
public static string ToSQL(this Thermo2ProductA data) { var en = new StringBuilder(); en.Append(" Values('" + data.StartTime.ToString("yyyy-MM-dd HH:mm:ss.fff") + "',"); en.Append("'" + data.FinishTime.ToString("yyyy-MM-dd HH:mm:ss") + "',"); en.Append("'" + data.Barcode + "',"); en.Append("'" + data.Status.ToString() + "',"); en.Append("'" + data.MachineName + "',"); en.Append("'" + data.Error + "',"); en.Append("'" + data.ProductType + "',"); en.Append("'" + data.Description + "',"); en.Append("'" + string.Join(",", data.RawData.Select(p => $"{p:F3}")) + "',"); en.Append("'" + decimal.Parse(data.CT.ToString("F1")) + "')"); return(en.ToString()); }
protected override int ResetLoop() { //load files CfgSettings = Machine.Ins.Settings; Project = MeasureProject.Load(CfgSettings.MeasureProjectFile, typeof(MeasureProjectA)) as MeasureProjectA; Project.AssertNoNull(this); Platform.AssertPosTeached("Wait", this); //reset vio VioMeasureStart.SetVio(this, false); VioMeasureFinish.SetVio(this, false); var isProductFound = CarrierLoader.IsProductExists(); if (isProductFound) { CarrierLoader.ClampVC(); } else { CarrierLoader.ReleaseVC(); } try { Product = new Thermo2ProductA(); Product.ProductType = Project.ThermoProductType.ToString(); Product.Description = string.Join("-", new[] { Project.ProductName, CfgSettings.Version }); Product.SPCItems = Project.SPCItems; //upload data if (CfgSettings.Uploader.Enable) { //init uploader UploadHelper = DataUploadFactory.Ins.Create(CfgSettings.Uploader.UploaderName, CfgSettings.Uploader); if (UploadHelper == null) { Log($"创建上传模块失败: {CfgSettings.Uploader.UploaderName} 不存在", LogLevel.Error); } else { UploadData(); } } } catch (Exception ex) { Log($"连接FTP ERROR: {ex.Message}", LogLevel.Error); } //reset TestProcessControl.OnTestStartEvent(null); MeasureTask = Station.Machine.Find <StationTask>("MeasureTask") as MeasureTask; MeasureTask.AssertNoNull(this); MeasureTask.WaitResetFinish(this); if (isProductFound) { CarrierLoader.ReleaseVC(); Station.Machine.Beep(); } //reset platform Platform.EnterAuto(this); return(0); }
protected override int RunLoop() { //start assert Platform.AssertAutoMode(this); Platform.LocateInPos("Wait"); Project.AssertNoNull(this); //wait start button DualStartButton.WaitStart(this, CfgSettings.AutoDryRun); //check locate sensor ok if (CfgSettings.SensorEnable) { if (!CarrierLoader.CheckProductSensor()) { return(0); } } //check fin sensor ok if (CfgSettings.FinSensorEnable) { //select sensor pattern by product var vcSensorPattern = new[] { true, true, false }; var moduleSensorPattern = new[] { true, true, true }; bool[] sensor; if (Project.ThermoProductType == ThermoProductType.VaporChamber) { sensor = vcSensorPattern; } else { sensor = moduleSensorPattern; } if (!FinSensorCheck.CheckByPattern(this, sensor)) { return(0); } } //create new product, pass to measure task Product = new Thermo2ProductA { ProductType = Project.ThermoProductType.ToString(), Description = string.Join("-", new[] { Project.ProductName, CfgSettings.Version }), SPCItems = Project.SPCItems }; Product.ClearSpc(); MeasureTask.Product = Product; Log("TransStart:" + Product, LogLevel.Info); TestProcessControl.OnTestStartEvent(Product); SetCarrier(); { Platform.MoveAbs("Work"); VioMeasureStart.SetVio(this); { TestProcessControl.OnTestingEvent(Product); } VioMeasureFinish.WaitVioAndClear(this); Platform.MoveAbs("Wait"); } ResetCarrier(); SaveProductData(); return(0); }