发明内容
本发明的目的是提供一种计算机数控系统下位机,实现了计算机数控系统上下位机分离。本发明还要提供该数控系统下位机实现对数控设备控制的方法。
为了达到上述目的,本发明提供的一种计算机数控系统下位机包括:微处理器、存储器、可编程逻辑阵列、编码器接口电路、位置控制部件、输入输出部件及通信接口,所述微处理器通过地址总线和数据总路线与所述输入输出部件、可编程逻辑阵列、位置控制部件、通信接口和存储器连接,其中:
所述微处理器,用于作为中央运算控制部件,完成调度、控制和计算处理功能;
所述存储器,用于存储各种控制程序、零件加工程序和参数;
所述可编程逻辑阵列,用于决定内部控制功能,控制输入输出部件和位置控制部件的地址和数据流向;
所述编码器接口电路,用于接收被控设备电机上的编码器信号,并反馈到所述位置控制部件;
所述位置控制部件,用于生成插补信息并通过所述输入输出部件送到被控设备的伺服系统,驱动伺服或步进电机运转;
所述输入输出部件,用于对被控设备作读写操作;
所述通信接口,用于使用国际标准化组织规定的发送方请求信号、接收方应答信号、接收方忙信号、发送数据完毕信号及接收结束信号,实现上位机(PC)和下位机(NC)之间的直接通信。
本发明提供的数控系统下位机实现对数控设备控制的方法,包括以下步骤:
(a)对微处理器、伺服使能及位置控制部件进行初始化操作,为运算和控制作准备;
(b)循环执行使用国际标准化组织规定的发送方请求信号、接收方应答信号、接收方忙信号、发送数据完毕信号及接收结束信号回应与上位机通信,向上位机上传数据,以及将坐标值、速度值、I/O状态、报警状态以及所述数控设备当前状态传送到人机界面显示的操作,并随时响应中断;
(c)计时到8ms后中断,从规定地址读入输入信号并输出信号到规定地址的输出端口,读取位置控制部件状态,检测急停、伺服报警、限位信号及错误状态并处理;
(d)判断当前的工作方式:
如果是EDIT方式,即编辑方式,由用户进行零件程序代码的编辑工作;
如果是MEM方式,即自动运转方式,自动执行已经装载到下位机的零件程序代码;
如果是MDI方式,即手动数据输入方式,执行用户手动数据输入的程序代码;
如果是DNC方式,即上位机对下位机的直接控制方式,连续接收上位机传送的程序代码,并不间断地执行接收到的程序代码;
如果是JOG方式,即手动连续进给方式,根据选定的坐标轴和进给方向,以参数设定的进给倍率为100%时的进给速度乘以该方式的进给倍率所得的进给速度连续进给;
如果是MPG方式,即手摇盘控制方式,通过手摇盘控制轴的运动;
如果是STEP方式,即单步进给方式,每按一次手动正向进给或手动负向进给,进给一次;
如果是ZRN方式,即返回参考点方式,手动返回参考点;
操作完成后返回步骤(b);
(e)检测到串口中断信号后,使用国际标准化组织(ISO)规定的发送方请求信号(DC1)、接收方应答信号(DC2)、接收方忙信号(DC3)、发送数据完毕信号(DC4)及接收结束信号(DC5)回应与上位机通信,接收上位机传送的参数、译码后的数控程序代码以及对所述数控设备的指令信息,并在操作完成后返回步骤(b)。
本发明数控系统下位机充分设计和构造了下位机的功能,上位机只有键盘、显示和通信,而下位机集成了运算、控制、通信和输出的全部功能,通过一根电缆连接上。而其对数控设备的控制和调度功能用软件实现,在微处理器的ROM以及外扩ROM芯片中集成了八种方式的软件以及通信任务的软件,而在外接的RAM芯片中装载数控加工零件的程序和参数,微处理器按照规定的通信协议,将上位机的指令和数据通过通信接口传送到下位机的RAM和位置控制部件中,主控制的八种方式对应8个控制软件,分别完成下位机的位置控制、参数设置、故障诊断、输入/输出状态控制以及输出报警等功能,直至被控数控机械设备加工出所需的数控零件来。
本发明的效果是:采用软件实现数控主控制的多种方式,使得下位机的结构紧凑,体积小,性能高,采用通信协议实现上下位机通信,使得通信电缆少,上下位机分离,通信距离可以加长,可靠性提高,维护方便。
下面结合附图和实施例对本发明作进一步说明:
具体实施方式
图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产生一次中断,在中断服务子程序中实现数控的主要控制功能,主要包括:从规定的地址读入输入信号(被控设备到下位机的信号),扫描输入端口,刷新输入信号映像区,将输出信号(下位机到被控设备的信号)映象区中的数据送到规定地址的输出端口;读位置控制部件状态,检测急停,伺服报警、限位信号及错误状态,并进行相应的处理;判断当前的操作方式并转入该方式的处理。如果当前操作方式是EDIT方式,则执行EDIT方式子程序,在EDIT方式子程序中,用户进行零件程序的编辑工作;如果当前操作方式是MEM方式,则执行MEM方式子程序,在MEM方式子程序中,自动执行已经装载到下位机的零件程序;如果当前操作方式是MDI方式,则执行MDI方式子程序,在MDI方式子程序中,执行用户手动数据输入的一小段程序,MDI方式下用户输入的程序不予保存;如果当前操作方式是DNC方式,则执行DNC方式子程序,在DNC方式子程序中,上位机连续向下位机传送程序,而下位机则不间断地执行上位机传来的程序;如果当前操作方式是JOG方式,则执行JOG方式子程序,在JOG方式子程序中,根据操作面板上选定的坐标轴和进给方向,以参数设定的进给倍率为100%时的给进速度乘以步进进给倍率所得的进给速度连续进给;如果当前操作方式是MPG方式,则执行的MPG方式子程序,在MPG方式子程序中,通过手摇盘控制轴的运动,每格的进给量可用倍率更改,每摇一格,可选择进给0.001mm、0.01mm、0.1或1mm。即从0xf500读数,并乘手摇倍率后,作为选定轴的进给量;如果当前操作方式是STEP方式,则执行STEP方式子程序,在STEP方式子程序中,每按一次手动正向或负向进给,进给0.001mm、0.01mm、0.1mm或1mm,由手摇倍率决定;如果当前操作方式是ZRN方式,则执行ZRN方式子程序,在ZRN方式子程序中,完成手动返回参考点的功能。
图5所示为串口中断服务子程序,进入中断服务子程序后首先要判断是否接收中断,如果不是,则返回主程序,如果是,则读取接收缓冲区中的数据,接收数据后,判断是否DC1(DC1表示上位机请求发送数据),如果是DC1,则清写数据指针及命令指针,准备接收数据,然后返回主程序。如果不是DC1,则判断是否DC3(DC3表示上位机忙),如果是,则取确认命令为DC3,如果不是DC3,则判断是否DC4(DC4表示上位机发送数据完毕),如果不是DC4,则处理当前接收到的字符后返回主程序,如果是DC4,则根据数据的类型对数据相应处理如下:
接收到程序时,根据操作方式将数据放在RAM的不同存储区:在EDIT方式下程序放在自动程序区,程序中的分号忽略,程序连续存放;DNC方式下程序放在DNC程序区,DNC程序区以分号为界,一条指令占一行;MDI方式下程序放在MDI程序区;
接收到参数时,放在RAM的参数区;
收到命令时,就根据命令的内容进行处理。