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菜单项的“Component项卜的“Import ActiveX Control,装入C++ Builder控件板的AetiveX组中。其次,为了用该控件操控一个串口进行通讯操作,还有必要在相应程序中刺进该控件。为此,在程序的某个C++ Builder的Form中刺进MSComm控件,控件名为MSComml(能够更改此名),在程序中对串口的各种操作可经过MSComml完成。为了得到MSComm控件的有关参数,能够在控件上按F1键查询,或参看有关的Visual C++与Vi-sual书本。
数控机床经过软件、硬件握手办法与计算机进行数据的传输,为此,在计算机数据传输通讯程序编制上,选用查询的通讯办法。在对木次通讯使命中,可经过SetCommEvent函数设置串口要呼应的事情。木规划把计算机串口每接纳一帧数据设置为串口要呼应的事情,也即EV2RXFLAG事情。这是 WindowsAPI函数中的一个基木事情。经过它去激活OnComm,在OnComm)音讯处理函数中可参加处理代码,判别是否是所需求的数据,并作出相应的处理,如显现、存盘、剖析等。卜而扼要给出事情驭动办法接纳数控机床发送数据的程序源代码。计算机串口各参数设置,如波特率、校验及数据格局等,有必要与数控机床彻底一致,不然两者之间的通讯无法正常进行。设置计算机串口参数的初始化程序如下: