private bool RunRomaCommand(ILiquidHandlerCommand machineCommand) { RomaCommand romaCommand = machineCommand as RomaCommand; Labware srcLabware = layout.FindLabware(romaCommand.SrcLabware); Labware dstLabware = layout.FindLabware(romaCommand.DstLabware); //srcLabware.PlateVector.Positions bool needBreak = RunPlateVector(srcLabware.PlateVector); ITrackInfo romaTrackInfo = new RomaTrackInfo(srcLabware.Label, dstLabware.Label, false); //OnCommandInfo(this,string.Format("Move to source plate:{0}",srcLabware.Label)); if (needBreak) { OnCommandExecuted(romaTrackInfo); return(true); } needBreak = RunPlateVector(dstLabware.PlateVector); ((RomaTrackInfo)romaTrackInfo).AllFinished = true; //OnCommandInfo(this,string.Format("Move to dst plate:{0}",dstLabware.Label)); OnCommandExecuted(romaTrackInfo); return(needBreak); }
private ILiquidHandlerCommand GenerateMovePlateCommand(StepDefinition stepDef) { RomaCommand romaCommand = new RomaCommand(stepDef.SourceLabware, stepDef.DestLabware); return(romaCommand); }