找回密码
 注册
楼主: a67540

关于数控系统的一点见解

[复制链接]
发表于 2019-11-20 07:16:24 来自手机 | 显示全部楼层
LvSoft 发表于 2019-11-20 02:09! \. f) \1 S! k1 m) ^
本帖最后由 LvSoft 于 2019-11-20 02:10 编辑 & P0 |8 C( u; q: g: A; t: ~# v
$ W0 g( A# _4 `. A+ E; Q0 A

. g* z& ]  v) c4 n; v; F$ _你玩过不等于你了解具体的算法和硬件实现细节,至少在我看来你这些说法都相当的外行。比如在旁边电焊不影响什么的跟维宏还是mach3没一毛钱的关系,只是接口板保护隔离有没有做到位罢了。2 p* \- F+ B9 f. y

; Q9 M, e  G' D) b; C5 d/ s7 ?3 U* b1 S1 ]3 a
说到mach3,首先要知道mach3是什么,起什么作用。
0 Y) b5 s  s1 q) h0 P6 M
, D2 \$ ^3 X7 k% _, Qmach3是做一个运动控制的功能。也即解析gcode,并把gcode所描述的路径轨迹解析成实时的位置脉冲发送给步经/伺服。这个脉冲的实时性是极其重要的,如果实时性不佳,反映到电机上就是控制速度会有起伏(抖动,甚至丢步);反映到多轴上就是无法同步(画圆不圆之类的)。然而其实pc的实时性能力是极差的。所以为啥mach3需要用并口,需要找老主板,需要跑xp这种老系统。那是因为并口就是gpio,是仅有的cpu直接操作的外设(但现代cpu也挪到南桥上了),xp这种老系统也更简单一点,对cpu的打断也稍微少一点。但不管怎么搞,windows系统本身的实时性撑死了就到1毫秒,也许能整进0.5毫秒吧。总之我对windows没太多研究,不是很感兴趣。windows下有高实时性的专业解决方案,是IntervalZero的RTX。性能跟我后面要说的实时linux相当,但要钱的。反正mach3肯定不是用这种专业解决方案的。/ \2 R% r: l1 l3 O# E1 s

. X/ Q' }- U% E' K8 h然后是mach3 + usb cnc,这里问题就来了。usb是比并口延迟更大更不可控的接口。usb最快也就是用usb2.0,跑在480M高速带宽下有个125us的微帧模式,也即不管你怎么实时,pc发的指令一定按照125us对齐到板卡的。这个还是理想情况,实际上我猜测usb板卡应该是走的HID设备,那这个指令还是按照1ms对齐的。当然,这个问题到了usb3.0是不存在的(但市面上也并不存在usb3.0的usbcnc板卡)。所以有些usb板卡上面是有fpga的,fpga是运动控制的终极形态之一(另一个是dsp),他们能产生实时性极高的脉冲(抖动在10纳秒级),但这里先不谈后面再细说。当然更多的还是便宜的usb板卡,本质上就是一个usb形态的并口,依然由mach3靠cpu负责产生脉冲信号,这种基本上就是最差的解决方案没有之一了。& B6 t. _# V) m* i1 L! I; G  e, a% X# e

' P' w8 X# I  P2 p/ c: U4 r另一方面,说说mach3基于cpu实现的优势,那就是cpu能力极其强大,所以你不用担心各种功能实现。什么加速度,加加速度,你想要多少阶的加速度计算,理论上mach3都可以很简单的实现,只要你觉得有必要都没啥难的。所以虽然我不太喜欢mach3,并且也不知道mach3的具体实现复杂度如何(也许mach3就是实现的很简单),但至少这些并不是必须要维宏或者其他专业板卡才会有优势的地方。此外我曾经某个老外的论坛看到一个说法,说mach3用的也是grbl的内核,grbl的代码我大致看过,也确实做的挺简单的。1 z9 r; F5 _9 X7 O' }8 h
& U6 h4 g: l: D% b! u
下面说说fpga方案。fpga就是把mach3在cpu里面做的需要高实时性部分的事情承担了。但在fpga上实现功能是远比在cpu做要麻烦的,所以虽然我现在用的是fpga的usbcnc板卡,但我也并不清楚丫到底把哪些部分挪进了fpga。比如可能是只把直线运行挪进了fpga,复杂的多轴曲线指令全部在mach3端转换成线段等等。这块才是各家体现技术实力和专业性的地方,并且也是运动控制最有技术含量的部分。据我所知国内虽然有几家在做的,但跟国外对比应该依然是有不小差距的。所以我不认为国内市场会有非常专业的解决方案,也不认为维宏能代表专业,充其量摸到专业的门吧。% [$ ]4 \% ?" @" Q6 |
0 A' y9 `8 u& b  {3 n3 [
最后,还是回归本源,说说diyer适合的方案。除了mach3之外,基本上只有2个方案可以考虑。一个是linuxcnc(改名为emc2),另一个是grbl。linuxcnc的做法和mach3完全一样,也是用cpu来实现运动控制的计算和脉冲控制。不同之处在于linuxcnc基于打了实时补丁的linux系统,实时性最好可以达到10us左右,但这个实时性一样跟采用什么主板,什么外设等等有很大关系,并且也还是需要并口才能发挥这个实时性,所以linuxcnc存在和mach3类似的问题,主板都很老很不好选。现在国外很多基于linuxcnc的diy机器都是基于mesa卡的,这套卡是pci/pcie的fpga板卡。但linuxcnc的系统理念上并不支持把运动控制转移到fpga上,所以这些fpga只做最底层的脉冲控制和io扩展,只能说是解决了新机器没有并口的问题。但新机器要跑好linuxcnc也相当不容易,因为linuxcnc采用的实时补丁的linux系统又是比较老的,新机器用老内核不一定能很好的支持,而新内核的实时性补丁虽然也有,但实时性指标都不如老版本做的那么高(因为新版本的linux也越来越复杂了)。总之linux的实时性方面的话题可以写一篇跟本文一样长篇幅的帖子了,我就不展开了。
9 g) d/ Q" B4 ]  c$ u/ L5 d
4 |- @$ V8 X1 z. i+ l8 f" k另一条路grbl,这条是我目前最看好的路线,我下一台cnc也会基于grbl做。grbl只是一套开源的gcode解析器,所以grbl被各种运动控制器广泛使用,然后随着开源的3d打印机的推进,grbl的运行环境也有了很大的改善。grbl跑在pc上,由于pc固有的复杂性,实时性撑死了就是linuxcnc的程度,极限就是10us上下了(最少有人做到过4us)。但如果在嵌入式mcu里面跑,情况就不同了。嵌入式mcu硬件上没pc这么复杂,软件上也没windows/linux这么复杂的操作系统,所以实时性是高度可控的。比如stm32的典型ping-pong中断响应大概就是几百纳秒。同时现在的mcu性能也不弱,编程难度跟cpu差不多,所以一样很容易搞出高复杂度的功能。最重要的是开源,想加什么可以自己搞。+ G5 e) E+ H4 c7 }3 g9 S
' @. u5 U. R7 {2 M
具体来说,大部分3d打印机都是用avr这种8位mcu跑grbl,虽然已经最大化的挖掘了avr的潜力,但8位mcu毕竟还是太落后了一点,我目前比较看好基于grbl的smoothieware。这个是跑在32位mcu上的,这款mcu有100Mhz主频,性能比avr强了不少,据说可以达到200Khz的闭环控制能力(也即最差也得有<5us的实时性),虽然还是弱于专业方案,但也相当接近专业级了。我目前准备把smoothieware迁移到目前最快的mcu上,大概有600Mhz主频,这样性能应该还能翻个几倍,这样基本上就和比较弱一点的FPGA专业方案相当了。同时功能方面也不会有短板,自动换刀什么的都可以有,搞并联轴,delta, scara,6轴机械臂什么的也都没问题。并且源代码开放,比如我需要搞双y轴重心驱动,这些都可以自己加上,而且代码量也不大。

  N1 ?" [+ T3 P* {' W* D* j你字多你是对的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-20 09:16:12 | 显示全部楼层
LvSoft 发表于 2019-11-20 02:09
% O! f+ t; j; f# f8 M你玩过不等于你了解具体的算法和硬件实现细节,至少在我看来你这些说法都相当的外行。比如在旁边电焊不影 ...
2 V$ I& K3 W: Z- B! M
如果系统那么简单的话,为何国内那么多加工中心都是国外的系统,可见数控系统不是简单的东西。如果您真有实力,且不说 法兰克 新代 什么 我希望出个系统先干翻维宏,维宏五轴带rtcp报价可是3万6
1 G) _5 Q+ R; q5 @$ t: t2 U0 M
回复 支持 反对

使用道具 举报

发表于 2019-11-20 10:21:10 来自手机 | 显示全部楼层
伊娃之剑 发表于 2019-11-19 09:16
# O0 |: i5 r& f8 |* h维宏有一点不太好.就是刀路里如果有好几种刀的话.无法选择单个刀具加工.比如加工要用5种刀只能做5个文件了...以前精雕的控制系统非常好,软件很小可以选择刀具加工,还可以用鼠标框选个别刀路单独加工,还自带很多优化,比如下刀后停顿一下再走可以很好的保护刀具...可惜没有D版机器用那个系统
( g( p7 T# ?& m! ~8 \: B# @% z
请问你说的是那个参数实现是,我用的正版维宏,不知道你说的是该改那几个参数,谢谢
回复 支持 反对

使用道具 举报

发表于 2019-11-20 10:55:36 | 显示全部楼层
a67540 发表于 2019-11-20 09:16
* y* P. e% M) Y- ?如果系统那么简单的话,为何国内那么多加工中心都是国外的系统,可见数控系统不是简单的东西。如果您真有 ...
/ q. S; O" F/ }- q
我没说过数控系统简单啊,运控是机器人三大核心技术之一。cnc的运控虽然没机器人复杂,但5轴联动需要处理的问题也是一样的。* ]6 {7 Q( V: n
另外3.6w对个人来说贵,对公司来说大概就是36块钱的概念。我也对做运控不感兴趣,现在早就不是做这个的好时间点了。8 e! F' X% I3 g+ V; R9 n
回复 支持 反对

使用道具 举报

发表于 2019-11-20 11:40:07 来自手机 | 显示全部楼层
我个人认为m3这个算是新手级的系统,也可以叫玩具级的,但是我觉得少了它还不行,刚接触cnc的新手 我倒是认为m3是首选,正是因为它有这样那样的毛病  才能让新手在短时间内成为老手  。我倒觉得一开始就一帆风顺的未必是好事   总得磨练磨练吧等把这个系统搞的差不多了   才接触别的东西  一但出现啥问题  也能迎刃而解不是?
回复 支持 反对

使用道具 举报

发表于 2019-11-20 11:41:21 来自手机 | 显示全部楼层
这贴说得真好,有得必有失,本人维宏和MACH3一起用,
回复 支持 反对

使用道具 举报

发表于 2019-11-20 14:31:07 | 显示全部楼层
玉雕师傅 发表于 2019-11-20 10:21
2 w2 c# x* p2 i1 |4 p+ y请问你说的是那个参数实现是,我用的正版维宏,不知道你说的是该改那几个参数,谢谢

8 i- X) t, N9 Z" U8 Q我用的是D版老版本的没得改...,如果你是正版的应该可以打电话去维宏公司咨询下.& [( T# g+ a0 @3 C
回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2019-11-20 22:14:12 来自手机 | 显示全部楼层
辛亏没用m3
回复 支持 反对

使用道具 举报

发表于 2019-11-22 13:41:55 来自手机 | 显示全部楼层

+ j2 s5 x! K+ b9 v你这系统不便宜啊
回复 支持 反对

使用道具 举报

发表于 2019-11-24 16:32:27 | 显示全部楼层
个人进cnc世界时间短短,从一个完全小白进入这个世界需要许多这方面的资讯,但在版块也不见一些入门解说,今天看了这一整编真是大有收获,之前问了也不见有人原意回,但看了这样一来一回的解说才更深入知道些cnc的知识,谢谢大家啊,cnc水深或许大家都像瞎子摸象,摸到什么就以为是什么了,但引来更专业的回贴更是让人惊喜啊。
回复 支持 反对

使用道具 举报

发表于 2019-11-25 10:39:55 | 显示全部楼层
LvSoft 发表于 2019-11-20 02:094 p. S( q9 v0 w( T3 c) Z8 }
你玩过不等于你了解具体的算法和硬件实现细节,至少在我看来你这些说法都相当的外行。比如在旁边电焊不影 ...
+ [6 ^% s! K' V8 n. \; {/ H
关于M3我们的理解都是一样的,受电脑系统的影响,软件不可能直接中断硬件进行操作,使用一般情况下M3也只能凑合用一下吧1 s9 V% t, p- d% B- ]
关于USB控制卡,我不是专业的,我认为有以下几种9 u7 z; \( e4 _# c  A
, g  ^& K$ n' X: n) ^( U& D
USB--MODBUS    利用M3自带的MODBUS协议进行转换以USB的形式在板上进行信号发生与整理,输出,这个总应该是最简单稳定性最差的,板上只有单片机的可能用的这个方式。+ J/ }4 [% f9 t! N
USB+MCU+FPGA    板上有MCU和运动控制芯片的大概是这种,市场上的主流,千元左右。这个需要专用的插件与M3配合,使用专用协议,M3发送每一行G代码给MUC进行解释,将每轴信号发给运动控制芯片进行脉冲发生输出,MCU同时负责外围IO的响应,输入输出。USB信号负载低,性能好,主要问题的延时。由于MCU需要给M3返回响应信号所以可以热插拔,断开M3就暂停,接上就可以从断开出继续运行,实际运行延时是很大的,所以这类卡都把自动对刀端口定死了,只能接专用口上。我用的佳门卡就是这类,速度200K,我光轴机57电机能上F8000,机架不好意义不大,实际使用F1500。
3 n3 q  d1 O" v* h2 p( ^6 c' egrbl,我不认为M3是使用grbl内核,M3出现的早,grbl流行的晚,只能说可能算法大致一样。grbl是流行在3D打印机之后的,一般使用的16位-32位的MCU,3D打印使用也是G代码,grbl项目可能是把3D打印的核心移植强化而来的,我认为可以直接用3D打印模块就够雕刻机使用。现在市场上1000-3000元的脱机控制器可能就是使用grbl移植的STM32F107或者407(内部没见过,只是揣测)。
  P2 Y/ z; H9 Z1 A0 h8 `$ m/ n5 [* w* W- a- j9 k7 `
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则


快速回复 返回顶部 返回列表