微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于PMAC的数控系统软件开发研究

基于PMAC的数控系统软件开发研究

时间:12-12 来源:互联网 点击:

现,二者是同步的,实现相同功能。 精确定位是通过在坐标输入文本框中输入坐标值,控制各轴电机运动的距离为给定坐标值,同时利用反馈来比较,保证定位的精度。 速度控制是通过改变PMAC的I变量来实现的。 所有手动功能都是通过API函数PmacGetResponeA来实现,通过改变string给PMAC发送不同的指令。 其中轴选择的string为“#n”,点动的string为“#j+”或“#j-”,精确定位的string为“#nm172->给定坐标值,同时利用反馈来比较,保证定位的精度。 速度控制是通过改变PMAC的I变量来实现的。 所有手动功能都是通过API函数PmacGetResponeA来实现,通过改变string给PMAC发送不同的指令。 其中轴选择的string为“#n”,点动的string为“#j+”或“#j-”,精确定位的string为“#nm172->L”两条语句来实现。

2.3 坐标位置实时显示

这里利用了提timer定时器控件,系统的状态以及各种参数变量都存储在PMAC内存中,分别用M变量去指向各状态的地址,可通过操作M变量进行状态的读取和参数的写入以及完成I/O口的控制。

2.4 G代码的编辑& 下载和编译

G代码就是数控系统的运动程序,实际上也是坐标轴的运动控制程序,也就是加工程序。 PMAC的运动程序语言有它自己的特点,采用类似于BASIC的高级语言编程,以调用子程序的形式支持加工程序的G代码编程。

PMAC的运动程序可以通过它的G]FK$,终端窗口编写,程序送到缓冲区后,可以在终端窗口键入“&mBnR”运行程序,其中m为坐标系号,n为程序号;如果是在文本编辑器中编写的程序,必须将其下载到PMAC中,然后才能运行。 由于PMAC内存有限,几百K以上的大程序不能一次下载运行,这就要用到循环运动程序缓冲区。 循环运动程序缓冲区允许在程序执行期间对程序进行下载,并覆盖已经执行的程序行,这就能够连续执行比PMAC的存储空间大的程序,并且实时下载程序行。

数控程序中的G代码和M、T、D等功能指令由G代码解释程序、M代码解释程序、T代码解释程序和2代码解释程序分别进行解释。 这4个解释程序分别以运动程序PROG1000、PROG1001、PROG1002和PROG1003的形式存在,在系统调试时由PMAC可执行程序将它们下载到PMAC的固定内存中,在实际加工中被PMAC自动调用。 主界面中的“调试”按钮即用于实现这一功能,并在调试过程中发现错误后通知编程者,其程序代码为:

PMAC将G、M、T、D代码作为子程序来调用!在解释程序中,可以针对特定的机床定制代码。 在运动程序中遇到G代码时,将会调用解释程序PROG1000,跳转到解释代码行,如G17将跳转到PROG1000的N17000行。

2.5PLC功能的实现

PMAC内置有PLC控制和编程功能,它是以循环逻辑顺序来执行命令,但它的编程方式不是梯形图编程,而是采用类似于BASIC等高级语言的编程方式!不需要专用编程器,执行速度更快。

PMAC的内置PLC与NC共用CPU,利用CPU的余力来发挥PLC的功能,所以I/O点数较少。 通过PC程序可以完全地对PMAC变量和I/O进行操作,并且它具有非同步的特性,因此它能有力地协助运动控制程序完成任务。

3 结束语

开放式数控系统(ONC)是目前数控发展的趋势,而PC机+可编程运动控制器型开放式数控系统是发展的主流。 笔者开发的基于PMAC的五轴数控系统试验平台,结构简单,数控系统软件运行良好,用户可根据自己的需要进一步开发,真正实现了数控系统的开放性,达到了开放式数控系统的要求。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top