SampleCoolingOperate.cs 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. using SHJX.Service.Control.Interface;
  2. using SHJX.Service.Control.Modules;
  3. using SHJX.Service.Common.ReadXML;
  4. using SHJX.Service.Model.Control;
  5. using System.Collections.Generic;
  6. using System.Threading.Tasks;
  7. namespace SHJX.Service.Control.Route.RouteController
  8. {
  9. /// <summary>
  10. /// 样品位冷却
  11. /// </summary>
  12. /// 这一步是放在搅拌结束后做的
  13. public class SampleCoolingOperate : FlowControlOperateImp
  14. {
  15. private const string EquipmentName = "SampleCooling";
  16. public virtual bool Operate(ReadConfigUtil config, DataEventArgs data)
  17. {
  18. MotorSpeed itemSpeed = config.GetSpeed[0];
  19. itemSpeed.Speed = 6;
  20. SetSpeed(itemSpeed);
  21. itemSpeed = config.GetSpeed[1];
  22. itemSpeed.Speed = 6;
  23. SetSpeed(itemSpeed);
  24. List<string> names = new() { "MotorZ", "MotorX", "MotorY" };
  25. names.ForEach(async item =>
  26. {
  27. var res = await XYZGoBack(item);
  28. });
  29. itemSpeed = config.GetSpeed[0];
  30. SetSpeed(itemSpeed);
  31. itemSpeed = config.GetSpeed[1];
  32. SetSpeed(itemSpeed);
  33. return EquipmentName.CoolingTimeCalculate(data.DataManager);
  34. }
  35. private async Task<bool> XYZGoBack(string name)
  36. {
  37. var portArgs = new PortArgs()
  38. {
  39. ReadWay = "OriginalPosition",
  40. TypeName = name,
  41. WriteWay = WriteWay.GoBack
  42. };
  43. var res = (bool)DataCentre.GetClient.Factory(name).Read(portArgs) || DataCentre.GetClient.Factory(name).Write(portArgs);
  44. name.UpdateMotorPoint();
  45. return res;
  46. }
  47. public bool SetSpeed(MotorSpeed speed)
  48. {
  49. #region 速度
  50. PortArgs speedArgs = new PortArgs()
  51. {
  52. TypeName = speed.NodeName,
  53. Distance = speed.Speed,
  54. WriteWay = WriteWay.Speed
  55. };
  56. var res = DataCentre.GetClient.Factory(speed.NodeName).Write(speedArgs);
  57. #endregion
  58. return res;
  59. }
  60. }
  61. }