下面我们来看如何编写PMAC程序.
要在PMAC上运行程序必须首先定义一个坐标系,可以用“&”+“坐标系号”来指定一个坐标系,如:&1表示指向1#坐标系。一个坐标系里最多可以定义八个轴,轴的名称可用X、Y、Z、A、B、C、U、V、W八上字母中任何一个来指定,坐标轴和电机可以是一对一的关系,也可以是一对多的关系,例如设3#电机的编码盘线数为N,丝杠的螺距为lmm,则设定电机的语句为:,它表示X轴方向上前进1mm,对应3#电机正转线。将电机定义成一对多的关系,则可以使得电机的实际运动成为几个坐标的线性组合,例如:#1->10000X+10000Y+5000Z+8000是将1#电机定义成X、Y和Z的线性组合。
我们已经知道PMAC是一台具有独立内存、独立运算操作能力的计算机,它内部有一套自己的语言,类似于Basic和Pascal这样的高级计算机语言,也类似于G代码程序,它有一个计算机语言的计算和逻辑结构,运行复本结构时又非常像机器语言,程序中的数值能够被指定为常数或表达式,而且通过设置可以让PMAC接受G代码程序。
PMAC允许执行RS-274标准的NC代码程序,把G、M、T和H代码作为子程序来调用。例如,PMAC运动程序中遇到带有一个值的字母G,它将认为这是调用运动程序10n0的命令,其中n是G后带的值的百位上的数值。去掉百位的值(数学运算上用100取模)表示在程序10n0中将要跳转的行标(该值乘上1000用来指定行标的数值)。当遇到一个返回语句时,它将返回调用它的程序。如G03将导致跳转至PROG 1000的N3000,G115将导致跳转至PROG1010的N15000。M代码也是一样,所不同的是它们所用的是PROG 10n1,T代码用到的是PROG 10n2,H代码使用的是PROG 10n3。用户通过编写自己的运动程序10n0到10n3,可以将NC代码赋予不同的含义,实现自己期望的功能。