1 控制方案的选择
随着数控技术的发展,已经有多达20多轴联动的数控机床,若将其用于三面打孔,则编程相当复杂,技术水平和成本要求很高,这对中小型企业和乡镇企业来讲是不现实的。本着实用、可靠和方便的原则,笔者在对工字梁三面打孔的实际加工过程中,提出了运用DNS控制系统来代替多轴联动数控机床的控制方案,并开发了一套DNS数控网络系统。三面钻孔机DNS控制系统就是用上位机来控制三台下位机的数控装置(控制机),每台装置完成一面钻孔任务。本方案中,上位机采用价格较低的SU386微机,下挂三台Z80系列控制机,DNS控制系统的结构如图所示。 (图片)
附图 三面打孔机DNS数控系统硬件配置图 2 DNC系统的网络通讯
网络通讯是本系统的技术关键与难点。本系统的拓扑结构采用两级主从总线型网络结构,采用平衡型标准RS-422接口,以提高数据传输的可靠性。系统采用异步串行通讯方式。系统有如下约定:
①数据的传输采用正反码校验;
②命令字和状态字在发送时,必须先发送两个BREAK,然后发送命令字或状态字,再发送其反码;
③文件传输时,32个字节(正反码)组成一个信息包。
通讯信息及地址的编码 系统中RS-422总线的一点对多点的通讯是将所有下位机的接收端并联在总线上,接至上位机的发送端,而将所有下位机的发送端并联在总线上,接至上位机的接收端。因此,选择下位机和分辨下位机,确定通讯路径是完成通讯的第一步。
系统采用一个字节来传递命令信息加地址信息或状态信息加地址信息,分别称为命令字、状态字。从上位机向下位机传送的为命令字,从下位机向上位机传送的为状态字。字节中的地址信息占用字节的低四位,编码为1~3。命令信息或状态信息占用字节的高四位,地址信息、命令信息、状态信息都是独立的和唯一的。
例如,急停命令信息编码040,若上位机想控制地址编码为1的正在加工的机床急停,则发送命令字应为041,该机床就会执行相应的动作,其他机床不予理会。又例如,若上位机接收到一个为02的状态字,由于编辑状态信息编码为000,故可相应判别出此状态字的地址编码为2的机床编辑状态信息。
命令字和状态字的通讯约定 在系统通讯中,通讯的内容除了有命令和状态,还有文件的传输,而文件中的字符是随机的,很可能会被某台机床误认为是对本机床的命令字而发生误动作:另外,由于电磁干扰和网络冲突的存在,接到的字符也可能并不是发送的字符,因此,为保证通讯的可靠性和正确性,我们应该在通讯设计中采取某些通讯约定。
系统采用了特殊字符中双字符启动和正反码校验技术来实现上述目的。正反码校验技术是指在发送完字符的正码后,接着发送其反码,这样接收方就可根据前后两字符是否互为反码来判断接收是否正确。正反码校验技术对每一字符的每一位都进行校验,比传统的奇偶校验及累加校验要可靠得多。特殊启动字符BREAK规定为0X80,低四位字节为零,由于下位机的地址编码为1~3,故命令字与状态字都不会出现与BREAK相同的字符:文件传输中也采用正反码校验技术,因此文件传输中也不会出现连续的两个BREAK字符,这样就保证了正确启动,不会引起误动作。
系统中约定不论是上位机发送命令,还是下位机发送状态,都必须先发送两个连续的BREAK,然后发送命令字和状态字,再接着发送其反码,这样连续几个字符称为一帧。
在这样的通讯约定下,对于下位机来说,只有在它接收到符合约定的命令帧后,才判断是否接收到正确的命令字,进而判断是否对本机的命令,如果是,则返回正确的响应,否则不予理睬。上位机在接收到下位机的正确响应后,就了解到下位机已经正确接收了:若上位机在规定的时间内(至少为帧往返总线一周所用时间)接收不到正确响应,则上位机会重发三次来纠错。对于上位机来说也是如此,只有在它接收到符合约定的状态帧后,才认为接收到了正确的状态字。
3 DNC控制系统所实现的功能模块
程序处理模块程序处理模块的功能是实现零件程序的管理,包括零件程序的编辑和翻译两项操作。
①零件程序的编辑 零件程序编辑子程序可以有效且实用地进行零件程序的建立、输入和修改的功能,并具有调入文件、存储文件、查找字符串、替换字符串等多种功能。
②零件程序的翻译 在上位机经过编辑的零件加工程序为ISO标准的/代码文件,在文件下传前需先执行翻译程序,将文件翻译成下位机所能识别的控制代码文件。
文件传输模块 文件传输模块的功能较多,主要有:
①上位机翻译后文件的传输 编辑后的文件经过翻译生成下位机所能识别的代码,需要下传到下位机进行翻译预处理,本模块可以根据输入的不同机床号将程序下传到三个下位机中的任何一个。
②文件的上传 下位机编辑查错后生成的插补数据矩阵和可执行程序上传后分别定义为数据文件和命令文件。
③可执行文件的下传 暂存在上位机中的可执行文件和插补数据矩阵在系统进行加工前需根据文件名下传到相应的下位机。
自动运行模块 当使用本系统进行零件加工时,将上传后的可执行程序传到相应的下位机,在预定的地址存放,自动加工之前,我们按预定的加工要求编辑一个文件(称为总成文件),自动加工启动后,系统以程序段为单位编译总成文件,向下位机发出相应的命令,控制三台下位机数控机床的加工。
手动运行模块 手动运行模块的功能是实现下位机坐标轴的点动,操作者可以选择每次操作坐标轴所移动的增量,不同的增量之间可以进行切换。
笔者采用Borland C++3.1 for DOS语言与Z80汇编语言编写了各个功能模块。
4 结论
该控制系统工作稳定、可靠,能够达到与多轴联动数控机床相似的功能。目前该系统已经应用于浙江华能数控研究所的三面打孔机系统中,并在邯郸冶金机械备件厂中得到推广。
2/27/2009
|