1、开放式数控系统及PMAC简介开放式数控系统v开放式数控系统的概念 IEEE(美国电气电子工程师协会)关于开放式系统的定义是:能够在多种平台上运行,可以和其他系统互操作,并能给用户提供一种统一风格的交互方式。通俗地说,开放式数控系统允许用户根据自己的需要进行选配和集成,更改或扩展系统的功能迅速适应不同的应用需求,而且,组成系统的各功能模块可以来源于不同的部件供应商并相互兼容。开放式数控系统v开放式数控系统的基本特点:(1)模块化 包括数控功能模块化和系统体系结构模块化。前者是指用户可以根据自己的要求选装所需的数控功能;后者是指数控系统内实现各个功能的算法是可分离的、可替换的。模块化是数控系统开放
2、的基础开放式数控系统(2)标准化 数控装置的开放是在一定的标准约束下进行的,各个公司开发的各种部件和功能模块必须符合这个标准。按这个标准生产的不同公司的产品可以拼装成一台集多家公司智慧的、功能完整的控制器。标准化的基础是模块化,因为标准的制定要建立在模块合理划分的基础上。开放式数控系统(3)可移植性 不同应用程序模块可运行于不同生产商提供的系统平台,同时系统软件也可运行于不同特性的硬件平台之上。因此,系统的功能软件应与设备无关,即应用统一的数据格式、控制机制,并且通过一致的设备接口,使各功能模块能运行于不同的硬件平台上。开放式数控系统(4)二次开发性 开放式数控系统应允许用户根据自身的需要进行
3、二次开发。比较简单的二次开发包括用户界面的重新设计、参数设置等。深层的二次开发允许用户将自己设计的标准功能模块集成到开放式数控系统中。所以系统应当提供接口标准,包括访问和修改系统参数的方法以及开放式系统提供的API(应用程序接口)和其他工具。开放式数控系统(5)网络化 现代意义上的网络化数控系统以通讯和资源共享为手段,以车间乃至企业内的制造设备的有机集成为目标,支持ISO-OSI网络互联规范,能支持Internet/Intranet标准,具有很强的开放性,它的联网功能通过标准网络设备来实现,而不需要其他的接口部件或者上位机。传统数控系统与开放式数控系统比较图:开放式数控系统v开放式数控系统的体
4、系结构 开放体系结构是从软件到硬件,从人机操作界面到底层控制内核的全方位开放。基于PC的开放式数控系统能充分地利用计算机的软硬件资源,可使用通用的高级语言方便地编制程序,用户可将标准化的外设、应用软件进行灵活地组合和使用。使用计算机同时也便于实现网络化。基于PC的开放式数控系统大致可分为以下三种类型:开放式数控系统(1)PC嵌入NC型 该类型系统是将PC装入到NC内部,PC与NC之间用专用的总线连接。系统数据传输快,响应迅速,同时,原型NC系统也可不加修改就得以利用。这种数控系统尽管具有一定的开放性,但由于它的NC部分仍然是传统的数控系统,其体系结构还是不开放的。开放式数控系统 此类系统如日本
5、的FANUC 160/180/210是典型的PC嵌入NC模式的CNC系统。在FANUC CNC专用32位总线插槽中插入一块名为MMC-IV的PC模块,通过专用接口使CNC与MMC-IV紧密结合。德国的SIEMENS 840D系统包括集成有PLC的MMC模块,通过多点接口(MPI)与NCU(含CNC和PLC部分)模块相连。开放式数控系统(2)NC嵌入PC型 该类型系统就是将运动控制板或整个CNC单元(包括集成的PLC)插入到个人计算机的扩展槽中。PC机作非实时处理,实时控制由CNC单元或运动控制板来承担,这种方法能够方便地实现人机界面的开放化和个性化。开放式数控系统 美国的DELTA公司的PMA
6、C-NC开放式数控系统将PMAC卡(可编程多轴运动控制器)插入PC机扩展槽中,总线接口为CANBUS。德国INDRAMAT公司的MTC-200系列开放式数控系统将MTC-PCNC和MTC-PPLC卡插入PC机扩展槽中,总线接口为SERCOS。POWER AUTOMATION公司的PA8000系列数控系统同样将PA-CNC ENGINE运动控制卡插入PC机扩展槽中,构成开放式数控系统。开放式数控系统(3)全软件型NC 该类型系统是指CNC的全部功能均由PC实现,并通过装在PC机上扩展槽的伺服接口卡对伺服驱动等进行控制。其软件的通用性好,编程处理灵活。这种CNC装置的主体是PC机,充分利用PC机不
7、断提高的计算速度、不断扩大的存储量和性能不断优化的操作系统,实现机床控制中的运动轨迹控制和开关量的逻辑控制。开放式数控系统v开放式数控系统研究的关键问题(1)制定一个开放式数控系统的制造协议 在系统的应用软件、硬件和网络功能方面形成一整套标准规范,规范系统的软硬件界面和通讯协议,使得控制器制造商和机床生产厂能在制造协议的导航下进行有序的开发和生产,并在此基础上实现广泛的合作。开放式数控系统(2)实现系统硬件的模块化、标准化和系列化,并提高其可靠性和实时性 通过对系统 CPU 结构模式、通讯方式、运动控制和辅助控制等方面进行模块化处理,按功能制作成功能模块并实现标准化和系列化,且各模块单元之间可
8、利用已定义的标准化接口进行通讯。开放式数控系统(3)构造一种独立于硬件系统的软件平台 针对数控系统的实时性和多任务性特点,应构筑一种实时多任务软件平台,并使其基本功能模块化、典型化,使各个功能模块实现统一调度和相互独立,这样在为不同硬件结构的数控系统提供软件时,只需按其功能配置相应的软件模块,即可实现软件的独立性和开放性。由于每个功能模块不会对其他功能模块产开放式数控系统 生影响,因此,用户可按需要编制新的功能模块,添加到系统中,亦可取代系统中现有的功能模块,使得系统具有良好的功能扩展性。(4)开发出一个优化系统软件,把各种优化技术集成在软件包中 利用该软件来优化配置系统加工参数,使加工过程最
9、优化。通过分析比较多种智能模块技术,选择出一种重构产品最优控制模块,完成系统的第二次开发。开放式数控系统v开放式数控系统的研究状况 1.国外的研究情况(1)美国的NGC计划 美国是开放式数控系统的发起人,于1987年提出了NGC(Next Generation Workstat-ion/Machine Controller)计划。开放式数控系统vNGC计划的目的是为基于开放式系统体系结构的下一代机械制造控制器提供一个标准,这种体系结构允许不同的设计人员开发可相互交换和相互操作的控制器部件。一个完全合格的 6,7 包括开发的可能性,例如多个装置间的协调,装置的全独立编程,基于模型的处理,自适应路
10、径策略和大范围的工作站及实时特性等。NGC 的体系结构是在虚拟机械的基础上建立起来的,通过虚拟机械把系统和模块链接到计算机平台上,如图所示:开放式数控系统(2)欧洲的OSACA计划 OSACA计划是1990 年有欧共体国家的 22家控制器开发商、机床生产商、控制系统集成商和科研机构联合开发的。OSACA 计划提出的“分层的系统平台+结构化的功能单元”的体系结构。该体系结构保证了各种应用系统与 操作平台的无关性及相互间的互操作业,保证了开放性。开放式数控系统(3)日本的OSEC计划 日本的OSEC计划,由东芝机器公司、丰田机器厂和Mazak公司三家机床制造商和日本 IBM、三菱电子及 SML信息
11、系统公司共同组建。其目的是建立一个国际性的工厂自动化控制设备标准。在硬件方面,OSEC计划采用 PC+控制卡的结构,有利于层次化、模块化、灵活配置的实现。OSEC将功能单元分组并结构化在一些功能层中,其开放体系结构包括了 3个功能层共 5 个处理阶层,如图所示:开放式数控系统v开放式数控系统的研究状况 2.我国的研究情况 与国际先进水平相比,国内的开放式数控系统的研究还处于初级阶段。目前,在国内市场中,中、高档产品主要被进口产品占据,而在较抵挡的经济型数控机床市场我国的产品占据主要地位。我国主要的产品有北京的中华系列,沈阳的蓝天系列和武汉的华中系列,其中华中世纪之星可实现五轴联动,是国内比较先
12、进的数控系统。PMAC运动控制卡简介v简介 PMAC(Programmable Multi-Axis Controller)可编程多轴运动控制器,是美国Delta Tau Data System 公司于推出的PC 机平台上的运动控制器,是一个完全开放的系统。它采用了Motorola 公司的高性能信号数字处理器DSP56001/2作为CPU,是世界上功能最强大的运动控制器之一。从硅谷计算机硬盘的超高精度的伺服磁道写入,到高级CNC 机械控制,以及机器人、硅晶片处理、激光切割等广大领域,最著名的例子是PMAC 被用来控制哈勃望远镜镜面的修磨。PMAC 可以控制步进、交直流伺服、直线电机、液压伺服等
13、各类电机,可以接受诸如增量绝对码盘、光栅尺、激光干涉仪、电位计、旋转变压器等检测元件的反馈功能。另外,由于作为CNC 最深层次的NC 内核的开放,PMAC 允许用户使用诸如VC+、C、C+、VB、Delphi 等多种语言开发程序,极大地方便了用户。vPMAC的硬件原理图和结构框图:vJ1:模拟量输入口,此接口可接受16路0-5V的12位的模拟信号 J2:多端口I/O扩展口,可提供8进8出点供用户使用 J3:通用I/O接口,此接口可提供16进16出输入输出点 J4:光缆接口,用于与具有光缆接口驱动器和I/O 板使用 J5:串行数据接口,可与上位机进行串口通讯 J6:显示器接口 J7:手轮编码器接
14、口,可接收手轮脉冲或编码器信号 J8:位置比较量等输出信号接口 J9J12:18 号电机的输入输出接口 vPMAC 运动控制器提供了运动控制、过程控制、离散控制、内部处理、同主机的交互等基本功能,伺服控制包括PID 和速度、加速度前馈控制。它的速度、分辨率、带宽、伺服控制精度等指标远远优于一般的控制器。它能够对存储在内部的程序进行单独运算,执行运动程序、PLC 程序进行伺服环更新,并以串口、总线两种方式与主计算机进行通讯。PMAC 本身就是一台完整的计算机,能够完全独立于操作系统之外处理存储的程序,进行加工。而且它还可以自动对任务进行优先等级判别,从而进行实时的多任务处理,这使得它在处理时间和
15、任务切换这两方面大大减轻主机和编程器的负担。即使在主机控制之下,两者之间的通讯也是一台计算机和另一台计算机之间的通讯,而不是计算机和外部设备的通讯。通过特定设计的门阵列ICS(作为DSP-GATE),PMAC 实现CPU 与轴的通信。PMAC 所控制的8根轴既可联动,亦可在各自的坐标系中完成各自独立的完全运动。vPMAC卡的使用调试 用户使用PMAC的时候,首先需要正确的连线,然后设置满足具体要求的功能I变量值,包括电机、编码器、输入输出以及伺服环所对应的I变量,在组织用户程序的时候,主要任务就是调用PMAC的特有函数以及编写要求的运动程序下载执行。PMAC卡使用前的调试准备工作重要有以下四个
16、步骤:v(1)根据控制的需要设置好PMAC卡上的E跳线 在PMAC卡上,可以看到很多E跳线(金属插脚对),有些已被短接,有些是断开的。这些跳线对某一给定功能定制了硬件特性,PMAC卡出厂前的跳线已被设置为满足一般用户的需求,所以开始不必改变任何跳线,但在开始前要对跳线进行检查以确保他们是正确的。v(2)关掉计算机电源,把PMAC卡插入电脑主板上的一个ISA插槽中 PMAC-Lite需要总线上的一个插槽;PMAC-PC需要总线上的1-1/2个插槽,在另一个插槽上允许一个半尺寸的主板;PMAC-VWE需要两个插槽(一个双插槽);PMAC-STD的四个通道版本需要两个插槽,八个通道版本需要三个插槽。
17、本设计采用的是PMAC-PC型,因此只需要一个插槽。v(3)安装PMAC可执行程序,建立主机通信 系统主要利用PMAC执行程序及与之配套的安装程序来完成PC机与PMAC的通讯以及随后的调试、配置、优化PMAC卡上有关电机的软件参数.v(4)设置坐标系 为了保证在PMAC上能运行程序,必须首先设立基础坐标系,与程序中的坐标系对应,保证程序的正确执行。在完成调试准备工作以后就要设定满足具体要求的I变量值,下面将介绍PMAC卡的几种重要变量:vPMAC 变量和功能 1.I-变量变量 (1024)l 初始化和 变量设置l 提前定义其含义 l 有的影响卡的全局l 有的是电机的定义l 有的是坐标系的定义l
18、 有的是编码器的定义 2.P-变量变量(1024)l用户定义的变量l 48-bit 浮点格式l 全局存取(与坐标系无关)3.Q-变量变量 (1024)l用户定义的变量l 48-bit 浮点格式l 与坐标系的定义有关 4.M-变量变量(1024)l提供用户有权使用卡的内存和I/O寄存l 用户定义地址,偏置值,和位宽度l 无方向,可双向,BCD码,可用的浮点格式vPMAC I-变量 概述I0-I99卡全局设定I100-I186电机1 设定I187-I199坐标系 1 设定I200-I286电机 2 设定I287-I299坐标系 2 设定 .I800-I886电机 8 设定I887-I899坐标系
19、8 设定I900-I989硬件 设定v基本电机定义 I-变量 Ix00电机电机 x 有效有效(x=电机序号电机序号)(1)Ix00=0 电机 x 无效 不执行伺服计算 没有位置报告 (2)Ix00=1 电机 x 有效 伺服计算速度为 30msec/cycle Ix01 电机电机 x 换相换相(x=电机序号电机序号)(1)Ix01=0 不需PMAC执行换相 不执行换相计算 一路模拟量输出 (2)Ix01=1 由PMAC执行换相 相计算速度为 3msec/cycle 一个电机需要2路模拟量 Ix70-Ix83 必须使用Ix15 在终止和遇到限位时的减速速率(单位:cts/msec2;浮点形式)一定
20、不要设为一定不要设为“0”!(电机将没有减速)Ix16 准许的最大编程速度(单位:cts/msec;浮点)只对直线速度混合方式(I13=0)速度修调可使此速度比例变化(%值)也适用于RAPID快速方式,如果 I50=1Ix17 允许的编程最大加速度(单位:cts/msec2;浮点)只对直线混合运动(I13=0)速度修调可使此速度比例变化(%值)也适用于RAPID快速方式,如果 I50=1Ix19 允许的JOG最大加速度(单位:cts/msec2;浮点)可以用 TA(Ix20)and TS(Ix21)修调如果 Ix20=0 and Ix21=0,总用此加速度v设置完I变量值后就可以应用PMAC卡
21、自带的编程指令进行基本的运动控制。这些指令是能够实现对PMAC控制的基础,要实现对PMAC卡的控制,必须对这些指令有细致的了解:1.在线指令 被PMAC卡接受后可以立即执行的指令地址模式指令#n-让电机n为当前编址的电机#-报告当前编址的电机号&n-定义坐标系n为当前编址的坐标系&-报告当前编址的坐标系一般全程指令 UNDEFINE ALL-取消所有坐标系的定义缓冲区控制指令 OPEN PROG常量-为进入/编辑打开指定运动程序缓冲区 OPEN ROT-打开所有定义好的循环程序缓冲区 OPEN PLC常量-打开指定的PLC程序缓冲区 CLOSE-关闭当前打开的缓冲区 CLEAR-删除打开的缓冲
22、区的内容2.在线坐标指令 在指定的坐标系下可以立即执行的指令 轴定义指令#n-常量轴+常量-按电机号,轴比例系数,偏移量来定义轴 例:#1-X#4-2000A+500#n-常量轴+常量轴+常量轴+常量-按电机号,轴比例,系数偏移设置定义2或3轴。只在XYZ或UVW组中才有效 例:#1-8000X-5000Y轴特征指令 INC(轴,轴)-所有轴(或指定的轴)以增量方式运动 ABS(轴,轴)-所有轴(或指定的轴)以绝对值方式运动一般电机指令 HM-执行电机的回零程序 HMZ-执行电机的回零程序不产生运动电机微动指令 J+-电机按正向无限微动 J-电机按反向无限微动 J/-电机微动停止,并恢复到位置
23、控制 J=-电机微动到前一次微动或前一次手动的位置 J=常量-电机微动到指定位置 3.运动程序指令 控制运动状态和参数的指令轴运动指令 轴数据轴数据-简单的运动语句 例:X100 Y100 轴数据:数据轴数据:数据-给定位置和速度的移动 例:X5000:750 Y3500(P3)DWELL数据-保持位置不变;基于定时的基础上 DELAY数据-保持位置不变;基于可变时间的基础上 HOME常量,常量-让指定的电机返回零点 HOMEZ常量,常量-让指定的电机做回零运动运动模式指令 LINEAR-直线插补运动模式 RAPID-快速定位模式 CIRCLE1-顺时针圆弧插补运动模式 CIRCLE2-逆时针
24、圆弧插补运动模式运动特征指令 F数据-指定运动速度(模态的)TA数据-指定运动加速时间(模态的)TS数据-指定S曲线加速度时间(模态的)圆弧插补圆弧插补例程例程02468101214160246810121416&1#3-10000 x#4-10000yopen prog1clearrapid x1 y4f5linear y13circle1 x2 y14 i1 j0linear x3circle1 x4 y13 i0 j-1linear y7circle2 x7 y4 i3 j0linear x13circle1 x14 y3 i0 j-1linear y2circle1 x13 y1 i-1 j0linear x4circle1 x1 y4 i0 j4dwell100rapid x0 y0Close&1 b1 r