一种数控系统下位机的软件实现方法
技术领域
本发明属于计算机数控系统领域,特别是能实现一种计算机数控系统下位机控制软件的方法。
背景技术
目前,一般的计算机数控系统均是采用工业计算机,将键盘、显示、运算、控制和输出固定地连接在一起,组装成一个装置。这些系统体积大,结构复杂,连线多,性能差,进给速度低,维护不方便,不能实现长距离通信。
发明内容
本发明的目的是提供一种数控系统的结构紧凑的下位机的软件实现方法,它充分设计和构造了下位机的功能。上位机只有键盘、显示和通信,而下位机集成了运算、控制、通信和输出的全部功能,通过一根电缆连接上、下位机,实现了计算机数控系统上下位机分离。从而达到这种数控系统体积小、结构简单、连线少、上下位机可以长距离通信的目的。
本发明的技术方案是:一种计算机数控系统下位机软件的实现方法,其特征在于:
1.微处理器作为中央运算控制部件,集成了调度、控制和计算处理功能,微处理器通过地址总线和数据总线与位置控制部件连接,同时也与输入输出(DI/DO)部件及可编程逻辑阵列连接,可编程逻辑阵列决定了内部控制功能,它将控制DI/DO和位置控制部件的地址和数据流向,位置控制部件将插补信息送到被控设备——数控机械设备的伺服系统中,驱动伺服或步进电机运转,电机上的编码器信号,通过编码器接口电路反馈到位置控制部件中,微处理器控制DI/DO部件对被控设备作读写操作。使用ISO代码+DC1~DC5信号实现上位机和下位机之间的直接通信。
2.通过微处理器中的运算和控制程序,实现数控系统下位机的八种功能,具体包括下列步骤:
(1)系统初始化
进行微处理器的初始化,伺服使能及位置控制部件的初始化,为运算和控制作准备。
(2)循环主程序
实现数据上传功能。
(3)8ms中断控制,实现数控系统的8种工作方式的功能,即:
①EDIT:编辑方式功能;
②MEM:自动运转方式功能;
③MDI:手动数据输入功能;
④DNC:上位机对下位机的直接控制功能;
⑤JOG:手动连续进给功能;
⑥MPG:手摇盘控制功能;
⑦STEP:单步进给功能;
⑧ZRN:返回参考点功能。
(4)通信任务
①下位机(NC)——>上位机(PC)
传送坐标值、速度值、I/O状态、报警状态以及被控数控机械当前的状态给人机界面显示。
②上位机(PC)——>下位机(NC)
传送参数、译码后的数控程序以及对数控机械的指令信息。
③通信使用ISO代码+DC1~DC5信号,其中,DC1为发送方请求信号,DC2为接收方应答信号,DC3为接收方忙信号,DC4为发送数据完毕信号,DC5为接到结束信号回应。
本发明的工作原理是:数控系统的控制和调度功能用软件实现,在微处理器的ROM以及外扩ROM芯片中集成了八种方式的软件以及通信任务的软件,而在外接的RAM芯片中装载数控加工零件的程序和参数,微处理器按照规定的通信协议,将上位机的指令和数据通过通信接口传送到下位机的RAM和位置控制部件中,主控制的八种方式对应8个控制软件,分别完成下位机的位置控制、参数设置、故障诊断、DI/DO状态控制以及输出报警信息等功能,直至被控数控机械设备加工出所需的数控零件来。
本发明的效果是:采用软件实现数控主控制的多种方式,使得下位机的结构紧凑,体积小,性能高,采用通信协议实现上下位机通信,使得通信电缆少,上下位机分离,通信距离可以加长,可靠性提高,维护方便。
下面结合附图和实施例对本发明作进一步说明:
附图说明
图1是本发明的硬件框图;
图2是本发明的软件结构图;
图3是本发明的初始化程序流程图;
图4是主控制八种方式的流程图;
图5是串口通信服务程序的流程图。
实施例
图1中,左侧虚线所框的为上位机(PC),右侧虚线所框的为被控设备——数控机械设备(MT),中间实线框内为本发明的硬件连线图,微处理器C通过地址线和数据线与RAM芯片A、扩展ROM芯片O、通信接口B、位置控制部件P、可编程逻辑阵列L、DI/DO接口电路D等进行连接,可编程逻辑阵列L通过其逻辑判别方式连接位置控制部件P和DI/DO接口电路D,位置控制部件P和DI/DO接口电路连到数控机械设备(MT)上,数控机械设备(MT)的编码器反馈信号通过编码器接口G连接到位置控制部件P中,微处理器C和扩展ROM芯片O中集成了数控主控制程序,RAM芯片A中集成了数控加工程序和参数,通过微处理器C的调度和控制功能,实现下位机的全部功能。
图2是系统的软件结构图,首先进行系统的初始化,在初始化后,进入主体程序,在主体程序中完成显示和传送的任务,并且随时响应中断,并执行相应的中断服务子程序,包括执行8ms中断服务程序和串口中断服务程序。
图3所示为初始化子程序流程图,首先关中断,然后将RAM清零、置数,将微处理器的寄存器初始化,包括设置定时器的工作方式(定时器1用来产生8ms中断,定时器2用作波特率发生器)和初始计数值、串口初始化、中断优先级别设置,再进入位置控制部件的初始化,进入错误检测、伺服使能,在这些功能完成后,启动定时器,开中断,至此,完成了初始化的全过程。
图4所示为8ms中断服务子程序,微处理器内部计时器1每计时8ms产生一次中断,在中断服务子程序中实现数控的主要控制功能,主要包括:从规定的地址读入输入信号(MT到NC的信号),扫描输入端口,刷新输入信号映像区,将输出信号(NC到MT的信号)映像区中的数据送到规定地址的输出端口;读位置控制部件状态,检测急停、伺服报警、限位信号及错误状态,并进行相应的处理;判断当前的操作方式并转入该方式的处理。如果当前操作方式是EDIT方式,则执行EDIT方式子程序,在EDIT方式子程序中,用户进行零件程序的编辑工作;如果当前操作方式是MEM方式,则执行MEM方式子程序,在MEM方式子程序中,自动执行已经装载到下位机的零件程序;如果当前操作方式是MDI方式,则执行MDI方式子程序,在MDI方式子程序中,执行用户手动数据输入的一小段程序,MDI方式下用户输入的程序不予保存;如果当前操作方式是DNC方式,则执行DNC方式子程序,在DNC方式子程序中,上位机连续向下位机传送程序,而下位机则不间断地执行上位机传来的程序;如果当前操作方式是JOG方式,则执行JOG方式子程序,在JOG方式子程序中,根据操作面板上选定的坐标轴和进给方向,以参数设定的进给倍率为100%时的进给速度×JOG进给倍率所得的进给速度连续进给;如果当前操作方式是MPG方式,则执行MPG方式子程序,在MPG方式子程序中,通过手摇盘控制轴的运动,每格的进给量可用倍率更改,每摇一格,可选择进给0.001mm、0.01mm、0.1mm或1mm。即从0xf500读数,并乘手摇倍率后,作为选定轴的进给量;如果当前操作方式是STEP方式,则执行STEP方式子程序,在STEP方式子程序中,每按一次JOG+或JOG-,进给0.001mm、0.01mm、0.1mm或1mm,由手摇倍率决定;如果当前操作方式是ZRN方式,则执行ZRN方式子程序,在ZRN方式子程序中,完成手动返回参考点的功能。
图5所示为串口中断服务子程序,进入中断服务子程序后首先要判断是否接收中断,如果不是,则返回主程序,如果是,则读取接收缓冲区中的数据,接收数据后,判断是否DC1(DC1表示上位机请求发送数据),如果是DC1,则清写数据指针w_in及com_in,准备接收数据,然后返回主程序。如果不是DC1,则判断是否DC3(DC3表示上位机忙),如果是,则取确认命令为DC3,如果不是DC3,则判断是否DC4(DC4表示上位机发送数据完毕),如果不是DC4,则处理当前接收到字符后返回主程序,如果是DC4,则根据数据的类型将数据存放在不同的RAM区或作相应的处理。接收到程序时根据操作方式放在不同的RAM区,EDIT方式下程序放在自动程序区,程序中的分号忽略,程序连续存放,DNC方式下程序放在DNC程序区,DNC程序区以分号为界,一条指令占一行,MDI方式下程序放在MDI程序区。收到参数放在RAM的参数区,收到命令就根据命令的内容进行处理。