public PCDResponse MeasurePart(PCDRequest request) { _measureOperation = true; StatusMessage = "开始测量"; PCDResponse resp = null; try { string progName = SearchProgram(request.Part); GenerateMeasureParameterFile(request.Part); _are.Reset(); bool success = _pcdmisControl.OpenProgram(progName); success = _pcdmisControl.ExecuteProgramAsync(); _are.WaitOne(); resp = EvalMeasure(_completed); } catch (Exception pe) { resp = new PCDResponse() { Success = false, Pass = false, Message = pe.Message }; ServerLog.Logs.AddLog(pe.Message); } StatusMessage = "结束测量"; return(resp); }
private PCDResponse Measure(Part part) { PCDRequest request = new PCDRequest() { Part = part }; PCDResponse response = _pcdmisService.MeasurePart(request); return(response); }
static void Main(string[] args) { Callback cb = new Callback(); ServiceReference1.PCDmisServiceClient client = new ServiceReference1.PCDmisServiceClient(new System.ServiceModel.InstanceContext(cb)); client.InnerDuplexChannel.Opened += InnerDuplexChannel_Opened; client.Open(); Thread.Sleep(2000); PCDRequest request = new PCDRequest(); request.Part = new ServiceReference1.Part(); var response = client.MeasurePart(request); Console.WriteLine(response.Message + " " + response.Success.ToString()); Console.WriteLine("------"); Console.ReadLine(); }