using CCDCount.MODEL.ConfigModel; using CCDCount.MODEL.PlcModel; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace CCDCount.DLL { public static class FormulationClass { /// /// 初始化配方数据 /// /// /// /// public static FormulationConfigClass InitFormulation(CameraConfig cameraConfig, ShuLiConfigClass shuLiConfig, PlcParaModelClass plcParaModel) { var result = new FormulationConfigClass() { Channel = shuLiConfig.Channel, ExposureTimeValue = cameraConfig.ExposureTimeValue, AcquistionLineRateValue = cameraConfig.AcquistionLineRateValue, DeviceName = cameraConfig.DeviceName, FormulationName = string.Empty, //IdentifyStartX = shuLiConfig.IdentifyStartX, //IdentifyStopX = shuLiConfig.IdentifyStopX, //IsIdentifyRoiOpen = shuLiConfig.IsIdentifyRoiOpen, MaxArea = shuLiConfig.MaxArea, MinArea = shuLiConfig.MinArea, NoiseFilter_Threshold = shuLiConfig.NoiseFilter_Threshold, PandingCode = shuLiConfig.PandingCode, RegionThreshold = shuLiConfig.RegionThreshold, MAX_GAP = shuLiConfig.MAX_GAP, MAX_Object_LENGTH = shuLiConfig.MAX_Object_LENGTH, MIN_Object_LENGTH = shuLiConfig.MIN_Object_LENGTH, ScaleX = shuLiConfig.ScaleX, ScaleY = shuLiConfig.ScaleY, }; if(plcParaModel != null) { result.FillingMode = plcParaModel.FillingMode; result.BeltsSpeed = plcParaModel.BeltsSpeed; result.ShakeTable1H_FillingSpeed = plcParaModel.ShakeTable1H_FillingSpeed; result.ShakeTable2H_FillingSpeed = plcParaModel.ShakeTable2H_FillingSpeed; result.ShakeTable3H_FillingSpeed = plcParaModel.ShakeTable3H_FillingSpeed; result.ShakeTable1M_FillingSpeed = plcParaModel.ShakeTable1M_FillingSpeed; result.ShakeTable2M_FillingSpeed = plcParaModel.ShakeTable2M_FillingSpeed; result.ShakeTable3M_FillingSpeed = plcParaModel.ShakeTable3M_FillingSpeed; result.ShakeTable1L_FillingSpeed = plcParaModel.ShakeTable1L_FillingSpeed; result.ShakeTable2L_FillingSpeed = plcParaModel.ShakeTable2L_FillingSpeed; result.ShakeTable3L_FillingSpeed = plcParaModel.ShakeTable3L_FillingSpeed; result.ShakeTable1H_CacheSpeed = plcParaModel.ShakeTable1H_CacheSpeed; result.ShakeTable2H_CacheSpeed = plcParaModel.ShakeTable2H_CacheSpeed; result.ShakeTable3H_CacheSpeed = plcParaModel.ShakeTable3H_CacheSpeed; result.ShakeTable1M_CacheSpeed = plcParaModel.ShakeTable1M_CacheSpeed; result.ShakeTable2M_CacheSpeed = plcParaModel.ShakeTable2M_CacheSpeed; result.ShakeTable3M_CacheSpeed = plcParaModel.ShakeTable3M_CacheSpeed; result.ShakeTable1L_CacheSpeed = plcParaModel.ShakeTable1L_CacheSpeed; result.ShakeTable2L_CacheSpeed = plcParaModel.ShakeTable2L_CacheSpeed; result.ShakeTable3L_CacheSpeed = plcParaModel.ShakeTable3L_CacheSpeed; result.FillingH_SpeedRatio = plcParaModel.FillingH_SpeedRatio; result.FillingM_SpeedRatio = plcParaModel.FillingM_SpeedRatio; result.FillingL_SpeedRatio = plcParaModel.FillingL_SpeedRatio; result.CacheH_SpeedRatio = plcParaModel.CacheH_SpeedRatio; result.CacheM_SpeedRatio = plcParaModel.CacheM_SpeedRatio; result.CacheL_SpeedRatio = plcParaModel.CacheL_SpeedRatio; result.ScrewJogSpeed = plcParaModel.ScrewJogSpeed; result.InBottleSpeed = plcParaModel.InBottleSpeed; result.BottlePosSpeed = plcParaModel.BottlePosSpeed; result.BottlePosPosition = plcParaModel.BottlePosPosition; result.FillingValveOpenSpeed = plcParaModel.FillingValveOpenSpeed; result.FillingValveOpenPosition = plcParaModel.FillingValveOpenPosition; result.FillingValveCloseSpeed = plcParaModel.FillingValveCloseSpeed; result.FillingValveClosePosition = plcParaModel.FillingValveClosePosition; result.FillingValveCacheSpeed = plcParaModel.FillingValveCacheSpeed; result.FillingValueCachePosition = plcParaModel.FillingValueCachePosition; result.FillingValueJogSpeed = plcParaModel.FillingValueJogSpeed; result.MachineDelayFunneDownTime = plcParaModel.MachineDelayFunneDownTime; result.MachineDelayFunneUpTime = plcParaModel.MachineDelayFunneUpTime; result.MachineDelayFillingValveOpenTime = plcParaModel.MachineDelayFillingValveOpenTime; result.MachineDelayFillingValveCloseTime = plcParaModel.MachineDelayFillingValveCloseTime; result.MachineDelayInBottleTime = plcParaModel.MachineDelayInBottleTime; result.ValveDelytime = plcParaModel.ValveDelytime; result.BottValueSet = plcParaModel.BottValueSet; result.CacheShutdownValue = plcParaModel.CacheShutdownValue; } else { result = null; } return result; } /// /// 更新配方数据 /// /// /// /// public static void UpdateFormulation(ref FormulationConfigClass formulationConfig,CameraConfig cameraConfig, ShuLiConfigClass shuLiConfig) { formulationConfig.Channel = shuLiConfig.Channel; formulationConfig.ExposureTimeValue = cameraConfig.ExposureTimeValue; formulationConfig.AcquistionLineRateValue = cameraConfig.AcquistionLineRateValue; formulationConfig.DeviceName = cameraConfig.DeviceName; //formulationConfig.IdentifyStartX = shuLiConfig.IdentifyStartX; //formulationConfig.IdentifyStopX = shuLiConfig.IdentifyStopX; //formulationConfig.IsIdentifyRoiOpen = shuLiConfig.IsIdentifyRoiOpen; formulationConfig.MaxArea = shuLiConfig.MaxArea; formulationConfig.MinArea = shuLiConfig.MinArea; formulationConfig.NoiseFilter_Threshold = shuLiConfig.NoiseFilter_Threshold; formulationConfig.PandingCode = shuLiConfig.PandingCode; formulationConfig.RegionThreshold = shuLiConfig.RegionThreshold; formulationConfig.MAX_GAP = shuLiConfig.MAX_GAP; formulationConfig.MAX_Object_LENGTH = shuLiConfig.MAX_Object_LENGTH; formulationConfig.MIN_Object_LENGTH = shuLiConfig.MIN_Object_LENGTH; formulationConfig.ScaleX = shuLiConfig.ScaleX; formulationConfig.ScaleY = shuLiConfig.ScaleY; } } }