2.FANUC6系统的硬件
6系统使用高速微处理器8086作为CPU,主时钟频率为5MHz,其硬件结构如图3-59所示。系统中有28K RAM,用来存储中间结果和数据。全部零件加工程序和系统的工作参数存放在磁泡存储器中,磁泡存储器最多可存储320m长的控制带。磁泡存储器和RAM之间的数据交换采用DMA方式,6系统使用一块专用集成电路MB14231作为DMA控制器。为了提高系统的可靠性,28K RAM读写时要进行奇偶检验,相应地有一套奇偶检验电路。系统有208K EPROM,用来存放控制软件。6系统使用了非屏蔽中断和8级可屏蔽中断,8级可屏蔽中断用中断控制器8259进行管理。8259对多级中断进行优先级排队,并产生中断矢量。6系统使用了一个定时器8253。8253有3个通道,分别产生2ms的时钟、8ms的时钟和利用RS-232C口进行串行通信的时钟,因为CNC系统有许多操作,须要读取指定单元的某一位或者修改指定单元的某一位时,不致影响该单元的其他位,这类位操作如果用程序实现的话,要占用CPU较多的时间,而且速度也比较慢,为了提高位操作的速度,法拉克公司开发了专用的位操作芯片MB14233。 3.FANUC6系统的控制软件与大多数CNC系统的工作流程相同,6系统也经历输入零件程序、译码、数据处理、进给速度控制、插补运算、伺服输出等工作阶段。为了提高刀具运动的线速度,节省CPU的时间,6系统也采用粗插补与精插补结合的方法,粗插补由软件完成,周期为8ms,硬件完成精插补。
和7系统相类似,6系统也是一个大的多重中断系统,共有10级中断优先级,其中0级为最低优先级,9级为最高优先级,除了2级、3级为软件中断外,其余为硬件中断。各级的功能如表3-8所示。由表3-8可见,0级为初始化程序,此时还没有开中断,还没有中断时钟产生,当0级结束时进入1级,同时开中断。1级是主程序,只要没有其他中断优先级的请求,就总是执行1级程序,即总是执行CRT显示和ROM校验。中断优先级示意图如图3-61所示。其中,1级为主程序,2~9级为中断服务程序。
normal style="TEXT-INDENT: 152.25pt; LINE-HEIGHT: 150%">表3-8 中断优先级功能表
normal style="TEXT-INDENT: 10pt; LINE-HEIGHT: 150%">优先级
normal style="TEXT-INDENT: 10pt; LINE-HEIGHT: 150%">主 要 功 能
normal style="TEXT-INDENT: 10pt; LINE-HEIGHT: 150%">中 断 源
normal style="TEXT-INDENT: 10pt; LINE-HEIGHT: 150%">0
normal style="TEXT-INDENT: 10pt; LINE-HEIGHT: 150%">初始化
normal style="TEXT-INDENT: 10pt; LINE-HEIGHT: 150%">开机后进入
normal style="TEXT-INDENT: 10pt; LINE-HEIGHT: 150%">1
normal style="TEXT-INDENT: 10pt; LINE-HEIGHT: 150%">CRT显示,ROM校验,图形显示
normal style="TEXT-INDENT: 10pt; LINE-HEIGHT: 150%">主程序
normal style="TEXT-INDENT: 10pt; LINE-HEIGHT: 150%">2
normal style="TEXT-INDENT: 10pt; LINE-HEIGHT: 150%">数控程序段译码,刀具补偿计算及进给速度控制
normal style="TEXT-INDENT: 10pt; LINE-HEIGHT: 150%">16ms
normal style="TEXT-INDENT: 10pt; LINE-HEIGHT: 150%">3
normal style="TEXT-INDENT: 10pt; LINE-HEIGHT: 150%">数控键盘输入,输入输出信号处理
normal style="TEXT-INDENT: 10pt; LINE-HEIGHT: 150%">16ms
normal style="TEXT-INDENT: 10pt; LINE-HEIGHT: 150%">4
normal style="TEXT-INDENT: 10pt; LINE-HEIGHT: 150%">磁泡存储器传送数据结束处理
normal style="TEXT-INDENT: 10pt; LINE-HEIGHT: 150%">硬件
normal style="TEXT-INDENT: 10pt; LINE-HEIGHT: 150%">5
normal style="TEXT-INDENT: 10pt; LINE-HEIGHT: 150%">插补运算
normal style="TEXT-INDENT: 10pt; LINE-HEIGHT: 150%">8ms
normal style="TEXT-INDENT: 10pt; LINE-HEIGHT: 150%">6
normal style="TEXT-INDENT: 10pt; LINE-HEIGHT: 150%">定时中断,为2,3级中断定时
normal style="TEXT-INDENT: 10pt; LINE-HEIGHT: 150%">2ms
normal style="TEXT-INDENT: 10pt; LINE-HEIGHT: 150%">7
normal style="TEXT-INDENT: 10pt; LINE-HEIGHT: 150%">RS-232C串行通信管理
normal style="TEXT-INDENT: 10pt; LINE-HEIGHT: 150%">硬件
normal style="TEXT-INDENT: 10pt; LINE-HEIGHT: 150%">8
normal style="TEXT-INDENT: 10pt; LINE-HEIGHT: 150%">纸带阅读(并行输入)
normal style="TEXT-INDENT: 10pt; LINE-HEIGHT: 150%">硬件
normal style="TEXT-INDENT: 10pt; LINE-HEIGHT: 150%">9
normal style="TEXT-INDENT: 10pt; LINE-HEIGHT: 150%">串行I/O传送报警处理
normal style="TEXT-INDENT: 10pt; LINE-HEIGHT: 150%">硬件
下面对各优先级中断服务程序分别作以介绍。
(1)0级程序——初始化程序。初始化程序的作用是为整个系统的正常工作做准备。
(2)1级程序。1级程序是主程序,当没有优先级中断时,程序始终在1级运行。
(3)2级中断服务程序。2级中断服务程序的主要工作是为插补准备好数据和状态,
(4)3级中断服务程序。对数控操作命令进行处理,包括选择CNC工作方式、选择显示形式等。
(5)4级中断服务程序。当磁泡寄存器与RAM缓冲器之间通过DMA方式传送给数据结束时,调用该子程序作结束处理。
(6)5级中断服务程序。5级中断主要工作是完成插补运算。
(7)6级中断服务程序。6级中断为硬件定时中断,每2ms产生一次中断请求。该级的主要工作是产生2级、3级的16ms软中断定时。
(8)7级中断服务程序。
(9)8级中断服务程序。该程序的主要工作是将零件程序由带卷盘的纸带阅读机送入到字符缓冲器中,如图3-64所示。