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也能方便地实现计算机串口通信编程,为应用程序提供串行通信功能。[page] 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)消息处理函数中可加入处理代码,判断是否是所需要的数据,并作出相应的处理,如显示、存盘、分析等。卜而简要给出事件驭动方式接收数控机床发送数据的程序源代码。计算机串口各参数设置,如波特率、校验及数据格式等,必须与数控机床完全一致,否则两者之间的通信无法正常进行。设置计算机串口参数的初始化程序如下: 4 结语 在此基础上,卞控计算机还可通过局域网和其他计算机和工作站连接,不仅实现零件加工程序网上传输,而且实现了CAD , CAM,零件加工程序等资源的共享,为今后开展DNC控制及CIMS工程奠定了基础。
利用RS-485网络把一台卞控计算机与多台数控机床联接在一起,可将机床中所有的数控程序、数控系统参数以及PLC程序(ASCII代码文件)都备份到卞控计算机中,从而保护了系统资源,解决了单台数控机床内存不足的问题。工作时,通过网络传输程序,既保证了数据的准确性又大大地提高了工作效率,该联网系统已成功应用于数控实习中心,取得了较好的效果。
上一篇:基于无线通信技术的新型数控系统研析
下一篇:CAN总线在嵌入式数控系统中的应用
推荐阅读最新更新时间:2024-05-02 23:25