news 2026/4/16 8:57:11

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

作者头像

张小明

前端开发工程师

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/15 21:45:30

leetcode 752. Open the Lock 打开转盘锁

Problem: 752. Open the Lock 打开转盘锁 解题过程 队列&#xff0c;两种可能的&#xff0c;某个字符1取模或者-110取模&#xff0c;共4个字符&#xff0c;所以共4*2种可能&#xff0c;而且0000到9999共10000种可能&#xff0c;所以集合不大的&#xff0c;可以用广度优先搜索&a…

作者头像 李华
网站建设 2026/4/12 23:24:31

批处理 vs Python:哪种自动化方式更高效?

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个对比演示工具&#xff0c;左侧输入批处理命令&#xff0c;右侧显示等效的Python代码。支持常见操作对比&#xff1a;文件处理、注册表操作、系统管理等。提供执行耗时统计功…

作者头像 李华
网站建设 2026/4/15 2:33:05

20、文件归档、同步与正则表达式基础

文件归档、同步与正则表达式基础 1. 文件压缩与归档 1.1 tar 命令的压缩与网络传输 在文件处理中, tar 是一个常用的工具,现代版本的 GNU tar 支持直接使用 z 和 j 选项进行 gzip 和 bzip2 压缩。例如,使用之前的例子,我们可以简化操作: [me@linuxbox ~]…

作者头像 李华
网站建设 2026/4/15 21:05:17

新型内置式永磁同步电机设计 随着能源问题的日益突出,环境污染越来越严重,全社会都在提倡绿色环保...

新型内置式永磁同步电机设计 随着能源问题的日益突出&#xff0c;环境污染越来越严重&#xff0c;全社会都在提倡绿色环保清洁能源&#xff0c;汽车行业也在朝着节能和环保的理念发展&#xff0c;特别是纯电动汽车作为最清洁的能源汽车是我国新能源汽车发展的主要方向。 驱动电…

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

Flutter 跨平台开发实战:从零构建电商应用 UI

✨ 本文配套实战项目地址&#xff1a; https://openharmonycrossplatform.csdn.net/content 本文将带你深入探索 Flutter 的强大之处&#xff0c;通过完整的电商应用 UI 实例&#xff0c;掌握现代跨平台应用开发的核心技能 一、Flutter 简介与优势 1.1 什么是 Flutter&#xf…

作者头像 李华