|
对经济型数控机床实行USB接口改造的实践探索
6 L" e# j3 @" q8 u& } 作者:南京理工大学机械工程学院 王程民 季春明' a% M3 a; M2 v d' r' }
?% S8 ]4 J( L$ l, J0 E5 w" T 针对数控加工中复杂曲面的大数据量传输速度慢,造成通信竞争的缺陷,本文提出了在数控系统中的上位计算机与数控机床之间采用一种新的接口——USB接口来改造经济型数控机床的思想,并对相应的软硬件的改进进行了论证。文中指出了数控机床实现USB接口的方法,并给出了在Windows系统下的USB驱动程序。由于采用USB接口后数据的传输显著加快了,同时提高了经济型数控与PC相配置的灵活性和多样性,从而为经济型数控机床拓展了网络功能,解决了网络化制造中因传输速率慢而导致的数据通信竞争的问题。 - Y) z, g& y2 d% p" |8 U& x5 s
一、问题的提出
% l3 _9 c5 c1 d2 C* d9 B: L 随着网络时代的到来,机械制造行业也面临着如何适应网络化制造的问题。于是将计算机技术、网络技术和传统的控制技术相结合,以采用PC为主控制器的数控系统正日益成为机械制造领域的热点。PC化数控可以分为三种类型,下面我们分别予以介绍。 $ d$ f# ^2 \+ U! b |. i& U- i' y
1. NC板插入型
. F- g$ w, s/ o8 {% |& H 这种数控系统是指将数控的核心功能板卡化,并将其插入PC的扩展槽中。PC负责实现用户接口、文件管理以及通信等功能,NC板则负责机床的运动控制和开关量控制。
* h6 R, Y! `. I8 b 2. 软件CNC型
" y: N4 x1 ~7 |& N6 j) n% a 软件CNC可以理解为用PC的概念和手段实现CNC的功能。这种CNC装置的主体是PC机,充分利用了PC的不断提高的计算速度、不断扩大的存储量和性能不断优化的操作系统,实现机床控制中的运动轨迹控制和开关量逻辑控制。目前这一方案还有许多问题尚待解决,还停留在实验室研究阶段。+ e1 Q( y. R) Z! ^1 Z7 [# d
3. 将PC板嵌入CNC中
% I% S: h3 c8 T6 @6 N! d3 u 这是目前广泛采用的数控系统。通过CNC上的前端接口与PC相连,这虽燃是一种折中的方案,但可以继承原有的成熟的CNC技术,同时又得到了PC的柔性与开放性。" j6 \9 R8 k' G: d: I7 D$ X
本文所讨论的USB接口技术正是基于这种数控系统。这种连接数控设备与上位控制计算机的基本方法称为DNC技术,是构成网络化制造的最基本的一项应用技术。我国早期的经济数控系统大多由单板机改装而成,需外接一个DNC接口板才能实现基本的DNC(下传NC程序)功能,如图1所示。
/ L' n, \- a0 F& {% K6 ]) Y1 x 图1 经济型数控系统的基本通信接口3 @* T! N7 }( o7 h9 v) ]0 Y
计算机与数控加工设备的通信方式取决于数控系统的通信接口和通信协议。数控系统提供的通信接口和通信协议有以下几种:
' \1 A9 B2 h" F% g, ~3 @ 1. 录音接口,该接口为日本产老式经济型数控系统的通信接口。 \3 P" `8 N/ \! l) |# W `
2. 纸带阅读机输入接口和纸带穿孔机输出接口。早期引进的数控系统通常具备该接口,如FANUC
5 [" Y) F' n B j 7M系统。新开发的数控系统己基本淘汰了此接口,但我国企业中还有—定数量包含此接口的数控加工设备。 ! i7 D" q8 \( @- ~' q; q2 n
3. 2 K5 a7 K% W0 m: w) |
异步串行通信接口,如RS232、R5422、R485等。这是应用最普遍的一种通信接口,新开发的数控系统几乎都包含此类接口,它采用XON/XOFF、3964R、简化3964等通信协议。 & {" ?+ s# \) J( `) p# l3 O
4. 接口,如FANUC
- {& S7 y1 \6 B. A6 ] DNC2接口,这种接口可实现远距离通信,具有出错反馈与在线实时修改功能,便于远程管理,但由于其结构复杂,通信软件开发难度大,价格高,因此我国很少引进。
3 U3 v' T; p2 w 5. / l9 x& F$ S. l' }/ f8 X8 x
网络通信接口,主要有MAP接口、以太网接口和现场总线接口等,这类接口通信速率高、可靠性高,新开发的开放式数控系统大多具有以太网接口选件、但我国引进的数控系统中很少配备网络通信接口。 , f6 l8 J3 s( D- K3 y1 p4 e: I
6.
, j5 K4 ~7 [( [" x 网采用MAP2.1和MAP3.O制造自动化协议,是目前应用较广泛的工业网,它将宽带技术、总线技术和无源工作站融为一体,从而保证信息无错传输。但当要求MAP实现与加工同步传输NC程序时,它很难达到实时性要求,这是由于MAP采用完整的七层协议,网络存取费用高、传输效率低、实时性差,因此不适宜于数控加工设备的联网。$ Z: X" }* N1 \% ]6 X) ]! b
由上分析可知,异步串行通信接口RS232是最常用的数控系统通信接口,几乎所有的数控系统都包含此接口。同样,图1中的DNC接口板也是采用的RS232接口的。在计算机技术日新月异的今天,RS232接口在计算机应用领域正在被一种新的USB接口所代替,从键盘、鼠标到打印机、扫描仪,众多基于USB的外设取代了昔日采用RS232接口的设备,那么在数控系统中,是否也可以采用这样的一个新的USB接口技术呢?
4 e3 @9 R- z! d3 B4 t& m+ U- @. j" Y, w DNC通信系统中,当多台数控加工设备同时加工某复杂零件时,由于NC程序庞大,数控系统的内存无法存放整个NC程序,只能采取DNC传输方式加工,这就有可能出现数控加工设备因暂时缺乏NC程序而加工停顿的现象,这种现象称为“通信竞争”。通信竞争在实际生产中往往会产生严重的后果,例如,汽车覆盖件冲压模具横加工的中途停顿会造成覆盖件局部“聚光”现象,从而直接影响冲压零件质量。引起通信竞争的因素大致如下: , C9 c1 ]( R! C* @
1. 参与联网的数控加工设备的数量m,数量越多,引起通信竞争的可能性越大。 , ^( \8 c+ S1 w3 m, o, w
2. 现场总线传输速率、传输效率C和节点切换服务时间t。传输效率是指传输有效字节数占总传输字节的比例。 " O& K, N" Q/ O. `) E& F
3. # f, ]. [* q- Z J& H
各数控加工设备的通信传播速率vi和传输效率ei(i=1~m)。vi通常为9600b/s,但复杂型面型腔精加工则要求认达到19200b/s以上。 2 b: Q8 H1 W2 S5 F7 ^
4. 数控系统程序消耗率pi,即数控系统每秒执行程序的位(bit)数。pi波动较大,但每个系统都有一个较确定的最大pi值; 4 S1 i) F: k; q% g" Z% M
5. 数控系统通信数据缓冲区BUFFER的大小Qi。 ( F- o+ [% _" s
6. 各DNC通信前端单元数据缓冲区BUFFER的大小Si。
2 e3 Z9 r) Q2 u* a$ u0 X* i Si是需要优化的量,通过建立数学模型,可以得到: / j/ Y' h; p1 i4 x) }5 w; P- D: q
1. 2. 8 g1 I* E! t* r% S! y
由式(1)可知,DNC通信前端单元数据缓冲区S的上限与Q、v、c、p相关:Q、v、c越大,P越小,则S上限越大。S的下限还与m、t相关:m、t越小,则S的下限越小。
* p, {1 e! B2 a. X r% H 式(2)表明了DNC通信系统连接相同数控加工设备而又不发生通信竞争的最大数量:v、c越大,p、t越小,则m越大。如果DNC通信系统联网的数控加工设备台数不满足式(2),则该系统一定会出现通信竞争,这时只能通过降低所有或部分数控加工设备的进给速度等手段以减小加工程序的消耗率p,或者采用较高的传输速率,即提高v,所以采用具有较高传输速率的USB总线及接口可以解决DNC通信系统中的通信竞争问题。
' b$ B' c9 g! l; M 二、技术分析4 [0 @! u* {8 m" L, c b/ Z
USB接口相对于RS232接口的优势在于: : ~! {8 J! [: Z" {0 O
1. ' F. k/ r; b/ ]! y/ k+ J1 J( I- ^
USB总线提供了3种不同的数据传输速率:1.5Mb/s的低速数据传输、12Mb/s的全速数据传输、480Mb/s的高速数据传输(USB2.0支持),而RS232的速率最高只有20kb/s,USB在加工曲率变化很大的曲面的时,高速数据传输具有明显的优势。 ; v1 t A! I2 H: Z) g
2.
( k2 I! _% Y: m* V: l! o B; G USB理论上可支持多达127个外设,相对于RS232的点对点连接,采用USB接口的系统有可能实现一台PC控制多台NC,从而可大大提高效率、降低成本、便于控制,更有利于实现协同制造。
9 T$ j$ f4 }* K9 y 3. * X7 w0 Y, d% J. k
USB的有效连接距离是5m,可以通过集线器扩展连接,最多可以扩展到5级,达到30m的距离,而RS232在数据传输时最大距离仅为15m。Icron公司开发了Exterme
. N6 h" v. t+ x: X% @- S% a5 v USB技术,更是可以将USB设备扩展到距离为500~2000m处。 6 x+ i/ E) S; X9 d3 A e. e1 M
4.
) X6 [. ~3 t0 {4 z- c USB的另一个显著特点是支持热拔插,这种特性非常适用于生产布局调整频繁的环境。试想,当需要增减NC或者NC出现故障需要停机维修时,可以直接将设备接入系统,一定可使生产调整时间大大降低。 ' t& S+ ^' \5 ^& B% r- e; N
5. USB还具有低价位、易使用、传输数据有较好的容错性等特点。9 P* z' z2 C% U, J. G6 F4 o
( n! L' T4 G) x/ S+ M: P 图2 采用USB接口后的网络拓扑结构
. `$ P1 S7 ^/ q' m& g2 G) f 从以上分析不难看出,数控系统采用USB接口是具有很多便利的,相对于RS232接口是一种技术提高。我们更进一步地提出一种便捷的中小型加工制造网络的模式,如图2所示。 ) T( n, A- B& ?9 i; P* [% _
三、技术改造方法
/ |+ M" `3 ]$ v! J 将经济型数控系统上的RS232接口改造成USB接口,需要从软、硬件两个方面进行。
" l; ?" V/ i! Y) w0 `; o 图3 USB/RS232的转换器结构图 % s' m1 ^* k5 O+ n: ~- v6 b( A
图4 改造后的DNC接口板结构' i5 k F9 ?4 ^; f! x
1. 硬件改造 ( e* ]* V* S. ?7 `- x+ x+ W! w
在PC端,一般时下主流机型都支持USB接口,部分高档PC甚至支持USB2.0。对于不支持USB的PC也可以采用主板插入USB扩展卡的办法解决。关键改造在于DNC接口板。一种方法是采用USB/RS232的转换器,其结构如图3所示。
7 ?+ }# s* b% p, t3 }4 z USB/RS232转换器一般由USB接口模块、UART接口模块、数据缓冲区和协议控制单元组成。USB接口模块主要提供与USB总线的连接,它实现一般USB设备的所有功能,与PC上的USB口相连;UART接口则实现标准RS232接口的所有功能,与DNC接口板的RS232接口相连;协议控制单元通过接受USB接口的命令,对UART接口进行配置(配置通信波特率、数据位、校验位、起始/停止位、流控信号等)。数据缓冲区用来临时保存双方的数据传输工程中的数据。
5 p' G! [ L/ q! X% d 另一种改造方法是直接改造DNC接口板,增加USB模块。图4是改造后的硬件结构。 K+ Y3 a3 B$ o
其中,SIE是串行接口引擎,是USB接口的核心模块。如果CPU包含了USB接口,则CPU直接与负责实现USB协议要求主要功能的SIE核心模块连接,否则,CPU则需通过串行总线,如I2C或数据地址线I/O口与SIE相连。 $ R' ^) `/ D' x7 ^
两种硬件改造在USB接口实现上有本质的区别:前者USB/RS232转换器所用的USB芯片属于USB接口芯片,从硬件结构上来说仅包含USB的串行接口引擎(SIE)、FIFO内存、收发器以及电压调整器等芯片;后者则属于内含USB单元的微处理器(MPU),即芯片包含了增强版的8051核心,可以通过I/O与原有CPU相连,甚至可以直接去驱动步进电机,完成数控任务。4 {+ T2 m- K! B7 I/ D' H( \
2. 软件设计
$ p, B7 G- a& c3 [ 1. USB/RS232 ! @6 ?8 z' m* V
这种结构可以直接使用,不需要另外编制驱动程序。
+ V" {% i: [' g# B3 g 2. 对直接改造DNC接口板的,要采用EZ-USB的固件开发
- O1 b- R! E5 T6 K' ?4 J( X 可以使用Cypress USB仿真器软件——Cypress Lab中的Keil C
! O( m) L. \8 O Complier工具。该应用程序是由Cypress半导体公司为配合USB芯片组的开发所研制出来的。通过编制相应程序,可将编译后的文件直接烧录至EEPROM中,从而完成USB的固件设计。也可以采用CYASM汇编语言,这是一种只有38个精简指令的编译器程序,同样将编译好的16进制格式文件(.hex)烧录至EEPROM中使用。其主要功能是控制EZ-USB芯片接受并处理USB驱动程序的请求(请求设备描述符、请求或设置设备状态、请求设备设置、请求或设置设备接口等共11种USBl.1标准请求);控制EZ-USB芯片接受应用程序的控制指令;控制A/D模块的数据采集;通过EZ-USB存储数据并实时上传PC机。
% Q9 c( [: b2 i2 N6 ~ 3. 在Windows系统下编制USB驱动程序
& O- t9 f9 U' x" }% @, R# r USB总线是支持热插拔的,当Windows检测到一个新的USB外设时,必须做的一件事情是找出应该使用哪个设备驱动应用软件来与设备通信,然后再载入选定的驱动。这是Windows设备管理器的工作,设备管理器使用类、设备安装器和INF文件来找到这个匹配。当Windows列举新的USB设备时,设备管理器把所有INF文件中的数据(设备供应商和产品的ID,也称作VID和HD,以及制造商、供应商名字和描述符等)与在列举时从设备获得的描述符中的信息做比较。找到匹配之后,Windows系统注册表将保存所有已安装设备的信息。在位置HKEY_L0CAL_
$ Q5 k; [! l8 p& c MACHINE\Enum\ USB处,将列出所有的USB设备。
( u8 r- E& a3 z G) l/ J! k1 Z 由于在Windows 98中提供了USBD(USB系统驱动程序),且USBD又给用户提供了直接支持的USB & d3 H9 F0 \) r( {1 U
DI,用户在编写USB驱动程序时,只需配置满足USB要求的URB(USB请求块),并通过USB
$ F4 D/ v# C* P( J9 Z DI发送下去,即可实现对USB设备的控制。设备驱动是保证应用程序访问硬件设备的软件组件,一个设备驱动使得应用程序不必知道物理连接、信号和与一个设备通信需要的协议等的细节。应用程序可以使用一套操作系统支持的函数与设备驱动进行通信。用于读写USB设备的API函数是Creat
# T5 P- w y" s Ne、Device Io Control或Read File和Write File。 9 m3 d6 ?3 ]* j3 _6 Q
把所有与设备有关的驱动操作编译为DLL,提供给应用程序使用。应用程序无需知道操作设备的细节,只需知道DLL的接口函数即可。下面给出对USB设备基本操作函数的例子。
" Y' k: A! @) z; Z* l' K0 R; ? CreateFile(TEXT("[url=]\\\\.\\Ez-USB"),GENERIC_READ,FILE_SHARE[/url]_ # p, K; f0 J1 j6 D
READ|FIlE_SHARE_WRITE,NULL,OPEN_EXISTING, FILE_FLAG_OVERLAPPED,NULL) # u$ _% u8 r+ D9 {& u) W
第1个参数是需打开的设备名;第2和第3个参数分别为授权读写和共享模式;第4个参数为安全属性,一般为NULL;第5个参数为打开方式(对USB设备来说应该是打开已存在的);第6个参数是异步交替模式;第7个参数为模板文件,这里并不需要。函数返回值为设备指针。
$ p) F' n3 n I) H2 D Device Io Control(hUSB, (DWORD)wFuncNum, (PVOID)pParam, (DWORD) , Z) @. t0 q& X( g
dwSize,NULL,0,&Returned,NULL)
) F* D& X; `6 | [$ p hUSB为通过CreatFile所获得的设备指针;wFunHum为设备操作代码,具体可查阅CYPRESS公司或USBD提供的标准代码;pParam为执行操作的请求数据缓冲区指针;dwSize为数据缓冲区大小,紧跟其后的两个参数分别为操作的输出数据接收缓冲区指针和大小,一般为NULL和0即可;Returned为操作返回指针;最后一个参数为异步操作,为NULL即可。
/ n$ q: |" F2 _* \" E1 k 使用前先定义好请求数据缓冲区,获得设备指针后即可用相应的操作代码对USB设备进行操作了。# v1 @3 j; J% g! s; T: s* z/ ~
3. 以上的设备驱动程序和上层应用软件已在VC6.0下调试通过。
) q) |2 ^0 s( E5 |8 Y 四、总结# D% m* m! s1 p. E2 O
通过上述的软\硬件改造,使经济型数控与PC之间具备了一个新的接口——USB接口。这种改造有助于提高经济数控系统与PC相配置的灵活性和多样性,甚至我们可以用1台PC来控制一条小型流水线上的所有NC。这不仅大大减少了安装、配置时间,降低了故障率,减少了操作工人数量,更可以与相关软件配合,实现并行制造,使NC的利用率达到最大,并使经济型数控系统扩展了网络功能,可以通过PC连入Internet/Intranet,实现网络化制造。) l3 Q; ~3 t m7 @! R% a- A
|
|