news 2026/4/18 7:19:48

上位机状态机开发之旋转标定

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
上位机状态机开发之旋转标定

上位机状态机开发之旋转标定

一 平移旋转标定

/// <summary>/// 平移旋转标定/// </summary>/// <param name="sender"></param>/// <param name="e"></param>privatevoidmaterialButton17_Click(objectsender,EventArgse){// 一 初始化操作vartask1=Task.Run(()=>{//// 1.回零//commomCMD.ReturnOrg();//// 2.回避让位//commomCMD.MoveSafePlace();});// 二运行主流程// 协同取消操作cts3=newCancellationTokenSource();// 当前步骤CurrentStep3=0;Tasktask2=task1.ContinueWith(newAction<Task>((t)=>{boolresult=RotateCalibProcess();}),cts3.Token);}

二 定义旋转标定工序

publicenumRotateStep{旋转1,旋转2,旋转3,旋转4,旋转5,}

三 定义全局变量

privateCancellationTokenSourcects3;//当前步骤privateRotateStepCurrentStep3=0;publicboolIsPause3=false;

四 RotateCalibProcess

/// <summary>/// 旋转标定流程/// </summary>/// <returns></returns>privateboolRotateCalibProcess(){// 循环while(cts3.IsCancellationRequested==false){Invoke(newAction(()=>{rtb_info.AppendText($"执行到步骤【{(int)CurrentStep3+1}】:"+CurrentStep3.ToString()+"\n");}));switch(CurrentStep3){caseRotateStep.旋转1:// 1.移动到第一个位置commomCMD.Move(txtMStartX.Text.Trim(),txtMStartY.Text.Trim(),txtMStartZ.Text.Trim(),-20);// 2.触发拍照CommunicateService.Instance.Send3("Rotate,-20");// 3.(等待拍照结束)拍照结束才能走Thread.Sleep(3000);CurrentStep3++;break;caseRotateStep.旋转2:// 1.移动到第二个位置// 1.移动到第一个位置commomCMD.Move(txtMStartX.Text.Trim(),txtMStartY.Text.Trim(),txtMStartZ.Text.Trim(),-10);// 2.触发拍照CommunicateService.Instance.Send3("Rotate,-10");// 3.(等待拍照结束)拍照结束才能走Thread.Sleep(3000);CurrentStep3++;break;caseRotateStep.旋转3:// 1.移动到第一个位置commomCMD.Move(txtMStartX.Text.Trim(),txtMStartY.Text.Trim(),txtMStartZ.Text.Trim(),0);// 2.触发拍照CommunicateService.Instance.Send3("Rotate,0");// 3.(等待拍照结束)拍照结束才能走Thread.Sleep(3000);CurrentStep3++;break;caseRotateStep.旋转4:// 1.移动到第一个位置commomCMD.Move(txtMStartX.Text.Trim(),txtMStartY.Text.Trim(),txtMStartZ.Text.Trim(),10);// 2.触发拍照CommunicateService.Instance.Send3("Rotate,10");// 3.(等待拍照结束)拍照结束才能走Thread.Sleep(3000);CurrentStep3++;break;caseRotateStep.旋转5:// 1.移动到第一个位置commomCMD.Move(txtMStartX.Text.Trim(),txtMStartY.Text.Trim(),txtMStartZ.Text.Trim(),20);// 2.触发拍照CommunicateService.Instance.Send3("Rotate,20");// 3.(等待拍照结束)拍照结束才能走Thread.Sleep(3000);CurrentStep3++;break;default:break;}// 暂停while(true){if(IsPause3){Thread.Sleep(20);System.Windows.Forms.Application.DoEvents();}else{break;}}}returnfalse;}

五 停止流程

/// <summary>/// 停止流程/// </summary>/// <param name="sender"></param>/// <param name="e"></param>privatevoidmaterialButton16_Click(objectsender,EventArgse){cts3.Cancel();}

六 暂停流程

/// <summary>/// 继续运行/// </summary>/// <param name="sender"></param>/// <param name="e"></param>privatevoidmaterialButton11_Click(objectsender,EventArgse){IsPause3=true;}

七 继续流程

/// <summary>/// 继续运行/// </summary>/// <param name="sender"></param>/// <param name="e"></param>privatevoidmaterialButton11_Click(objectsender,EventArgse){IsPause3=false;}


版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 5:41:51

AI自动生成CSS:position sticky布局一键搞定

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 请生成一个使用position: sticky实现顶部导航栏滚动吸顶效果的完整HTML/CSS代码。要求&#xff1a;导航栏在滚动到视口顶部时固定&#xff0c;背景色为深蓝色(#1a237e)&#xff0c;…

作者头像 李华
网站建设 2026/4/18 5:35:50

摄影师必看:如何批量重命名数千张照片

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个专为摄影师设计的批量照片重命名工具。能够读取照片的EXIF信息&#xff08;拍摄时间、相机型号、GPS位置等&#xff09;&#xff0c;并据此自动生成文件名。提供多种命名模…

作者头像 李华
网站建设 2026/4/5 16:46:18

AI如何将session错误排查效率提升16倍

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个效率对比工具&#xff0c;功能包括&#xff1a;1. 传统调试流程模拟(日志分析、断点调试等) 2. AI辅助调试流程 3. 自动记录两种方法的时间消耗和步骤 4. 生成可视化对比报…

作者头像 李华
网站建设 2026/4/16 7:02:50

AI如何帮你快速解决Python模块调用错误

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个Python代码示例&#xff0c;展示常见的模块调用错误场景&#xff0c;并利用AI自动分析错误原因&#xff0c;提供修复建议。代码应包含错误示例和修正后的版本&#xff0c;解…

作者头像 李华
网站建设 2026/4/11 6:50:11

一体化系统(九)高级表格自己编程如何选择——东方仙盟练气期

多维表格恰似东方仙盟&#xff0c;好处显著&#xff1a;各门派&#xff08;部门&#xff09;数据如修士灵力般互通&#xff0c;多视图切换像仙法变招&#xff0c;一键聚合分析省去手工 “炼数据” 之累&#xff0c;实时协作让跨部门联动如仙盟议事般高效&#xff0c;权限管控则…

作者头像 李华
网站建设 2026/4/17 12:38:40

分析幅图 通达信完全加密公式和谐 分享源码

{}VAR1:DRAWTEXT(MACDF周金叉1,0.35,0.5115); VAR2:EMA(CLOSE,12)-EMA(CLOSE,26); DRAWTEXT_FIX(1,0,0,0,9),COLORRED; VAR3:EMA(VAR2,9);{} MACDF:(VAR2-VAR3)*2,COLORSTICK; VAR4:EMA(VAR2,9); VAR5:VAR2>VAR4; VAR6:VAR2<VAR4; 低位金叉:IF(CROSS(VAR2,VAR3) AND VAR2…

作者头像 李华