PMAC(Programable Multi-axes Controller)是美国Delta Tau公司生产的多轴运动控制器,采用高速度的DSP56000系列数字信号处理器,提供全新高性能技术驱动各种类型伺服电机,满足用户在运动控制各个领域的需要Ⅲ。PMAC优异的轨迹跟踪能力和开放特性,是开发高性能数控系统的理想产品。PMAC具有多种接口类型以适应不同的系统构架方式,女flISA和PCI接口类型可构建“PC+PMAC”数控系统、PCI04接口类型可构建嵌入式数控系统。PMAC也能够独立构成数控系统产品,并且可以通过RS232、RS485或USB接口与计算机进行通讯。在开发PMAC数控系统中,掌握PMAC的关键使用技术是有效构建数控系统的重要环节。作者在北京理工大学的“PRS.XY型混联机床”项目研制中,采用了“PC+TurboPMAC”模式成功地开发了开放式数控系统。通过深入研究和实际应用,总结了PMAC的部分关键技术的实际应用方法,本文就有关PLC编程、代码转换以及数控程序跟踪技术和实现途径进行描述。
1 PLC编程技术
常规PLC(Programable Logic Controller)的基本工作方式是周期循环扫描,分为3个步骤:集中输入采样、程序运行和集中输出刷新。集中输入和输出方式是PLC的重要特征之一,程序在运行过程中通过输入和输出映象寄存器访问I/O端口,而不直接访问物理端口,这样可有效避免控制程序的逻辑混乱。PLC程序一般可通过语句程序和梯形图程序编制,而后者由于与电气图有一定的相似性,逻辑清晰直观、容易理解,在实际工程中得到了普遍应用。
PMAC内嵌了PLC功能,以支持数控系统的逻辑处理和I/O控制,并且具有一般PLC的运行特征,即循环运行方式,但通常是通过语句程序实现的,而且没有明确的集中处理约束,因此在进行复杂PLC程序设计时应借鉴常规PLC的设计方法和原则,才能保证程序逻辑的准确性。
要实现PLC的集中输入输出特性,首先要保证I/O语句在程序中的位置,即首先将输入端口的状态数据读入映象寄存器中,使运行程序只检测该寄存器的状态,将输出结果存放在输出映象寄存器中,最后将输出映象寄存器的内容映射到实际物理端口。在配置了ACC一34A端子板的PMAC系统中,程序格式如下:
(1)数据定义
上述定义中,M1000和M1002分别对应输入和输出端口物理地址,由PMAC系统即时刷新端口状态;M1001和M1003为对应的映象变量,并指向PMAC固定存储器,以便在上电或复位时自动清零。把缓冲器字节分解成位,并由M变量直接进行位操作,方便了对端口各位的独立操作。
(2)PLC程序
上述程序格式完全符合了PLC的基本工作方式,用户程序只需对M1001和M1003映象变量或分解后的M变量操作,不要直接访问M1000币IIMl002。
梯形图是编制PLC程序的有效方法,将其引入PMAC的PLC程序设计中,代替直接使用编程语句的设计方法,在很大程度上降低了PLC程序设计难度。为描述该设计方法,以图1所示典型的电机正反转控制电路为例进行说明。
图1电机正反转控制电路
在PMAC数控系统中,将按钮SBl、SB2、SB3和热继电器KR的常开触点接在端子板的输入端,将KMl和KM2接触器线圈接在输出端,则其控制逻辑可表达为图2所示的梯形图。
图2电机正反转控制梯形图
图2中的M变量分别对应按钮在PMAC中的输入位和输出位,因此M具有逻辑变量特性,即只能取值0或1。容易根据梯形图写出由布尔逻辑表达的PMAC程序语句;
M900=(M800^1)&(M801IM900)&(M901^1)&(M803^1);,
M901=(M800^1)&(M8021M90 1)&(M900^1)&(M803^1);
语句中的“I”是“位或”操作符,表示节点并联;“&”是“位与”操作符,表示节点串联;PMAC中没有“位反”指令,但可使用“异或”操作符“^’’表示梯形图中的常闭节点,即有:
M按位取反=M^1_M常闭节点
显然,采用梯形图设计使逻辑关系清晰明了,尤其对于复杂的逻辑程序设计,采用布尔逻辑表达式避免了因大量使用if...Else...Endlf条件语句而造成的逻辑混乱,而且程序语句运算简单,有利于加快程序的执行速度。
2 数控代码转换
PMAC有一套完整的专用数控编程语言,支持用户进行数控程序设计。而对于通用数控机床,编程语言通常采用国际ISO标准规定的代码字符和格式,我国的数控机床标准也是参照ISO制定的,如GB8870—88(代替JB3050—82)等效IS0840标准。因此由PMAC构建的数控系统必须将G、M、T等代码转换为PMAC的专用语言。
PMAC能以子程序的方式支持G、M等代码的使用,只需在PMAC中编制相应的子程序,将G和M代码转换为PMAC的运动程序表达式,即可实现对ISO代码的支持。子程序的入口地址根据代码字符和后续的功能号确定,G代码的转换子程序格式如下:程序中,M902对应主轴的控制端口,M02代码转换中使用延时指令的目的是停止PMAC的程序预读功能,以免主轴提前停止。
3 数控加工程序跟踪
数控加工过程中,需要对程序的运行过程进行跟踪,即要求实时显示当前正在执行的数控代码。在“PC+PMAC”的数控系统中,可通过显示界面显示程序执行过程。
PMAC的在线指令“PE”能够显示当前正在执行程序行的偏置地址,但由于用户程序是以ISO标准代码编制,在PMAC中使用了代码转换,因此用“PE”指令很难捕捉到当前的G或M代码指令,基本上只能返回转换子程序中的PMAC语句在该子程序中的偏置地址,而该地址数据对于用户程序中的任何同功能代码都是一致的,因而无法判断当前正在执行的程序代码。
有一个简单的方法可以解决数控程序跟踪问题,即在用户程序下载到PMAC之前,自动在每一行程序前自动插入标志变量赋值语句,赋值量与对应的用户程序行号一致,但界面显示仍为原始的用户程序。通过标志变量的值即可判断正在执行的代码位置,并可以在界面显示的程序中做明显标记。实际下载到PMAC中程序格式如下:
程序中的M1变量为标志变量,不能使用“=”赋值格式,必须使用“==”赋值格式。PMAC具有程序预读功能,“=”赋值会在预读时立即执行,导致M1的赋值提前于实际运行的程序代码。“==”是一种同步赋值格式,使用该赋值格式的M变量称为同步变量,同步变量在预读时不会进行立即赋值,只有在该变量的下一个运动程序块开始实际运行时才进行赋值,从而保证了M变量值与当前运行的程序行完全同步。
4 结束语
本文对开发基于PMAC的数控系统中的有关软件设计技术进行了探讨,分析了常规PLC的运行原理,将集中输入输出思想、梯形图设计方法和布尔逻辑表达式引入到PMAC的PLC程序设计中,简化了程序设计,提高了程序的可靠性和逻辑清晰度。对G代码和M代码的转换方法做了说明,使数控系统能直接支持广泛使用的ISO代码编程。数控加工程序行的实时跟踪是数控系统的重要实用功能,文中对PMAC由于代码转换而不能有效跟踪程序执行过程的问题提出了解决方法。文中提到的设计技术均应用于北京理工大学PRS-XY混联机床开放式数控系统设计中,并取得了很好的效果。
上一篇:开放式纯软件数控系统OpenCNC应用与实现的总体方案
下一篇:基于PC机的微小孔振动钻床数控系统
推荐阅读最新更新时间:2024-05-03 00:44