|
文章引至互联网,不是我写的,我也不明白。
Mach3 CNC控制软件 是由美国ArtSoft公司开发,功能通过计算并口控制步进或伺服电机,从而实现控制数控机床,本软件支持所有国际标准G代码。
Mach3 控制软件自推出已来受到全球千万爱好者的使用,原版并口版在大家使用中很是不稳定,大家给它的评价是:界面好,功能强,好用易学,唯一的是不太稳定!我公司结合多年对MACH3软件的研究与二次开发,特作详细分析如下:
首先我们讲讲Mach3软件的组成:
Mach3软件有四大部份组成:1,图型GUI处理,2,插件与外部VB处理,3,程序代码处理,4,设备驱动输出。
1:图型GUI处理:是软件整个界面的显示与解译外部屏幕文件(如1024.set文件)此模块大约40ms执行一次,占用内存很少。图型显示在有3D图时会占用60-200M的内存,所以大家在打开大文件时,含有并口驱动的Mach3会显示很慢!
2:插件与外部VB处理:对外的接口,包括所有的外设,如MODBUS等。
3:程序代码处理:这是Mach3软件核心之一,主要解释程序代码,处理刀补与坐标系等一切前期处理,内含6000多个参数。处理好的数据在软件运行的内存中,绝大多数的参数变量可读与写,您在做二次开发时这些是很重要的。所有处理好的数据送到下级处理输出。
4:设备驱动输出:是Mach3软件核心之重点,所有的数据要这个模块运算输出,包括插补运算。这个模块的驱动是“ Mach1/2 pulsing engine”,是利用电脑主机的硬件时钟来参考进行工作的,因实时性高很占用电脑资源。
“为什么安装完成后您需要对系统进行测试,如上面所讲到的 Mach3并非独立程序,它的运行需要 Windows给出足够的空间,也就是说由于某些因素它不是在所有的系统中都
能运行………..因为这些因素的存在,当您检测程序是否安装好或发现问题时都有必要测试您的系统,虽然不是强制性的但也非常重要,双击您创建的 DriverTest 图标,将出现如图3.2所示的界面”。
上面这段话就是来自“中文说明书”中,“DriverTest”程序就是脉冲设备驱动,这个是很关键的东西,如果您把“ Mach1/2 pulsing engine”,这删了保证没脉冲输出。
并口的Mach3绝大部份的稳定性由“ Mach1/2 pulsing engine”的稳定性来决定,打开控制面板双击“系统”(System) 选择硬件点击“设备管理”(Device Manager),您可以看到一列设备以及他们的驱动程序,Mach3脉冲程序(Mach3 Driver)就在 Mach1脉冲调制装置(“Mach1 Pulsing Engine”)里面。
“有些系统带有APIC(高级程序中断控制器)计时器,但是它的基本输入输出系统代码并不能利用它,这也将干扰 Mach3的安装,这个时候您需要 SpecialDriver.bat这样一个批处理文件,您可以通过 Windows资源管理器找到这个文件,并双击运行这个文件,这样 Mach3就可以使用老的 i8529中断控制器。当您下 载并安装了更新版本时,因为特殊驱动程序被新版本中的原始驱动程序替代,你需要重新运行这个批处理文件。”
前面这段话也指的是“ Mach1/2 pulsing engine”所要运行的环境,简单的说就是它运行的参考时钟,一个不稳定的时钟,必带来“ Mach1/2 pulsing engine”的不稳定,而“ Mach1/2 pulsing engine”又是脉冲输出的主模块,所以我们要获得稳定的输出,那么必须要给“Mach1/2 pulsing engine”良好的运行的环境。
我们在“配置”**框中选择“内核速度”指的就是给于这个设备的参考时钟,“内核速度”越大电脑要求越高,Mach3软件3.0版本最大的改进就是“Mach1/2 pulsing engine”的变化。
上面这些微薄探说,您应该大概知道MACH3软件的工作原理,大部份的实时性与可靠性出在“Mach1/2 pulsing engine”,如下图:
我们要完全改变MACH3的命运,只能给它做手术了,那就是二次开发!!
接下来我们说说MACH3的外部运动控制器。
Mach3软件是开放源代码的软件,说是开放但也不完全开放!很多东西不是很明瞭!Mach3软件可以二次开发按三种方式把脉冲输出交给外部运动控制器,1:积分插补器,2:可变时间输出,3:完全指令法。
1:积分插补器:这种只符合G100上运行,好像非正常的算法。
2:可变时间输出:这种很符合大部份按时间来定量输出的设备,您的设备如果是0.001ms的频率,那么在插件中指定外部设备频率,Mach3就会按此输出每个运算的数据到您的外部设备,当时间越小时数据量越大,数据解析越精,最小可按位输出,这时您就可以通过USB或PCI等接口获得数据的输出,处理后在到每个脚输出。
3:完全指令法:是指MACH3只对程序进行解释不做任何运算处理,完全交有外部运动控制器处理,如“G01X100F1000”这行代码,MACH3只会把“100”的数据按放在X轴的缓冲,交由外部运动控制器去插补运算,这时的MACH3软件时最轻松的了。这时为什么呢?如果我们把“100”改成“1000”那么MACH3就要休息1分种再干活了,全部交由外部运动控制器去插补运算了。
以上是对MACH3软件的内部工作方式及稳定性影起的因素,片面的探讨及说明,您在看到本文时您也可试着对MACH3软件进行二次的开发,进行外部运动的控制。由此来获得更高的实时性与稳定性!接口方面您可以用USB,PCI,CAN TCP/IP等计算机外设接口!USB时请最好不要使用HID类的设备驱动,因此类大多应用在鼠标、键盘、等外设驱动,另外最好不要使用前面两种输出方式,因那样还是占用了很多MACH3的时间,最好用第三种方式,但这样会增加您的硬件成本,据市场了解最便宜的运动控制芯片也要400多元,另外这种方式下开发难度也最高,因任何一却的事务都交由外部运动控制器了。
如果您对单片机很熟借用第二种方式能很快的开发出USB等外设的MACH3接口卡,这里为何说是接口卡呢,主要只是把接口变了而于,大部份运算还是MACH3搞定的。
| | |
|
欢迎继续阅读楼主其他信息
|