对经济型数控机床实行USB接口改造的实践探索
(1) (2)
式(2)表明了DNC通信系统连接相同数控加工设备而又不发生通信竞争的最大数量:v、c越大,p、t越小,则m越大。如果DNC通信系统联网的数控加工设备台数不满足式(2),则该系统一定会出现通信竞争,这时只能通过降低所有或部分数控加工设备的进给速度等手段以减小加工程序的消耗率p,或者采用较高的传输速率,即提高v,所以采用具有较高传输速率的USB总线及接口可以解决DNC通信系统中的通信竞争问题。
二、技术分析
USB接口相对于RS232接口的优势在于:
(1)USB总线提供了3种不同的数据传输速率:1.5Mb/s的低速数据传输、12Mb/s的全速数据传输、480Mb/s的高速数据传输(USB2.0支持),而RS232的速率最高只有20kb/s,USB在加工曲率变化很大的曲面的时,高速数据传输具有明显的优势。
(2)USB理论上可支持多达127个外设,相对于RS232的点对点连接,采用USB接口的系统有可能实现一台PC控制多台NC,从而可大大提高效率、降低成本、便于控制,更有利于实现协同制造。
(3)USB的有效连接距离是5m,可以通过集线器扩展连接,最多可以扩展到5级,达到30m的距离,而RS232在数据传输时最大距离仅为15m。Icron公司开发了Exterme USB技术,更是可以将USB设备扩展到距离为500~2000m处。
(4)USB的另一个显著特点是支持热拔插,这种特性非常适用于生产布局调整频繁的环境。试想,当需要增减NC或者NC出现故障需要停机维修时,可以直接将设备接入系统,一定可使生产调整时间大大降低。
(5)USB还具有低价位、易使用、传输数据有较好的容错性等特点。
从以上分析不难看出,数控系统采用USB接口是具有很多便利的,相对于RS232接口是一种技术提高。我们更进一步地提出一种便捷的中小型加工制造网络的模式,如图2所示。
图2 采用USB接口后的网络拓扑结构
将经济型数控系统上的RS232接口改造成USB接口,需要从软、硬件两个方面进行。
1. 硬件改造
在PC端,一般时下主流机型都支持USB接口,部分高档PC甚至支持USB2.0。对于不支持USB的PC也可以采用主板插入USB扩展卡的办法解决。关键改造在于DNC接口板。一种方法是采用USB/RS232的转换器,其结构如图3所示。
图3 USB/RS232的转换器结构图 USB/RS232转换器一般由USB接口模块、UART接口模块、数据缓冲区和协议控制单元组成。USB接口模块主要提供与USB总线的连接,它实现一般USB设备的所有功能,与PC上的USB口相连;UART接口则实现标准RS232接口的所有功能,与DNC接口板的RS232接口相连;协议控制单元通过接受USB接口的命令,对UART接口进行配置(配置通信波特率、数据位、校验位、起始/停止位、流控信号等)。数据缓冲区用来临时保存双方的数据传输工程中的数据。
另一种改造方法是直接改造DNC接口板,增加USB模块。图4是改造后的硬件结构。
图4 改造后的DNC接口板结构其中,SIE是串行接口引擎,是USB接口的核心模块。如果CPU包含了USB接口,则CPU直接与负责实现USB协议要求主要功能的SIE核心模块连接,否则,CPU则需通过串行总线,如I2C或数据地址线I/O口与SIE相连。
两种硬件改造在USB接口实现上有本质的区别:前者USB/RS232转换器所用的USB芯片属于USB接口芯片,从硬件结构上来说仅包含USB的串行接口引擎(SIE)、FIFO内存、收发器以及电压调整器等芯片;后者则属于内含USB单元的微处理器(MPU),即芯片包含了增强版的8051核心,可以通过I/O与原有CPU相连,甚至可以直接去驱动步进电机,完成数控任务。
3. 软件设计
(1)USB/RS232
这种结构可以直接使用,不需要另外编制驱动程序。
(2)对直接改造DNC接口板的,要采用EZ-USB的固件开发
可以使用Cypress USB仿真器软件——Cypress Lab中的Keil C Complier工具。该应用程序是由Cypress半导体公司为配合USB芯片组的开发所研制出来的。通过编制相应程序,可将编译后的文件直接烧录至EEPROM中,从而完成USB的固件设计。也可以采用CYASM汇编语言,这是一种只有38个精简指令的编译器程序,同样将编译好的16进制格式文件(.hex)烧录至EEPROM中使用。其主要功能是控制EZ-USB芯片接受并处理USB驱动程序的请求(请求设备描述符、请求或设置设备状态、请求设备设置、请求或设置设备接口等共11种USBl.1标准请求);控制EZ-USB芯片接受应用程序的控制指令;控制A/D模块的数据采集;通过EZ-USB存储数据并实时上传PC机。
(3)在Windows系统下编制USB驱动程序
USB总线是支持热插拔的,当Windows检测到一个新的USB外设时,必须做的一件事情是找出应该使用哪个设备驱动应用软件来与设备通信,然后再载入选定的驱动。这是Windows设备管理器的工作,设备管理器使用类、设备安装器和INF文件来找到这个匹配。当Windows列举新的USB设备时,设备管理器把所有INF文件中的数据(设备供应商和产品的ID,也称作VID和HD,以及制造商、供应商名字和描述符等)与在列举时从设备获得的描述符中的信息做比较。找到匹配之后,Windows系统注册表将保存所有已安装设备的信息。在位置HKEY_L0CAL_ MACHINE\Enum\ USB处,将列出所有的USB设备。
由于在Windows 98中提供了USBD(USB系统驱动程序),且USBD又给用户提供了直接支持的USB DI,用户在编写USB驱动程序时,只需配置满足USB要求的URB(USB请求块),并通过USB DI发送下去,即可实现对USB设备的控制。设备驱动是保证应用程序访问硬件设备的软件组件,一个设备驱动使得应用程序不必知道物理连接、信号和与一个设备通信需要的协议等的细节。应用程序可以使用一套操作系统支持的函数与设备驱动进行通信。用于读写USB设备的API函数是Creat Ne、Device Io Control或Read File和Write File。
把所有与设备有关的驱动操作编译为DLL,提供给应用程序使用。应用程序无需知道操作设备的细节,只需知道DLL的接口函数即可。下面给出对USB设备基本操作函数的例子。
CreateFile(TEXT("\\\\.\\Ez-USB"),GENERIC_READ,FILE_SHARE_ READ|FIlE_SHARE_WRITE,NULL,OPEN_EXISTING, FILE_FLAG_OVERLAPPED,NULL)
第1个参数是需打开的设备名;第2和第3个参数分别为授权读写和共享模式;第4个参数为安全属性,一般为NULL;第5个参数为打开方式(对USB设备来说应该是打开已存在的);第6个参数是异步交替模式;第7个参数为模板文件,这里并不需要。函数返回值为设备指针。
Device Io Control(hUSB, (DWORD)wFuncNum, (PVOID)pParam, (DWORD) dwSize,NULL,0,Returned,NULL)
hUSB为通过CreatFile所获得的设备指针;wFunHum为设备操作代码,具体可查阅CYPRESS公司或USBD提供的标准代码;pParam为执行操作的请求数据缓冲区指针;dwSize为数据缓冲区大小,紧跟其后的两个参数分别为操作的输出数据接收缓冲区指针和大小,一般为NULL和0即可;Returned为操作返回指针;最后一个参数为异步操作,为NULL即可。
使用前先定义好请求数据缓冲区,获得设备指针后即可用相应的操作代码对USB设备进行操作了。
以上的设备驱动程序和上层应用软件已在VC6.0下调试通过。
四、总结
通过上述的软\硬件改造,使经济型数控与PC之间具备了一个新的接口——USB接口。这种改造有助于提高经济数控系统与PC相配置的灵活性和多样性,甚至我们可以用1台PC来控制一条小型流水线上的所有NC。这不仅大大减少了安装、配置时间,降低了故障率,减少了操作工人数量,更可以与相关软件配合,实现并行制造,使NC的利用率达到最大,并使经济型数控系统扩展了网络功能,可以通过PC连入Internet/Intranet,实现网络化制造。
- NC MONITOR的数控机床监控网络的建网方法(12-21)
- 机器人与机床集成应用的现状与问题(12-20)
- 基于以太网的数控机床控制系统核心深入(12-20)
- 数控机床总线故障的诊断及处理(12-20)
- CAN总线实现数控机床的网络化(12-20)
- 变频器在数控机床主轴上的应用(12-14)