数控系统的软硬件结构图文精.docx
《数控系统的软硬件结构图文精.docx》由会员分享,可在线阅读,更多相关《数控系统的软硬件结构图文精.docx(23页珍藏版)》请在冰豆网上搜索。
数控系统的软硬件结构图文精
第五章数控系统的软硬件结构
§5.1概述
以上各章从数控系统如何处理输入的零件加工程序出发,阐述了数控系统的工作原理。
在本章,我们讨论构成数控系统的软硬件都有那些特点,它是如何实现以上所述的功能。
本质上,数控系统是一种位置控制系统,它是根据输入的数据段插补出理想的运动轨迹,然后输出到执行部件,加工出所需的零件。
数控系统是由软件和硬件两大部分组成,其核心是数控装置。
数控系统(ComputerNeumericalControl–简称CNC系统硬件一般包括一下几个部分:
中央处理器(CPU、存储器(ROM/RAM、输入输出设备(I/O、操作面板、显示器和键盘、纸带阅读机、可编程逻辑控制器等。
图5-1CNC系统的结构框图图5-1CNC系统的硬件结构框图
图5-1所示为整个CNC系统的结构框图。
数控系统主要是指图5
-1中的CNC控制器,CNC控制器由计算机硬件、系统软件和相应的I/O接口、可编程逻辑控制器构成。
前者处理机床的轨迹运动的数字控制,后者处理开关量的逻辑控制,如主轴的启停、冷却液的开、关、刀具的更换等。
从计算机实时操作系统的角度来看,CNC系统是一种典型的多任务强实时系统,所使用的实时控制也是比较成熟的。
在CNC操作系统中,我们把具体完成某项作业任务的程序称为实时处理程序,即操作系统所指的用户程序。
这些程序负责完成诸如译码、轨迹计算、速度计算、插补等任务。
而负责对这些程序进行实时监控管理服务的程序称为实时系统程序。
这些程序包括中断管理、监控、内存管理等程序等。
整个CNC系统就是由这些实时处理程序(用户程序和实时系统程序(中断服务程序共同组成了CNC实时操作系统。
用户的零件加工程序是以数据段为单位编制的。
一个数据段就是一个作业。
每个作业都是由一系列任务组成。
在系统程序的调度管理下,实时处理程序执行系统赋予的这些任务,经过装入—→编译——→预处理——→插补——→输出这样的运行过程,完成一个作业。
而一次加工是由N个类似的作业构成的。
完成一个加工就需要N次这样的作业循环。
我们可以把它分为如图几步。
图5-2框图图5-2CNC的零件程序作业框图
§5.2CNC系统的硬件结构
CNC装置是在硬件和软件的有机结合下来完成控制任务的。
其控制功能在相当程度上取决于硬件的结构。
当初期的控制功能和精度要求不是很高时,多采用单微处理器结构。
现在中高档CNC装置,大部分采用的是多微处理器结构。
一.单微处理器的CNC结构
单微处理器结构,由于只有一个CPU的控制,功能受字长、数据宽度、寻址能力和运算能力的限制,因此多采用集中控制,分时处理的方式。
这种CNC硬件是由CPU通过总线与存储器、I/O控制元件等各种接口电路相连的专用计算机,它还包括控制单元,如主轴控制单元、速度单元等,由它们共同构成了CNC的硬件。
如图5-3为一单CPU的CNC系统的硬件框图。
图5-3单CPU结构CNC系统结构框图
微处理器负责CNC系统的运算管理,它由运算器和控制器两部分组成,是CNC系统的核心。
目前,CNC装置中常用的有8位、16位和32位微处理器。
如Intel公司的8088、8086至到Pentium系列CPU,Motorala公司的6800、68000、68020、68030等。
根据CNC系统的实时控制要求,按字长、运算速度、寻址能力,CNC系统供应商选用相应的CPU。
如FANUC公司的F15系列,它选用了32位Motorala的68020微处理器。
在单CPU的CNC系统中,通常采用总线结构。
总线是CPU赖以工作的物理导线,它通常赋予一定的信号意义。
按功能可分为三组总线,即数据总线(DB、地址总线(AD、控制总线(CB。
数据总线为各部分之间传送数据,采用双方向线;地址总线传送的是地址信号,与数据总线结合使用,以确定数据总线上传输的数据来源或目的地,它采用单向传送;控制总线传输的是管理总线的某些控制信号,如数据传输的读写控制、中断复位及各种确认信号,采用单向传输。
CNC系统的存储器包括只读存储器(ROM和随机存储器(RAM两种。
只读存储器主要用于存储CNC系统的软件管理程序、执行软件程序(即系统的应用模块。
管理程序即是CNC系统的实时系统程序;执行软件程序即是系统的编译模块、插补模块、轨迹计算模块等类似的应用程序(即操作系统的用户程序。
这些程序由生产厂家固化在里,不可更改。
随机存储器主要用于存储运算过程的中间结果、运行中的状态、标志等信息,断电后即消失。
而机床参数、刀具参数、零件加工程序等存放在用电池供电的CMOSRAM中,这些信息可以从CMOSRAM中随机读出,还可以根据需要随时写入,系统断电后,信息仍保留在CMOSRAM中。
CNC系统的位置控制单元主要对机床的坐标轴位置进行控制。
例如,工作台的移动,工作台围绕某一轴的转动,坐标轴的联动控制等是它的基本功能。
对坐标轴的控制是数控机床要求最高的控制。
一般位置控制的硬件采用大规模专用集成电路位置控制芯片实现。
CNC系统的输入输出接口,包括纸带阅读机、软盘驱动器、键盘、对外的通讯口等形式,一般要考虑进行必要的电气隔离,或其它抗干扰措施。
二、多微处理器结构
多CPU结构是目前许多CNC系统采取的一种结构形式,它采用模块化结构,具有比较好的扩展性,能够提供多种选择的功能。
这种结构一般配置了多种控制软件,以适应多种机床的控制。
多微处理器结构的CNC系统是把数字控制的任务划分为多个子任务。
在硬件方面以多个微处理器配以机床的接口,形成多个子系统,把划分的子任务分配给不同的子系统,由各子系统协调完成数控。
应注意的是,有的CNC系统虽然有两个以上的CPU,但只有一个CPU具有总线控制权,而其它的CPU不能控制总线,也不能访问主存储器,它们组成了主从结构。
因此,应把它们归于单CPU结构中。
例如A900系统,见图5-4所示,它有三个独立的CPU,CIP/3440(PRC主CPU、SRP串行CPU和DBP双总线CPU。
在A900中,CIP/3440(PRC是A900的中央处理单元,它作为输入数据准备与插补运算并管理机床主轴和相连机构的全部数据。
SRP(串行I/O处理器控制外围设备。
如CRT、键盘等。
SRP的输出是由CIP/3440管理,不直接访问总线。
DBP双总线CPU控制各轴电机,控制伺服处理逻辑装载,它接收兵计算伺服轴控制测量系统和反馈信息,计算主轴速度和管理软件插补速度,DBP的输出也是由CIP/3440(PRC管理的。
在整个系统中,SRP、DBP不能访问存储器和系统总线,它们只有局部总线可以访问。
这种具有主从结构的仍归为单处理器结构。
在多CPU结构中,具有两个或两个以上具有总线控制权的子系统,称为多CPU结构。
它们一般采用两种结构形式,即紧耦合和松耦合结构。
在前一种结构中,由各微处理器构成处理部件,处理部件之间采用紧耦合方式,有集中的操作系统,共享资源。
在后一种结构中,由各微处理器构成功能模块,功能模块之间采用松耦合方式,有多重操作系统,可以有效地实行并行处理。
1多微处理器的典型结构
在多CPU组成的CNC系统中,可以根据具体情况合理划分期功能模块,一般来说,CNC系统基本由管理模块、插补模块、位置控制模块、操作和控制数据输入输出及显示模块、存储器模块这6个模块构成,若需扩充功能时,可再增加模块。
这些模块之间的通信有共享总线和共享存储器两种结构。
(1共享总线结构,以系统总线为中心的多CPUCNC系统,把组成CNC系统的各个功能部分划分为带CPU或DMA器件的主模块和不带CPU或DMA器件的从模块(如各种RAM、ROM模块、I/O等两大类。
所有主、从模块都插在配有总线的插座上,共享系统总线。
系统总线的作用是把各个模块有效地连接在一起,构成完整的系统,实现CNC系统的各种预定功能。
如图5-5
图5-5共享总线的多CPU结构CNC系统结构框图
这种结构中只有主模块有权控制使用系统总线,由于有多个主模块,系统设有总线仲裁电路来裁决多个主模块同时请求使用总线而造成的竞争,以便解决某一时刻只能由一个主模块占有总线的矛盾。
每个主模块按其负担任务的重要程度,已经预先安排好优先级别的顺序。
总线仲裁电路的目的,就是在它们争用总线时,判别处理各模块优先级的高低。
这种结构中的各CPU模块共享总线时,会引起“竞争”,使信息传输效率降低,总线一旦出现故障,会影响全局。
但由于结构简单,系统配置灵活,实现容易,无源总线造价低等优点而被广泛运用。
例如,A950数控装置中,使用了6个80186CPU,采用共享总线结构,每个CPU配置有局部随机存储器,大小有不同规格从512K到32K不等。
各处理器之间的通信通过MULT1总线完成。
由于采用了多CPU总线共享结构,不同的任务可以由不同的CPU分担,从而允许多个独立任务同时出现。
克服了单一处理器的不足。
大大增强了数据处理能力。
见图5—6。
(2共享存储器结构。
在实现这种结构中,通常采用多端口存储器来实现各CPU之间的互连和通信,每个端口都配有一套数据、地址、控制线,以解决端口访问。
由多端控制逻辑电路解决访问冲突。
见图5—7。
图5-7共享存储器的多CPU结构框图
图5—7共享存储器的多CPU结构框图
图5—7所示为一双端口存储器器结构,它配有两套数据、地址和控制线,可供两个端口访问,访问优先权预先安排好。
当两个端口同时访问时,由内部仲裁电路裁决优先访问权。
当CNC系统功能复杂,要求CPU多时,会因争用共享存储器而造成传输阻塞,降低了系统的运行效率,且功能复杂,扩展功能较为困难。
典型的如MD公司的Actrion系统,它包括三个处理器,利用公用存储器统一协调工作。
§5.3CNC的软件结构
我们知道,CNC系统是一个强实时的计算机控制系统,其管理、监控服务程序—这里我们称为CNC的实时操作系统,它负责对诸如插补程序、编译程序、刀补程序、速度计算等程序进行调度及监控,以实现数控系统的运转功能。
那么CNC操作系统是如何实现它的功能的。
一CNC操作系统的功能
1对CNC系统资源的管理
设想有三个实时任务,如速度计算、插补、输出到伺服机构的输出。
按照一般的做法,计算机对这三个任务进行排队,按队列串行执行,来处理它们的执行过程。
如图5—8所示。
但是,在CNC系统中,一般用图5—9所示的方式排列执行,这种过程称为并发执行。
图5—8三个任务的串行执行
在图5—9的工作方式下,速度计算、插补、输出与CPU重叠工作,三个任务并发执行,就是所谓的时间重叠流水处理技术。
它提高了系统资源的利用率,增加了系统的处理能力,缩短了系统的处理时间,加快了响应速度。
但是,必须有一个机构来管理各种设备和处理任务的程序之间的多重操作,协调CPU和各个部分之间的工作,调度各个处理程序之间的运行。
这个机构就是CNC的操作系统,它必须跟踪哪个处理程序在使用什么资源,满足这些任务队资源的请求,记录资源的使用情况,在实时任务对资源的请求发生冲突时,进行管理。
这些功能包括:
实时任务管理、内存储器管理、外部设备的管理、文件系统的管理等。
2CNC操作系统的调用
系统用指令是CNC操作系统与实时处理任务的接口。
每个CNC操作系统调用指令,它涵盖了系统所能提供的所有功能,包括实时任务的管理、内存的管理、各种外设的管理等。
事实上,CNC操作系统正是通过上述系统调用命令的执行,来完成任务的请求,从而实现对整个CNC系统的管理。
实时处理程序通过系统调用指令,向操作系统发出执行某种命令的请求时,便把CPU的控制权交给了操作系统。
当操作系统完成实时处理程序的请求时,再把CPU的控制权转交给实时处理程序。
由CPU控制的这种转移,就把操作系统分为监控态和用户态两种。
监控态和用户态是为了保护操作系统,以免受处理程序的干扰和破坏而引入的两种状态。
它们包括:
(1中断操作指令,如允许中断、禁止中断、屏蔽中断;
(2在任务之间切换CPU的控制权的指令;
(3输入输出指令等。
CNC操作系统在监控态下运行。
在监控态下运行的程序,可执行包括特权指令在内的所有指令。
实时处理程序在用户态下运行。
在用户态下运行的程序,不能使用特权指令。
例如,MotorlaMC68X0的CPU提供两级状态切换,实时处理程序,使用向量地址编号为0~15的TRAP指令,把CPU的控制权转交给操作系统。
TRAP指令的执行,使系统的状态自动由用户态变为监控态;实时操作系统使用RTE指令,把控制权转交给实时处理程序。
此指令的执行,使系统由监控态变为原来的状态。
Intel的80X86系列的CPU,为不同级别运行的程序提供四级特权机制。
一般来说,实时处理程序运行于级别最低的特权级;而操作系统的指令,则运行于较高的特权级。
它们一般用INT中断指令,来实现特权级的中断转移和任务的切换,而用IRET指令返回原特权级。
MC680X0的TRAP指令或80X86的软中断INT指令,都是通过中断,实现CPU控制权的转移。
一般地,计算机提供如下几种类型的中断:
(1硬件故障中断:
如电源故障、总线错误、地址错误、非法的越权指令、除零等;
(2外部中断:
所有的外部设备I/O所产生的中断;
(3陷阱中断:
由正在执行的程序执行陷阱指令(如,MC680X0的TRAP指令或80X86的软中断INT指令所产生的中断;
(4现场中断:
如触点、越程开关、限位开关等引起的中断,可把它们归为外部设备各I/O所产生的中断。
如图5-10所示的中断处理情况
首先,它把实时任务的所有CPU寄存器的内容,保护在该实时任务的一个特定的地方,再从实时任务的堆栈中取出指令,去执行相应的处理程序。
由于在执行系统调用指令的处理程序时,实时任务之间的状态可能发生变化,所以,还得执行任务调度程序,对实时任务进行调度。
最后,再从实时任务的这个特定地方,恢复实时任务的所有CPU寄存器的内容,利用IRET之类的特权指令,把CPU的控制权交还给实时处理程序。
3实时处理程序的建立和启动
当实时操作系统完成初始化以后,需要建立和启动整个系统,一般有两种方法。
第一种方法,由实时操作系统直接启动;第二种方法,通过后台任务处理程序BACKGROUND,由用户(操作者自己启动整个系统。
对CNC系统来讲,一般通过后台处理程序启动整个系统。
对于主流的CNC系统,它的操作系统是嵌入式的实时操作系统,一般比较小。
供应商把操作系统与实时处理程序等固化在EPROM中,系统启动时,把它们再从EPROM拷贝到内存。
实时应用程序是这样启动的,实时操作系统首先完成整个系统的初始化操作之后,马上建立并启动两个任务:
“ROOT”任务和“IDLE”任务。
ROOT任务具有较高的优先权,IDLE
任务具有最低优先权。
实时操作系统在启动整个系统时,所执行的过程可用下面的程序描述:
{
Initial(;/*初始化
CreateTask(―ROOT‖,PRIORITY1;/*建立ROOT任务
CreateTask(―IDLE‖,PRIORITY2;/*建立IDLE任务
StartTask(―ROOT‖;/*启动ROOT任务
StartTask(―IDLE‖;/*启动IDLE任务
Scheduler(;/*调度
}
以上的执行过程,在监控状态下完成。
两个CreateTask模块的执行,分别把两个程序代码置于内存的某个地方,并进行一些必要的工作;两个StartTask模块的执行,则使这两个任务处于就绪状态,而不是马上就转去执行,而是这两个任务就绪。
最后,用Scheduler,才把CPU的控制权转交给优先级较高的ROOT任务。
ROOT任务是用户实时操作系统中的根任务。
它完成用户系统的所有初始化工作,然后再建立和启动其它的实时任务,启动整个系统的运行。
ROOT任务也可以只建立若干个子任务,再由这些子任务去建立第三层的任务,如此等,整个实时处理程序的任务就像树一样。
IDLE任务的优先级最低,它一般做些与实时任务无关的事或者什么也不做,只是执行一条
无条件转移到自身的指令就行。
它的作用是:
当整个系统中的现有实时任务都消亡而退出运行,或被暂停挂起时,就运行这个什么也不做的IDLE任务。
只要某个实时任务被解除暂停,处于就绪状态,该任务马上就可以由调度程序调度,而转入运行,因为IDLE任务的优先级最低。
在用户的实时处理程序中,只有ROOT任务和IDLE任务是由操作系统内部建立的。
其余的实时任务(实时处理程序,都是由ROOT任务及其子孙任务动态建立的。
这种方法,针对一种确定的实时应用,所要进行的实时处理内容由ROOT任务确定,系统一旦启动,就马上进入用户的实时系统,长期运行下去。
这种系统结构就是下一节所介绍的中断型软件结构。
“后台任务”和“空闲”任务
还有一种方法:
实时操作系统在完成初始化之后,马上建立一个后台任务“BACKGROUD”,它以很低的优先级运行。
再建立一个空闲任务“IDLE”,它以最低优先级运行,它的作用同上面所述一样。
BACKGROUD任务以终端作为其输入和输出命令。
然后,发出读键盘系统调用命令,等待用户输入。
用户的实时任务比后台任务的优先级高,当系统调用类似于StartTask和Scheduler模块后,前者使该实时任务处于就绪状态,后者使实时任务占先后台任务,从而取得CPU的控制权。
系统转入运行用户的实时应用程序。
该实时任务又可以象ROOT任务那样,建立若干个子任务,子任务又可以建立孙任务,使系统围绕整个实时应用程序而运行。
后台任务的执行,只有在实时任务全部退出,或全部任务因某种原因而停止运行时,才有机会获得对CPU的控制权。
若实时任务尚未结束,它就一直处于等待状态,直到实时任务结束,它才能继续取得对CPU的控制权。
这时,它又回到循环的顶部,继续读取命令行,为启动第二个实时应用程序做准备。
这类结构就是下一节所介绍的前后台型软件结构。
若全部实时任务由于某种原因(例如延时或本身是定时任务而暂停运行,后台任务又处于等待状态,而只有优先级最低的IDLE任务,它是永远就绪的,就运行IDLE任务。
对于CNC操作系统,它的任务是一系列定时任务(见后面的数控系统实例,即每个任务的执行是有时间限制的,必须保证在规定时间里执行完所给的任务,以保证机床运动的连续性。
§5.4CNC系统的典型软件结构实例
一概论
CNC系统是一个实时的计算机控制系统,其数控的基本功能是由多种功能子程序(即上面所讲的实时处理程序实现的。
例如译码子程序、刀具半径补偿子程序、插补子程序、伺服控制子程序等。
这是任何一个计算机数控系统所必须具备的。
不同的软件结构中对这些子程序的安排方式不同,管理方式亦不同,在有的CNC系统中整个软件分为前台程序和后台程序。
前台程序是指实时中断程序,实现插补、伺服、机床相关逻辑和监控等功能。
这些功能是和机床的动作直接相关。
后台程序就好象舞台演出重,除了演员在前台表演外,还必须有背景音乐、舞台灯光及舞台监督等配合一样。
这种前后台型的软件结构一般适合单处理机集中控制分时处理。
对处理机性能要求较高。
例如A—B公司的7360系统就是采用这种软件结构。
它所采用的处理机为美国A-B公司的工业处理机。
字长为16位。
该工业处理机兼有普通小型机及PLC的功能,可实现包括机床逻辑在内的全部数控功能。
背景程序是一个循环运行的程序。
实时中断程序每10ms定时发生一次。
如图5-11所示。
程序一启动,经过一段初始化程序后即进入背景循环。
同时开放定时中断,每10ms定时中断发生一次,执行
一次中断服务程序,此时背景程序停止运行。
定时中断程序执行完毕以后又返回背景程序。
以后10ms定时中断又发生,背景程序又停止执行。
如此循环往复,共同完成数控的全部功能。
在有的CNC系统中,所有的各种功能子程序均被安排
成级别不同的中断程序。
整个软件就是一个大的中断
系统。
其管理功能主要通过各级中断程序之间的相互
通讯来解决。
我国引进并重点消化的FANUC7M系统
就是采用这种软件结构。
整个软件分为8级中断。
0
级最低,7级为最高。
0级中断为CRT显示,即没有
其余事情可做的时候,就进行显示。
插补前的准备工
作主要被安排在一级中断,每16ms发生一次。
插补
程序被安排在第4级中断,每8ms发生一次。
伺服控
制程序被安排在第6级中断,每4ms由定时时钟中断一次。
这里需要注意的是,除了第6级中断是由时钟产生以外,其余各级中断的产生均由第六级中断设置,即所谓软件中断。
二背景类中断程序
简化后的7360CNC系统软件框图如图5-12所示,主要的可屏蔽中断有10.24ms实时时钟中断、阅读机中断和键盘中断;其中阅读机中断优先级最高,10.24ms时钟中断次之,键盘中断优先级最低。
阅读机中断仅在输入零件程序时启动了阅读机之后才发生,键盘中断仅在键盘方式下发生,而10.24ms中断是定时发生的。
系统初始化
等待紧停复位
保存现场位置伺服面板扫描PAL程序插补
面板输出
恢复现场
返回保存现场存入字符恢复现场返回保存现场存入字符恢复现场返回增加点动;
连续点动;
回参考点;
设置零点;
阅读机复位
测试方式;
CRT显示MCU总清
方式选择
状态检查
操作命令;MDI段执行;数据输入;CRT显示循环停处理段执行程序;读程序段到缓冲区;译码、处理传送;等待段完成等待循环启动自动
M30到带M02EOR背景程序
键盘自动/单段阅读机中断键盘中断10.24ms中断图5-127360CNC软件总框图
下面我们主要说明10.24ms中断有关的情况。
当7360CNC控制系统接通电源或复位后,首先运行初始化程序,然后,设置系统有关的局部标志和全局性标志;设置机床参数;预清机床逻辑I/O信号在RAM中的映象区;设置中断向量;并开放10.24ms实时时钟中断,最后进入紧停状态。
此时,机床的主轴和坐标轴伺服系统的强电是断开的,程序处于对“紧停复位”的等待循环中。
由于10.24ms时钟中断定时发生,控制面板上的开关状态被随时扫描,并设置了相应的标志,以供主程序使用。
一旦操作者按了“紧停复位”按钮,接通机床强电时,程序下行,背景程序被启动。
首先进
行MCU总清(即清除零件程序缓冲区、键盘MDI缓冲区、插补参数区等,并使系统进入约定的初始控制状态(如G90、G01、G94、M48、M80,接着根据面板上的方式选择,进入相应的服务环中。
各服务环的出口又循环到方式选择例程,一旦10.24ms时钟中断程序扫描到面板上的方式服务中,10.24ms的时钟中断总是定时发生的。
实时时钟中断服务程序是系统的核心,实时控制任务包括位置伺服、面板扫描、机床逻辑、实时诊断和轮廓插补,它们都是在其中实现。
实时时钟中断服务流程如图5-13所示,其过程是:
(1检查前10.24ms中断服务程序是否完成,