FormulationClass.cs 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. using CCDCount.MODEL.ConfigModel;
  2. using CCDCount.MODEL.PlcModel;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. namespace CCDCount.DLL
  9. {
  10. public static class FormulationClass
  11. {
  12. /// <summary>
  13. /// 初始化配方数据
  14. /// </summary>
  15. /// <param name="cameraConfig"></param>
  16. /// <param name="shuLiConfig"></param>
  17. /// <returns></returns>
  18. public static FormulationConfigClass InitFormulation(CameraConfig cameraConfig, ShuLiConfigClass shuLiConfig, PlcParaModelClass plcParaModel)
  19. {
  20. var result = new FormulationConfigClass()
  21. {
  22. Channel = shuLiConfig.Channel,
  23. ExposureTimeValue = cameraConfig.ExposureTimeValue,
  24. AcquistionLineRateValue = cameraConfig.AcquistionLineRateValue,
  25. DeviceName = cameraConfig.DeviceName,
  26. FormulationName = string.Empty,
  27. //IdentifyStartX = shuLiConfig.IdentifyStartX,
  28. //IdentifyStopX = shuLiConfig.IdentifyStopX,
  29. //IsIdentifyRoiOpen = shuLiConfig.IsIdentifyRoiOpen,
  30. MaxArea = shuLiConfig.MaxArea,
  31. MinArea = shuLiConfig.MinArea,
  32. NoiseFilter_Threshold = shuLiConfig.NoiseFilter_Threshold,
  33. PandingCode = shuLiConfig.PandingCode,
  34. RegionThreshold = shuLiConfig.RegionThreshold,
  35. MAX_GAP = shuLiConfig.MAX_GAP,
  36. MAX_Object_LENGTH = shuLiConfig.MAX_Object_LENGTH,
  37. MIN_Object_LENGTH = shuLiConfig.MIN_Object_LENGTH,
  38. };
  39. if(plcParaModel != null)
  40. {
  41. result.SpeedModeRunningSpeed = plcParaModel.SpeedModeRunningSpeed;
  42. result.JogSpeed = plcParaModel.JogSpeed;
  43. result.BottValueSet = plcParaModel.BottValueSet;
  44. result.TransferValveOpeningSpeed = plcParaModel.TransferValveOpeningSpeed;
  45. result.TransferValveOpeningTime = plcParaModel.TransferValveOpeningTime;
  46. result.BottingDecelerationValue = plcParaModel.BottingDecelerationValue;
  47. result.CacheDecelerationValue = plcParaModel.CacheDecelerationValue;
  48. result.CacheCountDelayTiming = plcParaModel.CacheCountDelayTiming;
  49. result.CacheShutdownValue = plcParaModel.CacheShutdownValue;
  50. result.BottingMaterialCylinderVibrationTableHighSpeedValue = plcParaModel.BottingMaterialCylinderVibrationTableHighSpeedValue;
  51. result.BottingFilterVibrationTableHighSpeedValue = plcParaModel.BottingFilterVibrationTableHighSpeedValue;
  52. result.BottingCountVibrationTableHighSpeedValue = plcParaModel.BottingCountVibrationTableHighSpeedValue;
  53. result.BottingMaterialCylinderVibrationTableDecelerationSpeedValue = plcParaModel.BottingMaterialCylinderVibrationTableDecelerationSpeedValue;
  54. result.BottingFilterVibrationTableDecelerationSpeedValue = plcParaModel.BottingFilterVibrationTableDecelerationSpeedValue;
  55. result.BottingCountVibrationTableDecelerationSpeedValue = plcParaModel.BottingCountVibrationTableDecelerationSpeedValue;
  56. result.CacheMaterialCylinderVibrationTableHighSpeedValue = plcParaModel.CacheMaterialCylinderVibrationTableHighSpeedValue;
  57. result.CacheFilterVibrationTableHighSpeedValue = plcParaModel.CacheFilterVibrationTableHighSpeedValue;
  58. result.CacheCountVibrationTableHighSpeedValue = plcParaModel.CacheCountVibrationTableHighSpeedValue;
  59. result.CacheMaterialCylinderVibrationTableDecelerationSpeedValue = plcParaModel.CacheMaterialCylinderVibrationTableDecelerationSpeedValue;
  60. result.CacheFilterVibrationTableDecelerationSpeedValue = plcParaModel.CacheFilterVibrationTableDecelerationSpeedValue;
  61. result.CacheCountVibrationTableDecelerationSpeedValue = plcParaModel.CacheCountVibrationTableDecelerationSpeedValue;
  62. result.GateOpeningDelay = plcParaModel.GateOpeningDelay;
  63. result.ReturnToZeroOffsetValue = plcParaModel.ReturnToZeroOffsetValue;
  64. result.ReturnToZeroOffsetSpeed = plcParaModel.ReturnToZeroOffsetSpeed;
  65. result.TransferValveClosingSpeed = plcParaModel.TransferValveClosingSpeed;
  66. result.TransferValveOpenPosition = plcParaModel.TransferValveOpenPosition;
  67. result.TransferValveClosePosition = plcParaModel.TransferValveClosePosition;
  68. result.AirValveOpeningDelay = plcParaModel.AirValveOpeningDelay;
  69. result.BottlingShutdownValue = plcParaModel.BottlingShutdownValue;
  70. result.BottlingShutdownTime = plcParaModel.BottlingShutdownTime;
  71. result.BottleFeedingWheelRunningSpeed = plcParaModel.BottleFeedingWheelRunningSpeed;
  72. result.BottleFeedingWheelJogRunningSpeed = plcParaModel.BottleFeedingWheelJogRunningSpeed;
  73. result.BottleFeedingWheelReturnToZeroOffsetValue = plcParaModel.BottleFeedingWheelReturnToZeroOffsetValue;
  74. result.BottleFeedingWheelReturnToZeroSpeed = plcParaModel.BottleFeedingWheelReturnToZeroSpeed;
  75. result.BottleFeedingWheelPositionLength = plcParaModel.BottleFeedingWheelPositionLength;
  76. result.BottleFeedingWheelPauseTime = plcParaModel.BottleFeedingWheelPauseTime;
  77. result.DelayBlanking = plcParaModel.DelayBlanking;
  78. }
  79. else
  80. {
  81. result = null;
  82. }
  83. return result;
  84. }
  85. /// <summary>
  86. /// 更新配方数据
  87. /// </summary>
  88. /// <param name="formulationConfig"></param>
  89. /// <param name="cameraConfig"></param>
  90. /// <param name="shuLiConfig"></param>
  91. public static void UpdateFormulation(ref FormulationConfigClass formulationConfig,CameraConfig cameraConfig, ShuLiConfigClass shuLiConfig)
  92. {
  93. formulationConfig.Channel = shuLiConfig.Channel;
  94. formulationConfig.ExposureTimeValue = cameraConfig.ExposureTimeValue;
  95. formulationConfig.AcquistionLineRateValue = cameraConfig.AcquistionLineRateValue;
  96. formulationConfig.DeviceName = cameraConfig.DeviceName;
  97. //formulationConfig.IdentifyStartX = shuLiConfig.IdentifyStartX;
  98. //formulationConfig.IdentifyStopX = shuLiConfig.IdentifyStopX;
  99. //formulationConfig.IsIdentifyRoiOpen = shuLiConfig.IsIdentifyRoiOpen;
  100. formulationConfig.MaxArea = shuLiConfig.MaxArea;
  101. formulationConfig.MinArea = shuLiConfig.MinArea;
  102. formulationConfig.NoiseFilter_Threshold = shuLiConfig.NoiseFilter_Threshold;
  103. formulationConfig.PandingCode = shuLiConfig.PandingCode;
  104. formulationConfig.RegionThreshold = shuLiConfig.RegionThreshold;
  105. formulationConfig.MAX_GAP = shuLiConfig.MAX_GAP;
  106. formulationConfig.MAX_Object_LENGTH = shuLiConfig.MAX_Object_LENGTH;
  107. formulationConfig.MIN_Object_LENGTH = shuLiConfig.MIN_Object_LENGTH;
  108. }
  109. }
  110. }