| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- using SHJX.Service.Control.Common.Assets;
- namespace SHJX.Service.Control.Pipeline.Interface
- {
- public abstract class INode
- {
- public EquipmentTask CurrentTask { get; set; }
- public string Name { get; init; }
- public INode NextNode { get; set; }
- public INode SetTask(EquipmentTask task)
- {
- CurrentTask = task;
- return this;
- }
- public INode Record()
- {
- try
- {
- DataManagerInstance.Record(CurrentTask, Name);
- }
- catch
- {
- }
- return this;
- }
- public virtual void Next()
- {
- if (Name== "TargetInversion")
- {
- Thread.Sleep(1000);
- }
- //if (Name == "TitrationDropperOpen" || Name == "TitrationDropperClose")
- //{ Thread.Sleep(3000);
- //}
- NextNode?.SetTask(CurrentTask)?.Invoke()?.Record()?.Next();
- }
- public abstract INode Invoke();
- }
- }
|