MFC中通过消息控制电机动作

CXING000 2017-03-15 10:46:43
在MFC中写一个控制电机动作的程序,首先电机动作是按照一定规律运作的(正转—停止—正转—……—停止),有两种方法:
A:创建一个线程,将控制电机运作的所有代码写在这个线程中(无限循环),然后通过一个消息唤醒线程;
B:将电机运转的每个动作写成一个消息(正转消息,停止消息),然后在线程中循环发送这些消息让电机运转。
请教各位大神,这两种方法那种比较好?或者有什么更好的意见,先谢过了
...全文
796 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Pipi0714 2017-03-17
  • 打赏
  • 举报
回复
只能是A B实时性不行无法达到满意,或者说想法不对。 要是用控制卡控制伺服的话,更不用说了只能创建一个线程来管理他,让他正转,反转,停止等。 伺服负载不大的情况下还是能达到满意效果,要是大了得经过大量的实验来让他运转稳定。 做过离合器的疲劳试验机,钢材质不容易控制!
CXING000 2017-03-17
  • 打赏
  • 举报
回复
引用 4 楼 schlafenhamster 的回复:
上位机 控制电机 通常是 给 转速。 电机本身 应该有 速度环,电流环。 上位机 做 位置环 还是有可能的。
谢谢您的回答。控制电机转速的命令已经可以由上位机通过串口通讯写给电机,并能正常运行,现在想实现这样一个循环的测试过程。
CXING000 2017-03-17
  • 打赏
  • 举报
回复
引用 3 楼 worldy 的回复:
A,B就是瞎扯, B本身运行不也需要一个线程来运行?
谢谢您的回答。小弟新手。还望不吝赐教,再谢
CXING000 2017-03-17
  • 打赏
  • 举报
回复
引用 2 楼 zdgdh 的回复:
看你的要求,如果电机驱动器已经具备,则上位机仅仅是通信,则看你的响应频率,在转换频率不高的情况下,两者问题不大;若频率要求较高,则都不合适;若是直接由电脑控制电机调速,则以上方法均不可。
谢谢你的回答。电机驱动正常,上位机只是将电机的控制命令通过串口发送给电机,不需要很高的响应频率,只要能实现这个过程就行
  • 打赏
  • 举报
回复
A好,控制电机在子线中操作不会卡住UI
CXING000 2017-03-17
  • 打赏
  • 举报
回复
引用 1 楼 zhao4zhong1 的回复:
Multiple Threads in the User Interface http://msdn.microsoft.com/zh-cn/library/ms810439.aspx
赵老师,我正在认真看这篇文章
老吴子 2017-03-16
  • 打赏
  • 举报
回复
看你的要求,如果电机驱动器已经具备,则上位机仅仅是通信,则看你的响应频率,在转换频率不高的情况下,两者问题不大;若频率要求较高,则都不合适;若是直接由电脑控制电机调速,则以上方法均不可。
worldy 2017-03-16
  • 打赏
  • 举报
回复
A,B就是瞎扯, B本身运行不也需要一个线程来运行?
schlafenhamster 2017-03-16
  • 打赏
  • 举报
回复
上位机 控制电机 通常是 给 转速。 电机本身 应该有 速度环,电流环。 上位机 做 位置环 还是有可能的。
赵4老师 2017-03-15
  • 打赏
  • 举报
回复
Multiple Threads in the User Interface http://msdn.microsoft.com/zh-cn/library/ms810439.aspx

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧