| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- using SHJX.Service.Control.Interface;
- using SHJX.Service.Control.Modules;
- using SHJX.Service.Common.ReadXML;
- using SHJX.Service.Model.Control;
- using System.Collections.Generic;
- using System.Threading.Tasks;
- namespace SHJX.Service.Control.Route.RouteController
- {
- /// <summary>
- /// 样品位冷却
- /// </summary>
- /// 这一步是放在搅拌结束后做的
- public class SampleCoolingOperate : FlowControlOperateImp
- {
- private const string EquipmentName = "SampleCooling";
- public virtual bool Operate(ReadConfigUtil config, DataEventArgs data)
- {
- MotorSpeed itemSpeed = config.GetSpeed[0];
- itemSpeed.Speed = 6;
- SetSpeed(itemSpeed);
- itemSpeed = config.GetSpeed[1];
- itemSpeed.Speed = 6;
- SetSpeed(itemSpeed);
- List<string> names = new() { "MotorZ", "MotorX", "MotorY" };
- names.ForEach(async item =>
- {
- var res = await XYZGoBack(item);
- });
- itemSpeed = config.GetSpeed[0];
- SetSpeed(itemSpeed);
- itemSpeed = config.GetSpeed[1];
- SetSpeed(itemSpeed);
- return EquipmentName.CoolingTimeCalculate(data.DataManager);
- }
- private async Task<bool> XYZGoBack(string name)
- {
- var portArgs = new PortArgs()
- {
- ReadWay = "OriginalPosition",
- TypeName = name,
- WriteWay = WriteWay.GoBack
- };
- var res = (bool)DataCentre.GetClient.Factory(name).Read(portArgs) || DataCentre.GetClient.Factory(name).Write(portArgs);
- name.UpdateMotorPoint();
- return res;
- }
- public bool SetSpeed(MotorSpeed speed)
- {
- #region 速度
- PortArgs speedArgs = new PortArgs()
- {
- TypeName = speed.NodeName,
- Distance = speed.Speed,
- WriteWay = WriteWay.Speed
- };
- var res = DataCentre.GetClient.Factory(speed.NodeName).Write(speedArgs);
- #endregion
- return res;
- }
- }
- }
|