RS-485网络在数控机床联网中应用
RS-485在电力系统及工业自动化中有广泛的应用,木文介绍通过RS-485网络实现数控机床联网方式,木方法也可为电力系统自动化设备的串行通信网络的设计提供参考。
1 数控机床联网系统组成结构
数控机床联网系统采用一台控制卞机(计算机)与几台不同的数控机床,通过RS-485网络形成卞从型网络结构。控制卞机根据不同的任务安排,把数据传输到相应的数控机床,同时控制卞机根据数控机床的请求状态,把数控机床的数据采集到计算机中。因大多数的计算机和数控机床都只有RS-232串口,须设计RS-232/RS-485接口转换电路,把计算机和数控机床的RS-232通信信号转换成RS-485信号。这样,计算机和多台数控机床就通过 RS-485总线联网。其联接结构如图1所示。

2 RS-232/RS-485转换电路设计
数控机床联网系统需多个RS-232/RS-485接口转换器.考虑到大部分计算机和数控机床的通信端口为9芯D型插头,在串行通信时,通常只使用其中的RTS , RXD , TXD与GND 4个端子,利用光电祸合器的隔离特性和RS - 232工作时RTS线与TXD线之间的电平关系,采用美国TI公司生产的RS - 485接口芯片SN75LBC184,设计了一种实用RS - 232 / RS -485转换器,其电路如图2所示。

图中RS - 485接口芯片SN75LBC 184在发送使能端DE为高电平,接收使能端RE为低电平时,作为发送器使用;接收使能RE为高电平,发送使能端DE为低电平时,作为接收器使用。该电路还使用了3片光电祸合器TLP521-1进行隔离,这使PC机与SN75LBC184之间完全没有了电的联系,从而提高了工作的可靠性。
当RS-232的RTS端为逻辑电平1(-12 V)时,光电祸合器的发光一极管不发光,光敏二极管不导通,输出端为TTL逻辑电平1(+5 V),此时选中RS-485的DE端允许RS - 485接收,这样,RS-232的TXD端就可以发送数据(工作逻辑与RTS端相似)。当RS-232的RTS端为逻辑电平0(+12 V)时,光电祸合器的发光一极管发光,光敏二极管导通,输出端为TTL逻辑电平0(0 V),此时选中RS-485的RE端允许RS - 485发送,RS-232的RXD端就可以接受 RS - 485网络传输的数据。当RS - 485的R端输出为逻辑电平1时,光电祸合器发光一极管不发光,光敏二极管不导通,这样,在RS-232输出停止时,其TXD电平为-12 V,电容被充电到-12 V以使其输出也变成-12 V,即逻辑电平1;当其输出为逻辑电平0时,光电祸合器发光一极管发光,光敏二极管导通,这时,其输出为+SV,也在RS-232逻辑电平0的范围之内,即为逻辑电平0。
3 通信软件设计
计算机卞控数据传输系统软件安装在计算机端,由于数控机床数据传输软件是固化在数控机床的控制器中,不需要特别的编程,在进行数据传输时根据通信要求设置通信参数,计算机端与其设置相同,由于不同的数控机床采用的通信方式即握手信号与帧格式不一样,因此,数据传输软件设计必须根据不同的数控机床采用不同握手信号。通常实现串行通信有多种方法,如利用调用Win
3.1 MSComm ActiveX控件介绍
Borland C++ Builder作为新一代的可视化编程工具,提供了大量的封装好各种功能的VCL控件库以便快速编程,遗憾的是并没有直接提供串口通信功能的VCL控件; 而微软公司提供的MSCommActiveX控制将串行通信的大部分操作都封装到控件内部,为编程者提供了简化的Windows卜的串行通信编程,通过导入微软MSComm控制,C++ Builder也能方便地实现计算机串口通信编程,为应用程序提供串行通信功能。
MSComm控件提供卜列两种处理通信的方式:事件驭动通信方式和查询方式。事件驭动通信是处理串行端口交互作用的一种非常有效的方法。在许多情况卜,在事件发生时需要得到通知,例如:在CD (Carrier Detect)或RTS ( Request to Send)线上一个字符到达或一个变化发生时,可利用MSComm控件的OnComm事件捕获并处理这些通信事件。OnComm事件还可以检查和处理通信错误。查询方式是在程序的每个关键功能之后,通过检查CommEvent属性的值查询事件和错误。MSComm控件的属性 InBuf\'ferCount()和Out2BufferCount()就用于串口的查询方式。可通过Set2CommEvent(函数设置串口要响应的事件,当响应事件或串口错误发生时,系统会激活OnComm)事件,在OnComm)中添加相应的程序,即可实现类似DOS中断的串口处理程序。每个使用的MSComm控件对应着一个串行端口。如果应用程序需要访问多个串行端口.必须使用多个MSComm控件。可以在Windows“控制而板”中改变端口地址和中断地址。
3.2 计算机与数控机床通信程序编写
首先,把MSComm控件安装入C++ Builder的集成开发环境,通过C++ Builder菜单项的“C
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)
- 妤傛ḿ楠囩亸鍕暥瀹搞儳鈻肩敮鍫濆悋閹存劕鐓跨拋顓熸殌缁嬪顨滅憗锟�
閸忋劍鏌熸担宥咁劅娑旂姴鐨犳0鎴滅瑩娑撴氨鐓$拠鍡礉閹绘劕宕岄惍鏂垮絺瀹搞儰缍旈懗钘夊閿涘苯濮幃銊ユ彥闁喐鍨氶梹澶歌礋娴兼ḿ顫呴惃鍕殸妫版垵浼愮粙瀣瑎...
- 娑擃厾楠囩亸鍕暥瀹搞儳鈻肩敮鍫濆悋閹存劕鐓跨拋顓熸殌缁嬪顨滅憗锟�
缁箖鈧拷30婢舵岸妫亸鍕暥閸╃顔勭拠鍓р柤閿涘奔绗撶€硅埖宸跨拠鎾呯礉閸斺晛顒熼崨妯烘彥闁喕鎻崚棰佺娑擃亜鎮庨弽鐓庣殸妫版垵浼愮粙瀣瑎閻ㄥ嫯顩﹀Ч锟�...
- Agilent ADS 閺佹瑥顒熼崺纭咁唲鐠囧墽鈻兼總妤勵棅
娑撴挸顔嶉幒鍫n嚦閿涘苯鍙忛棃銏n唹鐟欘枃DS閸氬嫮顫掗崝鐔诲厴閸滃苯浼愮粙瀣安閻㈩煉绱遍崝鈺傚亶閻€劍娓堕惌顓犳畱閺冨爼妫跨€涳缚绱癆DS...
- HFSS鐎涳缚绡勯崺纭咁唲鐠囧墽鈻兼總妤勵棅
鐠у嫭绻佹稉鎾愁啀閹哄牐顕抽敍灞藉弿闂堛垼顔夐幒鍦欶SS閻ㄥ嫬濮涢懗钘夋嫲鎼存梻鏁ら敍灞藉簻閸斺晜鍋嶉崗銊╂桨缁崵绮洪崷鏉款劅娑旂姵甯夐幓顡嶧SS...
- CST瀵邦喗灏濆銉ょ稊鐎广倕鐓跨拋顓熸殌缁嬪顨滅憗锟�
閺夊孩妲戝ú瀣╁瘜鐠佽绱濋崗銊╂桨鐠佸弶宸緾ST閸氬嫰銆嶉崝鐔诲厴閸滃苯浼愮粙瀣安閻㈩煉绱濋崝鈺傚亶韫囶偊鈧喕鍤滅€涳附甯夐幓顡塖T鐠佹崘顓告惔鏃傛暏...
- 鐏忓嫰顣堕崺铏诡攨閸╃顔勭拠鍓р柤
娑撳洣绗€妤傛ɑ銈奸獮鍐叉勾鐠у嚖绱濇潻娆庣昂鐠囧墽鈻兼稉杞扮稑閸︺劌鐨犳0鎴炲Η閺堫垶顣崺鐔枫亣鐏炴洘瀚甸懘姘剧礉閹垫挷绗呴崸姘杽閻ㄥ嫪绗撴稉姘唨绾偓...
- 瀵邦喗灏濈亸鍕暥濞村鍣洪幙宥勭稊閸╃顔勭拠鍓р柤閸氬牓娉�
鐠愵厺鎷遍崥鍫ユ肠閺囨潙鐤勯幆鐙呯礉缂冩垵鍨庨妴渚€顣剁拫鍙樺崕閵嗕胶銇氬▔銏犳珤閵嗕椒淇婇崣閿嬬爱閿涘本鍨滅憰浣圭壉閺嶉绨块柅锟�...