RS485现场总线

2024-07-25

RS485现场总线(共8篇)

RS485现场总线 篇1

0 引言

随着经济的高速增长和工业化进程的加快, 工矿企业的生产正在向智能化和网络化方向发展, 整个生产系统是基于网络的大型自动化系统。系统的底层是基于现场总线的智能测控设备, 目前不少厂家的总线都采用RS485总线, 协议也各不相同;中间层一般采用Profibus DP等工业总线网络;最上层采用工业控制计算机和监控软件组成主控站[1,2]。

由于采用RS485总线的智能测控设备与采用Profibus DP总线的设备协议不同, 它们不能够直接连接传输数据, 必须经过相应的通信协议转换才能够连接。本文以煤矿供电自动化系统为例, 分析基于RS485总线的智能测控设备与Profibus DP总线的连接技术, 并给出设计方案。

1 RS485总线与Profibus DP总线的通信原理

基于现场总线的数据通信基本原理是使用OSI模型的不同层作为子集, 如图1所示[2]。其中, 第一层表示最底层, 也就是物理通信线路的电气信号;第七层是用户层, 在这一层2种设备才能交换和理解相互之间的数据。

普通的RS485总线接口仅仅定义了第一层, 能够确保2个RS485设备之间进行电气连接而不会造成电气冲突。但是要在2个设备之间进行通信和数据解释, 则需要2个设备都使用相同的协议来定义通信规则和数据格式。

Profibus DP是一种国际开放式现场总线标准, 为多主站系统, 可实现多个控制、配置或可视化系统在1条总线上的相互操作。拥有访问权 (令牌) 的主站无需外部请求就可以发送数据。而从站是一种被动设备, 不享有总线访问权, 只能对接收到的消息进行确认, 或者在主站发出请求时进行数据发送。总线支持波特率为9.6~12 Mbps, 并且最多可连接126个设备。

Profibus DP采用了OSI模型中的第一、二层和用户接口层。第一层定义了串行现场总线的功能、电气和机械的特性。Profibus DP通过第二层向用户提供数据链路服务, 它提供给第二层的数据传输协议是基于报文的协议。

因此, RS485总线设备和Profibus DP总线设备需要一个数据协议转换器来实现连接。协议转换器分别接收来自2种总线设备的报文数据, 然后对数据进行协议转换, 完成转换的数据分别放入发送缓冲区中, 再分别传送给总线设备。

2 总线互联网络的硬件设计

本文选用瑞典HMS公司生产的Anybus Communicator (简称ABC) 网关来连接RS485总线设备与Profibus DP总线设备, 如图2所示。

图2中, 综保是基于RS485总线的高压馈电柜智能监控设备, 它相当于ABC网关的从站, 每一个设备都有1个唯一地址。ABC网关相当于主站, 可实现普通RS485总线与Profibus DP总线之间的互联。ABC网关将2边不同网络的数据进行重新打包和格式转换, 以便对方能够理解其应用数据。

在RS485总线的网络中, 一般选用带屏蔽的双绞线作为信号传输线。双绞线在长度和方向上完全对称, 因而它们所受的外界干扰程度完全相同, 干扰信号以共模方式出现。由于RS485接口对共模干扰的抑制能力很强, 因此, 双绞线可实现信号的可靠传输。设备与RS485总线的连接线要尽可能地短, 其中信号线A与总线A并联, 信号线B与总线B并联[3]。

在ABC网关的输入口需要加光电耦合器, 对上级主站与下级分站进行电路隔离, 从而提高系统的稳定性。另外, 在RS485总线末端并联1个120 Ω (0.25 W) 的匹配电阻R, 吸收总线上的反射信号, 以保证正常传输信号干净、无毛刺。

ABC串行网关采用数据缓存区方式解决应用层协议问题。从RS485总线来的数据被映射到ABC网关的本地存储区中, 通过一个配置工具软件, ABC网关可定义在串行数据流中哪些字节是纯数据, 哪些是命令控制信息。被选中的纯数据被映射到另一侧网络的第七层, 因此, 该数据可被网络上其它节点所接收和理解。

3 ABC串行网关的软件设计和参数配置

ABC串行网关采用数据映射方式传递2个网络的数据, 其数据交换工作流程如图3所示。ABC串行网关依次循环向节点 (智能监控单元) 发送数据询问帧, 对应地址节点收到命令后返回正确的数据帧, ABC串行网关再将接收到的监控数据映射到输入、输出缓冲区, 最后将缓冲区重新打包成Profibus DP协议数据。

为了完成图3所示的网络数据交换和数据解析, 需要对ABC网关软件进行设计。笔者采用ABC的组态工具软件 (ABC Config Tool) 进行配置和设计。

3.1 ABC网关的参数配置

为了让ABC网关正常工作, 需要设计和配置其自身的运行参数。运行ABC Config Tool软件, 打开一个空白设置界面, 进入参数配置框, 如图4所示。选择物理接口为串口 (Serial) , 协议为主站模式 (Master Mode) , 其它设置选择默认值。

3.2 下级网络参数配置

ABC下级网络是基于RS485的串行总线网络, 需要根据现场的实际情况对串行通信的基本协议进行配置。鼠标选中图4中的“Sub-Network”图标, 就会出现如图5所示的串行协议配置界面。图5中的具体设置:通信波特率设置为“9 600”, 数据位数为“8”, 奇偶校验设置为“无 (None) ”, 停止位为“1”, 硬件接口设置为“RS485”。

3.3 下级网络结构设计

需要根据现场实际情况设计RS485网络的节点数目和每个节点中的数据结构。其设置界面如图6所示。

(1) 节点设计

鼠标选中图4中的“Sub-Network”图标, 单击右键选择“insert new node”菜单, 添加新节点, 并在“slave address”框中输入对应监控单元地址。图6设计了6个节点。

(2) 处理事件设计

鼠标选中图6中的“1#Node”图标, 单击右键选择“add transactions”菜单, 添加处理事件“tran-sactions”, 图6设计了1个处理事件。

(3) 处理事件的数据结构设计

处理事件的数据结构包括询问帧结构和响应帧结构, 可以根据不同的总线规约对其进行设计。下面以103规约为例进行设计, 具体数据结构定义如表1所示。

在103规约中, 起始字节为“68H”;结束字节为“16H”[4];从站地址是与ABC通信的监控单元地址;功能码是传送不同数据的区分码;数据区是有效数据的存放区域;校验码是对该帧数据进行检验后的值。

图6中, 选中“Query”图标, 单击右键选择“add byte”菜单, 添加“起始符”、“从站地址”、“结束符”等常数变量, 并输入相应的常数值;选择“add data”菜单, 添加“数据区”变量, 并修改数据区的长度和在ABC中的起始地址 (注意不能与其它数据区地址冲突) ;选择“add checksum”菜单, 添加“校验码”变量, 并修改校验方式 (有CRC、LRC、XOR方式) 和校验数据的起始地址。需要依据表1的结构和顺序添加变量。

其它节点的数据结构设计步骤与上述相同, 注意设置“从站地址”时, 要与实际的监控单元地址相一致。

3.4 程序下载

当完成ABC网关所有结构和参数设置后, 就可以将设置的参数下载到ABC网关中。程序下载时, 需要用RS232串口线将ABC网关与个人计算机连接。连接PC机端为DB9, 连接ABC网关端为RJ4, 如图7所示。

当PC机与ABC网关连接后, 用ABC组态软件中的“Tools/Port”菜单选择串口号, 然后点击“connect”图标连接PC机与ABC网关, 最后点击“download to ABC”图标将程序下载到ABC中网关。可点击“Sub-Network monitor”图标, 监视ABC网关中输入、输出数据映射区。

4 结语

本文以煤矿供电自动化系统为例, 使用ABC智能串行网关设计了RS485总线与Profibus DP总线的互联电路, 并对ABC网关进行了软件设计和参数配置。该设计方案已经得到实际应用, 并取得了良好的效果。本文提出的设计方法也可用于其它类型总线网络的互联设计中。

摘要:文章详细分析了RS485总线和Profibus DP总线的通信原理, 并以煤矿供电自动化系统为例, 介绍了采用ABC智能串行网关设计的RS485总线与Profibus DP总线的互联电路, 并给出了ABC网关的参数设计和配置。实际应用表明, 该互联技术使用效果良好。

关键词:RS485总线,Profibus DP总线,互联,网关

参考文献

[1]党存禄, 靳路宁, 马安仁, 等.基于现场总线的变电站综合自动化系统[J].甘肃科学学报, 2006, 18 (1) :95~98.

[2]阳宪惠.现场总线技术及其应用[M].北京:清华大学出版社, 2002.

[3]邓先明, 杨宇, 方荣惠.基于现场总线的煤矿供电自动化系统[J].电力自动化设备, 2007, 27 (4) :95~98.

[4]周丽.基于IEC60870-5-103规约的变电站内部通信系统的研究与实现[D].青岛:山东科技大学图书馆, 2005.

RS485现场总线 篇2

国内智能电能表的通讯接口往往采用RS485的端口,这种端口可以建立出有效的多点通讯。但由于智能表的结构复杂且受到的影响因素十分广泛,因而常会发生通讯中断的故障,而现场的工作人员往往由于没有可检测的有效手段,往往直接采用换表的方式加以解决。但是这种直接而简单的方法并不能明确地判断出故障的原因,而换表也不能真正解决这类故障。

一、RS485通信接口的原理与特点

RS485通信接口是一个电气接口,其设计出了一个单对平衡线但多点且双向的通信链路,可以有效地抑制噪声、增强传输速率、拉长传输距离以及能够提高宽共模的一个通信平台。RS485通信接口一般采用主从的方式进行多机通信,其通信距离甚至可以达到上千米。

RS485通信接口的串接方式是采用的OSI开放系统中物理层的协议标准,由于性能优异、组网容易、结构简单被广泛运用于各种智能表中。RS485通信接口可以采用二线和四线连接方式,二线制可以实现多点双向通信,而四线连接则可以实现点对多的通信。

二、智能电能表RS485通讯常见故障分析

许多城市的电网电能表通讯接口普遍采用智能电能表RS485来进行数据采集,因此对智能电能表RS485通讯故障原因的分析是十分必要的。

1、硬件故障分析

当操作进行不当,尤其是一次开关分合闸等操作往往会导致通讯线路受到频繁地瞬间电压冲击时,智能电能表RS485往往会受到剧烈的损坏,从而造成芯片的永久性损坏。而雷击,或者是微弱的静电也同样会给智能表造成芯片方面的极大损坏。此外,当其他原器件发生故障或是隔离电源发生故障时,智能电能表RS485也会发生通讯接口故障。作为一个系统中的一部分,智能电能表RS485会受到接线中线路故障的影响,同时也会受到其他控制器或是并联总线上设备故障的影响,这类问题往往导致的是所有设备通讯的故障。同时,在布线的过程中,由于通讯线较长而用平行线代替双绞线,则极容易引起串模干扰,从而发生严重的通讯故障。并且缺少接地线,也会使智能电能表RS485在干扰电压超出所能承载的范围而造成损坏。

2、软件故障分析

首先,由于智能电能表RS485的规约没有达成一致,而不同的厂家电能表对于智能电能表RS485的接口要求并不相同,往往对数据采集造成困难。而智能电能表RS485的地质或是设置出现错误,也极容易导致数据采集的失败。其次由于智能电能表RS485的芯片型号不同,往往会造成不同强弱的电平,容易影响通讯。此外,波特率设置发生错误或是设置错误也容易导致通讯故障的发生,并且这种故障的发生往往难以查找,通常需要进行通讯口设置的全面排查。再次,由于智能电能表RS485在写入时往往容易发生一些意想不到的差错,最后,当智能电能表RS485在进行操作或运行任务时,可能会暂时关闭通讯,或是在执行任务时被切断往往也容易造成通讯故障,给整个任务造成一些影响,但这种故障并不完全属于通讯故障。

三、智能电能表RS485通讯故障防范措施

1、智能电能表RS485口的多种测试方法

智能电能表RS485的故障往往可以通过各类测试得到体现,这些测试包括电能表测试软件、万用表测量以及通讯口测试器等等。电能表测试软件所能表现的信息量大且测试方法比较可靠,但是要求较高的专业技术,一般供职人员可能难以掌握。而万用表测试则比较简单,直接测量智能电能表RS485端口A对B的电压,处在正常值范围内就达到标准。但是这种测试方法对于软件故障时无法进行测试的。而通讯口测试器则较为多样,并且测试过程还可以分为硬件和软件的测试,实现通用化,从而能够较为准确地定位智能电能表RS485通讯口的故障种类。

2、规范智能电能表RS485的相关规约

由于智能电能表RS485的接口规约存在一定的差异,因而需要在选择智能电能表RS485时需要选择适合电能量管理系统的电能表生产厂家所生产的智能电能表RS485,并且要在使用前先进行测试,然后再选择使用。

而另一个影响智能电能表RS485的是其芯片型号。不同的芯片型号往往会导致端口连接发生故障,并且不同型号的芯片往往会有不同的质量,因而需要一些有着相同信号和高质量的智能电能表RS485芯片来保证使用时不影响正常通讯。

3、规范智能电能表RS485的布线

首先需要将每个通讯接口与不同的电压等级分别相连,避免通讯接口发生交叉问题,从而提高通讯接口的通讯率。其次,在施工安装电缆的过程中,一定要保持电缆对地接线良好,并且确保其屏蔽性能良好,从而减少外界坏境对智能电能表RS485的影响,保证智能电能表RS485能够高效地传输数据信息。同时,在屏蔽电缆中增加一个长线收发器,同样也有利于增强屏蔽效果,从而提高数据的传输能力。最后,在电缆最后一块电能表的末端应将屏蔽电缆直接接地,从而降低整个电缆的负电平,减少电磁场对传输数据的影响。

四、小结

RS485通信接口在国内的电能管理、数据采集系统中得到了广泛的运用,它有利于促进电能量采集向自动化的方向中发展。RS485通信接口为一个较为坚固的通讯连接创造出了可能,其具有高噪音抑制、长传输距离、保护冲突等等优越性,且组网比较简单,在多功能电表和抄表系统中得到了广泛的运用。但只有在合理对其进行布局并采取有效的防护措施以及遵循一定的通信协议,才可能建立起一个真正可靠、能够适应各类需求的。

参考文献

[1]郭飞;陈根永;张德玲;;基于RS485接口的电能计量数据采集[J];微计算机信息;2007年22期.

[2]刘先虎;RS485在电表通信中的常见问题及解决方案[J];电测与仪表;2005年03期.

[3]韩丽红. 多功能电能表RS485通信接口常见问题分析[J]. 西北电力技术. 2005(05).

RS485现场总线 篇3

1 总体结构和功能设计

图1为总体结构。

1.1 总体结构

总体结构如图1所示,在一个监测点可以布置多个测力锚杆,每个测力锚杆连接一个监测分站,监测点的所有监测分站连接到一个通信分站,所有监测点的通信分站连接到监测主站,通过监测主站与地面的上位机相连。整个系统理论上支持255个通信分站,每个通信分站支持255个监测分站。

测力锚杆是利用现有煤矿用测力锚杆进行改造,因金矿顶板相比煤矿顶板没有老顶,所以测力锚杆需要的锚固长度更长,所以选用长度加长的全程锚固式测力锚杆,而且测力点从6个增加的8个。现有测力锚杆留有485通信接口,可以写入设置命令和读取传感器数值。

监测分站主要功能是对测力锚杆进行参数设置、读取显示测力锚杆监测数据、485通信、声光报警。测力锚杆参数的设置也可以通监测主站进行全局设置。参数设置包括编号、零点、传感器对数、报警值的设置。当读取到的测力锚杆传感器值超过报警值后就发出声光报警。

设置的报警值要小于通过前期试验得到的顶板发生冒落时的顶板应力值。

通信分站主要的功能是通信中继功能。实时显示当前正在传输的监测分站编号及其传输状态和报警状态。

监测主站主要功能包括参数设置、显示查询浏览、SD卡存储、报警。参数设置是对所有的测力锚杆进行全局设置。查询浏览可以按时间浏览各监测分站的数据。

上位机是备选功能,可以选择监测主站把数据传到上位机进行实时显示和数据分析。利用曲线图能更好的监测顶板应力变化,预测顶板冒落事故的发生。

1.2 通信结构

基于485总线的多机通信结构,选用65hvd3082芯片,此芯片支持256节点的485通信。

系统采用主—从技术,每次由监测主站向一个监测分站发出命令,由通信分站中转发向监测分站,监测分站接收后判断命令字是设置参数还是传输数据,如果是设置参数就向测力锚杆发出设置参数命令设置完后发回回复,如果是传输数据命令就读出测力锚杆当前数值并显示后判断是否超出报警值同时把数据传回监测主站。这样所有通信都由监测主站发起,且总线上总是只有一个站点在传输数据,保证了数据传输之间不会相互干扰。系统主控芯片采用的是AVR单片机,AVR单片机置位UCSRA的多处理器通信模式位(MPCM)可以对USART接收器接收到的数据帧进行过滤。51单片机无此功能。那些没有地址信息的帧将被忽略,也不会存入接收缓冲器。这种过滤有效的减少了需要CPU处理的数据帧的数量。设置数据帧长度为9位,当第9位(RXB8)为1时为地址帧,否则为数据帧。在多机通信模式下,每个从机可以从主机接收数据。首先要通过解码地址帧来确定所寻址的是哪一个从机。如果寻址到某一个从机,它将正常接收后续的数据,而其他的从机会忽略这些帧直到接收到另一个地址帧。当从机寻址主机时,如果地址为0就说明是寻址主机。

2 硬件设计

图2为监测分站硬件电路。

监测分站采用Atmega8单片机是一款高性能、低功耗的8位AVR微处理器有23个可编程的I/O口,32个8位通用工作寄存器,8K的系统内可编程Flash,512字节的EEPROM,两个具有独立预分频器8位定时器/计数器,两个可编程的串行USART。

在这个系统在井下用12V电源供电,用L7805转换成5V电压为芯片供电。LCD2004利用四线制连接方式与单片机连接,以节约单片机接口。LCD的BLA口连接背光控制电路,用定时器方式控制背光,在背光开关按键按下时背光打开,过5秒自动关闭以节约电能。

晶振采用3.6864MHz无源晶振。

按键电路有4个按键,包括复位键、背光开关、两个参数设置按键。

报警模块是由蜂鸣器和LED灯组成,当报警时蜂鸣器鸣LED灯闪烁。

485通信模块选用65hvd3082芯片,它是一款适用于高要求应用环境的RS-485数据总线系统半双工收发器。如图3所示,RX0接单片机数据输入端RXD口,TX0接单片机数据输出端TXD口,CH口是数据传输方向选择端口,RT口为数据读写选择端。当RT为0时65hvd3082芯片RE口置0,485总线为读状态,当RT为1时65hvd3082芯片DE口置1,485总线为写状态。当CH为0时是485总线向上传输,反之是向下传输。

通信分站硬件电路与监测分站的基本相同。

而监测主站因为要增加SD卡和实时电路所以采用有32个可编程的I/O口,8K的系统内可编程Flash的Atmega32单片机。它比Atmega8具有更多的控制端口更大的可编程存储器。其他模块与监测分站类似。

SD卡电路以CS为使能端,DI和DOUT分别为SD卡的输入和输出,分别接单片机的MOSI和MISO。SD开始用3.3V电压所以还要用Lm1117把5V转成3.3V。

实时电路使用DS1302实时芯片,来提供为SD卡数据存储提供实时时间。

3 软件设计

监测主站、通信分站、监测分站软件设计主要是功能实现程序和485总线数据传输程序。

功能实现程序主要是LCD驱动、SD卡驱动、按键扫描程序、参数设置程序等。监测主站和监测分站的485子程序如图4所示,而通信分站的485传输主要是数据的中继转发,把监测主站发来的数据转发给监测分站,在监测分站发来的数据前封装上监测主站地址合和自身地址发给监测主站。

485通信的差错控制有AVR内部的奇偶校验、帧校验和485传输中的CRC校验。当发生奇偶校验、帧校验错误和CRC校验错误时放弃数据不做处理等待监测主机的超时程序重发命令。在监测主机发出命令后启动计时程序当超过20ms未收到回复或回复有错误时,就重发命令,当重发超过三次是就认为通信线路中断。

上位机软件是VB和MySQL设计。可提供系统参数设置、数据存储、报警、数据查询浏览、图表分析等功能,利用曲线图可以分析某观测点顶板应力变化规律,对顶板冒落事故进行预警。

4 结束语

本系统主要是通过485总线对顶板应力进行实时监测,以预防顶板冒落事故的发生。对顶板的离层量没有监测,将来可以加入顶板离层监测,更能准确的分析离层与应力之间的关系。

摘要:介绍了一套基于RS-485总线的金矿顶板监测系统,系统以AVR单片机为核心,利用测力锚杆监测顶板应力,通过RS-485总线传输到上位机进行数据分析,对顶板事故进行预警。系统可以实现远程多点的动态监测,有利于减少金矿的顶板冒落事故的发生。经试验表明系统有较好的稳定性和可行性。

关键词:AVR单片机,RS-485总线,金矿顶板监测

参考文献

[1]邓杰海,汤彬,李卫红,祝红琴.基于AVR ATmega128的工业网关的实现[J].单片机开发与应用,2007(2):87-89.

[2]陈铁军,谢春萍.PC机与RS485总线多机串行通信的软硬件设计[J].现代电子技术,2007(5):103-105.

RS485现场总线 篇4

USB作为一种新的PC机互连协议, 使外设到计算机的连接更加高效、便利。而RS232是单个设备接入计算机时, 常采用的一种接入方式, 其硬件实现简单, 因此在传统的设备中有很多采用了这种通信方式。但是, RS232有一些缺陷, 就出现了一些新的接口标准, RS-485就是其中之一。

由于工业控制系统的可靠性和灵活性高要求, 其发展的主要表现为:控制面向多元化, 系统面向分散化, 即负载分散、功能分散、危险分散和地域分散。现场总线能同时满足过程控制和制造业自动化的需要, 因而现场总线已成为工业数据总线领域中最为活跃的一个领域。CAN总线就是优秀的现场总线之一。在许多场合, 由于设备处理数据的形式不同, 需要将不同的数据格式进行转换, 所以各式各样的转换器出现了, 但是市面上出现的很多转换器一般都只是两种数据格式之间的转换, 在很多场合不能适应的, 为此本文提供一种多种数据格式转换器的设计方法。

2硬件设计

本设计的主要工作是设计一个转换器, 能使USB、CAN总线、RS232、RS485这四种总线的数据格式能相互转换。该转换控制器主要由单片机、USB控制器、CAN总线控制器、RS232/485电平转换芯片等几部分组成, 现在常用的单片机内部的数据存储器都是很小的, 这个转换器在工作的过程中, 有大量的数据需要暂时存放, 所以需要加一个数据存储器。在转换的过程中, 为了使当前正在转换的数据格式能让用户清楚地知道, 所以需要设计状态指示电路。整个系统的硬件结构图如图1所示。

2.1 USB控制芯片电路设计

在本次设计中, USB接口的操作过程采用中断方式工作。CH375的数据 / 地址复用总线与W77E532的P0口相连, 读写信号线与单片机的读写信号线相连, 单片机的P2.7与CH375的片选信号线相连, CH375的中断请求信号与单片机的外部中断0 (INT0) 相连。图2为CH375与W77E532的连接图。

2.2 CAN总线控制芯片的选择及其电路设计

CAN总线由于其高性能、高可靠性及独立的设计, 而被广泛用于工业现场控制系统中。在这个转换控制器设计中, 选用SJA1000作为CAN控制器。

2.3 RS232电平转换芯片和RS485芯片电路设计

图4为MAX232和MAX1487与W77E532连接的RS232、RS485总线原理图, W77E532有两个UART口, 一个接RS232总线, 另一个接RS485总线。

3软件设计总体方案

软件总体分为3个部分, 即初始化程序、主程序、中断程序。下面分别叙述:①初始化程序是整个程序正常运行的前提和保证。上电复位后, 首先将单片机初始化, 然后检测是哪些数据转换, 当单片机检测到转换的数据格式后, 初始化相应的转换模块。②当初始化完成, 系统运行的就是主程序。主程序是把从模块中得到的数据转换成相应的数据格式。③USB数据、CAN总线数据向单片机传送数据时, 采用中断传送方式, 这就需要处理相应的中断。主程序流程如图5所示

4结论

RS485现场总线 篇5

RS-485接口以其结构简单、通信速率高、传输距离远、成本低廉等优点在现场总线中得到广泛应用。传统的RS-485总线要求在同一时刻只能有一个节点进行数据发送, 为此多采用一主多从方式或分时复用方式。一主多从方式, 即网络中有一个主节点和若干个从节点, 由主节点轮询各个从节点以实现数据通信。分时复用方式, 即总线控制权分时交由各个节点使用, 各节点按照预先分配的时间段发起通信。遇到节点主动发送实时要求高, 节点数目不确定, 且各个节点通信负荷不均衡等通信系统时, 上述两种通信模式的总线利用率和实时性都相对较低。在模拟器材通信中, 经常会遇到各节点不定期、多批次主动发起通信的情况, 在应用RS-485网络时显得较为不便。为此, 需要研究一种基于RS-485总线的多主机通信方法, 并在模拟训练中得到应用, 以取得良好效果。

1 接口电路

RS-485 接口电路的主要功能是将来自微控制器 (MCU) 的发送信号TX通过“发送器”转换成通讯网络中的差分信号, 将通讯网络中的差分信号通过“接收器”转换成MCU接收的RX信号。任一时刻, RS-485收发器只能够工作在“接收”或“发送”两种模式之一, 因此, 必须为RS-485 接口电路增加一个收/发逻辑控制电路。另外, RS-485接口电路的附加保护措施也是必须考虑的环节。

如图1所示为我们设计的RS-485总线接口电路, 核心芯片为SP3485, 该芯片为+3.3V低功耗半双工收发器, 满足RS-485和RS-422串行协议的要求, 数据传输速率可高达10Mbps (带负载) , 与Sipex的SP481、SP483和SP485的管脚互相兼容, 同时兼容工业标准规范。SP3485发送器的输出是差分输出, 空载时输出电压的大小为0V~+3.3V, 即使在差分输出连接了5 4Ω负载的条件下, 发送器仍可保证输出电压大于1.5 V。发送器输出最大250m A ISC的限制使SP3485可以承受-7.0V~+12.0V共模范围内的任何短路情况, 保护I C不受损坏。SP3485接收器的输入是差分输入, 输入灵敏度可低至±200m V。接收器的输入电阻通常为15kΩ (最小为12kΩ) 。-7V~+12V的宽共模电压范围允许系统之间存在大的零电位偏差。SP3485接收器还具有故障自动保护 (fail-safe) 特性, 可在输入悬空时使输出保持在高电平状态。

控制该电路工作的MCU采用STM32F103VET6, 该芯片为100引脚LQFP封装, 采用Cortex-M3内核, 处理速度可达72MHz, 具有64K RAM和512K Flash, 支持CAN、I2C、 SPI、USART、USB等接口。其串行口通过RXD (即485_RX引脚) 连接SP3485芯片的RO引脚, 通过TXD (即485_TX引脚) 连接芯片的DI引脚。MCU输出的485_DIR信号控制芯片的发送器/接收器使能, 亦即控制通信方向。当485_DIR信号为“1”时, 发送器工作, 接收器失效, 此时MCU可向RS-485 总线发送数据;485_DIR信号为“0”时, 发送器失效, 接收器工作, 此时MCU可以接收来自RS-485 总线的数据。

为保证电路工作稳定可靠, 电路中B引脚连接上拉电阻R2, A引脚连接下拉电阻R3, 这样在上电或不传输数据时能保证RS485总线处于确定状态, 为总线提供网络失效保护, 以提高RS-485节点与网络的可靠性。

电阻R5为备用设计, 如果将SP3485 连接至80C51或STM32F103VET6等MCU芯片的UART串口, 则SP3485芯片的RO引脚不需要上拉 (R5为0Ω) ;否则, 需考虑将R5更换为约10K的上拉电阻。

考虑到485总线在组网时, 位于网络两端的节点需要增加120Ω终端电阻, 我们在485_B和485_A之间放置了终端电阻R4, 为便于使用者灵活调整节点在网络中的位置, 我们还为终端电阻设计了选择跳线JP1。

2 组网方式

RS-485总线组网方式如图2所示, 所有RS-485节点全部挂在一对RS-485总线上。注意RS-485总线不能够开叉、但是可以转弯。RS-485网络采用直线拓朴结构, 需要安装2个终端匹配电阻。终端匹配电阻安装在RS-485 传输网络的两个端点, 并联连接在A-B引脚之间, 其阻值要求等于传输电缆的特性阻抗 (一般取值为120Ω) 。终端匹配电阻主要作用是使总线的阻抗连续, 以减少信号的反射, 从而提高信号的传输质量。在矩距离 (300 米以下) 、低波特率 (19200bps) 数据传输时可不需终端匹配电阻。

3 多主机通信协议

稳定可靠的通信不仅依赖硬件环境, 对通信协议也有很高的要求。为了解决RS-485总线多主机通信的问题, 需要对RS-485通信协议进行研究。

3.1 帧结构

设定起始符为字符’$’。考虑到便于报文接收, 起始符应与设备地址不同。目的节点、源节点均为网内设备节点地址, 取值为1~32。帧长度是从起始符到结束符的字符长度, 取值为7~255。结束符为字符’@’。

帧校验 (FCS) 通常可采用奇偶校验、和校验、CRC校验等方法, 前两者处理相对简单, 节省运算时间, 但存在漏检的可能, 后者处理相对复杂, 需要一定的运算时间, 但可靠性优于前面两种方法。在具体应用时, 可根据需要自行选择。本文帧校验方法为从目的地址开始, 到数据的最后一个字节为止, 各字节依次异或, 最后得到的数值即为帧校验值, 如果接收方发现校验错误则应要求发送方重发。

值得注意的是, 对于起始符、结束符与数据帧内容重叠时的处理, 采用数据字节前插入0x FF的办法加以识别。例如, 要发送的数据为0X24, 与结束符重叠, 则在报文中应写为0x FF0x24。

3.2 通信过程

3.2.1 发送方工作流程

RS-485总线采用半双工工作方式, 全网在同一时刻只能有一个设备在发送报文 (扮演主机) , 此时其它设备处在接收状态 (扮演从机) 。基于对可靠性的考虑, 采取如图3所示通信流程。

具体解释如下:F_BUSY为总线忙标志, 取值为“1”时表示“总线忙”, N为发送报文后对方无应答时报文的重传次数, M为接收到的报文出现FCS错误时的重传次数。当系统初始化时, 每个节点的F_BUSY均为0, 即总线空闲, N、M均为0。

发送方的工作流程如下:

总线的申请和释放均由通信的发起方完成。

步骤一:申请总线。发送报文前先进行“忙”检测, 当F_BUSY为“0”时发送“申请总线”报文, 通知全网节点即将占用总线, 并开启计时器, 无关节点收到该报文后将F_BUSY置为1, 并禁止本地发送报文, 目的节点收到后发送“确认可用”报文。当F_BUSY为“1”或计时已到却未收到“确认可用”报文, 则随机延时后重新申请总线。

步骤二:发送报文。

步骤三:等待应答。发送报文后, 启动计时器, 等待对方的接收应答, 如在规定时间内未收到对方应答, 则进行报文重传, 并将重传次数N加1。如果重传已达三次, 则认为网络断开, 释放总线, 结束通信。

步骤四:出错重传。如果对方应答帧内容为“FCS错误”报文, 则进行报文重传, 并把M加1。如果重传已达三次, 则认为网络不稳定, 释放总线, 结束通信。

步骤五:释放总线。报文发送流程结束后, 该节点发出“释放总线”报文, 各节点将F_BUSY置为0, 总线恢复空闲状态。

发送方的处理中, 在申请总线阶段没有考虑消息碰撞问题, 这主要是基于网络节点数量有限, 碰撞几率较低的考虑。为增强报文的可靠性, 须进行帧校验处理。在等待应答阶段, 采取ARQ技术, 对出错报文进行请求重传。为避免程序陷入死循环, 针对对方无应答或报文帧校验错误的情况采用了有限次重传的机制。

3.2.2 接收方工作流程

处理一:报文过滤。通过报文头部, 判断收到的报文是否为其它节点发给本节点, 如果不是则不予处理。

步骤二:报文校验。对发给本节点的报文进行帧校验, 如果有错误, 则发“FCS错误”报文, 并将已收到报文丢弃, 如果校验正确则发“确认接收”报文。

步骤三:报文处理。对正确接收的报文进行分析处理。

4 程序设计

程序设计中主要对初始化程序、中断接收程序、报文发送程序、报文处理程序等程序分别进行设计。

4.1 初始化程序

初始化程序主要完成MCU和RS-485收发器管脚的初始化, 并开启串口接收中断。

4.2 中断接收程序

中断接收程序主要对符合数据帧格式的报文进行接收, 根据报文中的目的节点过滤掉发给其它节点的报文, 并对报文进行帧校验, 最后设置相应的标识位, 供接收数据处理程序使用。

为避免对方快速发送多组报文, 使接收方来不及处理而导致丢失报文, 我们采取双缓存的方式, 即设置两个接收缓存区, 轮流存储接收到的报文, 对缓存区的占用情况设置标志位。

4.3 报文发送程序

报文发送程序主要是将任意长度的报文发送到总线上。由于485总线通信始终在接收/发送之间切换, 为保证总线可靠工作, 状态切换时应做适当延时, 等总线状态稳定后, 再进行数据的收发。具体方法是在数据发送状态下, 先将485_DIR置“1”, 延时2ms, 再发送数据, 数据发送完成后, 延时2ms, 直接将485_DIR置“0”。这种处理可有效提高总线的稳定性, 增强数据传输的可靠性。延时时间的取值与波特率有关, 波特率越小, 延时应越大。

4.4 报文处理程序

为了保证中断接收程序始终能快速响应对方发来的数据, 我们把报文处理程序放在中断之外, 以免程序处理当前报文用时过长, 影响下一组报文的接收。在主程序中通过对接收标志位的判断来调用报文处理程序, 根据接收报文内容的不同给出相应的响应。

5 结语

本文中介绍了一种多主机通信的485总线通信实现方法, 该方法适用于工作环境相对恶劣、多主机随机通信需求较高的场合, 目前已应用到某模拟训练系统, 经两年多的使用, 系统运行稳定可靠。在具体实践中, 对于工作条件较好时, 为提高效率可对通信协议进行精简设计, 如缩短帧结构、简化通信过程等, 藉此可减少总线占用时间, 缩短节点响应时间, 达到更为理想的通信效果。

摘要:针对RS-485总线多个节点之间无法自由通信的问题, 介绍一种多主机通信方法, 以探讨总线接口电路和组网方式, 并通过设计通信协议和规划通信过程, 完成相关程序设计。此方法在某装备模拟项目中得到应用, 取得了预期的效果。

关键词:RS-485,多主机,接口电路,通信协议

参考文献

[1]陈铁军, 谢春萍.PC机与RS 485总线多机串行通信的软硬件设计[J].现代电子技术, 2007 (5) :103-105

[2]吴桂林郑建勇.RS485上下位机多机通信网络系统设计[J].微计算机信息, 2008, 24 (12-3) :112-113

[3]潘群, 向军, 王琳.RS-485串行通信接口电路的设计与应用[J].常州工学院学报, 2009, 22 (3) :38-42

[4]魏金文, 马维华, 吴侨.RS-485的多机通信方案探究[J].单片机与嵌入式系统应用, 2012, 10:76-78

[5]郝涛, 陆宣博.基于RS485主从串口通讯协议的设计[J].装备制造技术, 2013, 3:38-40

[6]胡文涛.一种基于协议的提高RS-485实时性的方法[J].现代电子技术, 2013, 36 (18) :10-12

RS485现场总线 篇6

为了保证大型机械设备的正常运行和延长其使用寿命,需要配置润滑系统为各个润滑点定期提供润滑油或润滑脂。传统的集中润滑系统包括双线式润滑系统和递进式润滑系统。双线式润滑系统采用多个分配器以并联方式连接在主供油管路上,各润滑点的供油量可以通过调节分配器供油活塞的限位螺母实现,差压开关可以检测系统是否存在漏油故障,但是双线式润滑系统不能检测某个润滑点出现的堵塞故障。递进式润滑系统采用单线供油,供油动作按顺序进行,系统结构简单、维护量小,但一个润滑点出现故障将造成整个润滑系统瘫痪[1,2]。因此,传统的集中润滑系统不能保证每一个润滑点都能得到合理的润滑。采用分布式集中润滑系统可以有效地克服传统的集中润滑系统存在的问题。在分布式集中润滑系统中,上位机通过通信总线与各个供油终端组成分布式网络,供油终端根据主控制柜发出的指令完成润滑、现场参数检测等任务。

在钢铁、冶金、电力等企业,大型机械设备多,需要的供油终端数量多、分布位置跨度大、工作环境干扰严重,对润滑系统的通信节点数、传输距离和可靠性提出了较高的要求。RS485总线通信具有结构简单、价格低廉、通信距离和传输速率适当等特点,因而被广泛应用于工业控制及测量领域[3]。

本文将从通信协议制定、硬件设计、软件设计等方面讨论RS485总线在分布式集中润滑系统中的应用。

1 分布式集中润滑系统的总体结构

分布式集中润滑系统由监控主机、主控制柜、供油终端、润滑泵等组成,结构简单,易于扩展,可以真正实现逐点供油与逐点检测功能。该系统总体结构如图1所示。

监控主机采用工控机,运行组态控制软件,具有参数设置、润滑调度、实时监控、故障处理等功能。主控制柜采用PLC作为控制器, 全面协调系统各个部分的工作,具有运行控制、检修、工况查询等功能。主控制柜通过RS485总线与各个供油终端构成分布式网络。供油终端采用单片机作为控制核心,其结构如图2所示。

供油终端可以控制若干个继电器的通断,从而控制供油电磁阀的开闭或润滑泵的启停;根据主控制柜发出的润滑指令对所辖的润滑点进行润滑,同时还要检测流量、压力、温度等参数;设置有人机接口,用于设定润滑点的编号和显示润滑点的工作状况;所有供油终端下的润滑点采用统一编号,主控制柜可以不受限制地控制任何一个、一组、一段或者全部的润滑点(为了保存编号等设定的参数,系统要扩展EEPROM存储器)。供油终端承担了大部分的现场测控任务,减轻了主控制柜的这算负担,提高了系统的可靠性。2台电动高压润滑泵作为特殊润滑点接于供油终端上,其中一台备用。主控制柜通过供油终端获取油压信号,当油压正常时才能发送润滑指令。实际运行中,一个供油终端下的润滑点不会同时工作,因此,在供油终端的进油口装设一个流量传感器便可实现定量润滑功能。准确的流量信息为检测漏油、堵管故障提供了条件。

2 RS485总线接口的硬件设计

供油终端的RS485总线接口电路如图3所示。

图3中,接口芯片采用TI公司生产的SN65LBC184,该芯片内置高能量瞬变噪声保护装置,能够承受峰值为400 W的过压瞬变,可抵抗雷电冲击和高达8 kV的静电放电冲击;输入端开路时提供高电平输出失效保护;接收器输入电阻高,允许在总线上挂接128个类似器件[4];自然通风条件下的工作温度为-40~85 ℃,完全满足润滑系统要求。为了提高抗干扰能力,单片机控制口通过光耦与SN65LBC184相连。单片机I/O口P3.6输出高电平时选中DE端,允许发送,输出低电平时选中RE端,允许接收。由于51单片机复位时各I/O口输出高电平,这种反逻辑驱动使SN65LBC184在系统异常复位时始终处于接收状态,避免了各供油终端同时向总线发送数据而引起的总线冲突问题。供油终端控制电路中还配置了看门狗芯片MAX813L,当供油终端控制程序出现故障不能及时对MAX813L的WDI端口(6脚)进行“喂狗”操作时,单片机被硬件复位,SN65LBC184转入接收状态,交出总线控制权。单片机的RxD(P3.0)、TxD(P3.1)也通过光耦与SN65LBC184的RO、DI端相连。为了减少由于总线不匹配引起的反射,在传输线的末端应接一个匹配电阻(双绞线选择120 Ω),即在主控制柜中PLC的串口输出端并联接入120 Ω电阻。某一供油终端的接口芯片如被击穿短路,将造成其它供油终端无法通信,为此,在SN65LBC184的2个输出端各串联了1个20 Ω电阻。RS485标准规定接收器门限电压为±200 mV,当总线空闲时,AB端之间的电压在±200 mV 中间,接收器输出状态不确定,容易受干扰信号的影响。如果接收器的输出为0 V,网络中从机将其解释为通信的起始信号0,错误地接收一些数据。为此,在+5 V电源、A端、B端和电源地之间接入3个10 kΩ电阻, 当总线空闲时,A端电平为3.2 V左右,B端电平为1.6 V左右,在干扰信号的作用下很难产生串行通信的起始信号0,可增强总线的抗干扰能力[5,6]。

3 通信协议构建

(1) 通信方式

该分布式集中润滑系统以基于PLC的主控制柜为主站、各供油终端为从站,通信链路的建立与解除均由主站发出的信息帧控制,即采用主从结构的半双工通信方式。供油终端根据主控制柜的润滑指令可永久、定时或定量打开本终端内的任意润滑点,还可响应主控制柜的状态读取指令上传开关状态、压力、温度等信息。

(2) 传输时序要求

为了保证分布式集中润滑系统安全可靠运行,对通信的传输时序有特殊要求:每次通信均由主站发起,被请求的从站根据命令帧中控制码的要求做出响应;波特率采用9.6 kbit/s;字节之间的停顿时间应小于5 ms,主站发送的信息包间隔应大于400 ms, 如果主站发完信息后300 ms内从站没有响应,则认为本次通信失败;当没有工作指令时,主站应周期性地向从站发送“喂狗”指令,通信总线如果在1.5 s内没有出现通信指令,从站认为主站出现故障,将复位所有正在进行的控制任务。

(3) 信息格式与差错控制

信息包为传送信息的基本单元,其组成如表1所示,由预同步字和信息帧组成。约定主站发送信息包的预同步字为0x35,个数不限,从站发送信息包的预同步字为0x53,个数为3个。主站和从站发送的帧均为11 B的定长帧,依次为帧头(1 B)、控制字(1 B)、数据域(8 B)和检验码(1 B)。数据域的前4 B为润滑点的起始编号和结束编号,后4 B根据控制字不同而取不同的数值。校验码为帧头到数据域之间10 B的算术和,不计溢出值。

根据现场机械设备的润滑需求,制定了完备的润滑方案,主站与从站的控制字约定如表2所示(其中从站的前5个控制字(0x01~0x00)为回复主站读命令)。串口工作于方式3,字符帧由11位组成,包括1个起始位(0)、8个数据位、1个偶校验位和1个停止位(1)。

润滑点编号设定范围为0000~9999,每个从站的起始地址可以任意设置,但必须连续编号。数据域中的润滑点编号为16进制,如要对2001~2005号润滑点进行操作,数据域的前4 B应为0x07、0xD1、0x07、0xD5。一组润滑点的编号可以是跨终端的,为避免总线冲突,只有起始点所在从站负责对主站进行回复。主站对从站的请求指令(如检修开始、检修结束)不回复,从站对主站的通信喂狗指令不回复。从站检测到偶校验出错或累加校验和出错时,均放弃该帧信息并不予响应。主站未接收到应有的回复信息或接收到的信息出现错误,应重新发送指令。

4 通信程序设计

该分布式集中润滑系统的通信程序包括2个部分:PLC主站通信程序和供油终端通信程序,这里只讨论供油终端通信程序的设计。根据供油终端的运行特点,单片机串口采用中断方式接收数据,查询方式发送数据。为方便编程,建立数据接收缓冲区和数据发送缓冲区,各为10 B(不包含帧头)。供油终端通信程序主要的子程序包括串口接收中断服务程序、帧数据发送程序、单字节发送程序。

串口接收中断服务程序流程如图4所示。该程序中设有2个标志位:帧接收状态标志S_R (1表示已进入帧接收,0表示未开始帧接收),帧接收结束标志S_Over(1表示帧接收完未处理,0表示上一帧已处理完可接收新帧)。首先关串口中断,禁止串行口接收,清接收中断标志,接着通过S_Over标志判断上一帧数据是否已经处理完毕,如未处理完则不接收新的数据。如果前一数据为0x35,当前数据为0x95,则可判定数据帧开始,标志位S_R置1,只有当S_R为1时,才将接收的数据依次存入接收数据缓冲区, 10 B数据接收完毕后标志位S_Over置1,帧处理程序完成相应处理后对S_Over清零。在接收过程中,如果某一字节的偶校验出错, 则对S_R清零,相当于放弃该帧信息,重新开始接收。

帧数据发送流程如图5所示,首先生成校验和,然后发送3个预同步字节(0x53)和帧头(0x59), 最后调用单字节发送程序依次发出10 B数据。

单字节发送程序流程如图6所示,串口发送采用查询方式。系统启动后RS485端口默认处于接收状态,需要发送数据时,单片机I/O口P3.6置低

电平选中RE端, 允许RS485发送数据。一个字发送完毕后P3.6置高电平选中DE端,使RS485转入接收状态。

5 结语

基于RS485的分布式集中润滑系统能够满足“按需供油,相互独立,集中监控,易于扩展”的合理润滑要求,代表了集中润滑系统的发展方向,已成功应用于钢铁、冶金等行业,主控制柜与供油终端之间的通信稳定可靠。涉及的通信接口硬件设计、通信协议规划和通信程序设计对于开发类似分布式系统具有一定的参考价值。

摘要:提出了一种基于RS485总线的分布式集中润滑系统的设计方案,给出了分布式集中润滑系统的总体结构,详细介绍了供油终端的RS485总线接口电路、主控制柜与供油终端之间通信协议和通信程序的设计。实际应用表明,该系统能够满足按需供油,相互独立,集中监控,易于扩展的要求。

关键词:润滑系统,分布式,RS485,串口通信,通信协议

参考文献

[1]沈利亚.集中自动润滑系统介绍[J].地质装备,2006,7(2):19-21.

[2]毛胜辉.大型机械设备智能控制润滑的计算机系统研究[D].成都:西南交通大学,2007.

[3]朱志伟,周志光,鲍祖尚.RS-485总线通信系统的可靠性措施[J].单片机嵌入式系统应用,2006(3):68-70.

[4]武汉力源信息.SN65LBC184、SN75LBC184具有瞬变电压抑制功能的差分收发器[EB/OL].[2010-03-06].http://www.icbase.com.

[5]许燕萍,杨代华.RS485串行总线可靠性的研究[J].电子科技,2009(2):8-10,22.

RS485现场总线 篇7

水轮机本体故障多发于定子故障,温度监测是获取其工作状况的有效手段[1]。本文利用TCD-48数字温度巡检仪、RS-485总线和PC机监控分析软件,构成了一个水轮机温度在线监测系统。TCD-48数字温度巡检仪能实现48路温度采集,直接读取各个测点温度值,并通过RS-485总线上送PC工控主机,进行数据显示、保存和后期分析。

1 系统的总体构成

水轮机温度在线监测系统以现有水轮机中的测温元件和数字温度巡检仪为基础,以一台工控微型计算机作为系统主机,通信方式采用RS-485总线技术[2]。RS-485总线通信方式在对通信速度要求不高的情况下,具有实现简单、成本效费比高和数据传输可靠的优点。TCD-48温度巡检仪作为下位机,采集各个测温元件的温度值,并把数据通过总线传送给主机。主机内实时监控系统进行数据分析处理。

一台小型水轮发电机的测温元件一般有16~64个,大中型机组超过100个,分别分布在水轮机的定子和轴承等部位。以某水电站8 MW空冷水轮发电机为例:定子线圈温度有18点,定子铁心温度6点,空冷器热风、冷风各1点,正推力轴瓦温度1点,反推力轴瓦温度2点,水导温度2点,轴承油箱温度1点,油冷却器温度1点,共33点[3]。

TCD-48数字温度巡检仪采用MCS-51单片机为内核,Pt100铂热电阻作为测温元件,测温范围为-200~500℃,测量温度分辨率为0.1℃。TCD-48数字温度巡检仪每台可采集监测48个点。一台大中型水轮发电机,100多个点的温度监控点需要3台温度巡检仪。采用RS-485接口的串行数据总线完成温度巡检仪和工控PC主机的双向通信。RS-485总线传输距离长,大于1 200 m,抗干扰能力强[4]。通过PC主机实现温度在线监控,对单台温度巡检设备可以在30 m内完成48路温度检测,并上送上位机。通过实时监控可以很快发现温度异常,并定位故障源[5]。

1.1 系统硬件结构

图1是总体的系统框图,温度采集数据经采集点进入TCD-48温度巡检仪,温度巡检仪自身带有液晶显示,并简单地根据温度上下限进行声光报警。温度巡检仪通过终端接口挂在RS-485总线上,和上位PC主机保持双向通信。

1.2 RS-485总线结构

在串口通信的3种传输方式中,RS-232、RS-422、RS-485各有优缺点。RS-422工作于全双工通信状态,收发是各2根信号线。RS-485工作于半双工通信状态,任何时候都只能有一点处于发送状态,收发只需2个信号线即可,布网简单、结构可靠[6]。

由于温度巡检仪相对数据发送量少,多点通信,传送距离比较长,要求结构简单可靠,所以本系统采用RS-485布设通信总线,采用MAX491和MAX232模块连接主机PC的RS-232端口与温度巡检仪终端。MAX491是MAXMIX公司生产的RS-485通信收发器,工作于全双工状态,支持32路级联,在低速率通信情况下,传输距离大于2 km。MAX232是同系列的RS-232收发器,工作于半双工状态,主要用于总线RS-485通信模式和PC机RS-232通信模式的转换[7]。通信结构图如图2所示。

由于RS-485通信工作于半双工状态,所以需要对通信过程加以控制。由PC主机发送总召(召唤)命令,对应地址的温度巡检仪上送温度数据和自身状态数据。3台TCD-48数字温度巡检仪,1 min左右即可完成一次轮询,并实现数据的双向通信。

1.3 系统通信协议约定

作为基于RS-485总线通信的分布式温度监测系统,需要拟定于自身的软件通信协议,对通信过程加以控制。考虑到与其他监控系统的数据共享,对其他软件系统预留通信接口。规定如下通信协议。

1.3.1 协议格式

协议格式为

地址、功能码为1个字节,数据长度为2个字节,数据为n个字节,采用CRC累加校验,高位溢出。下发命令和指令返回都为此协议格式。主机PC和TCD-48温度巡检仪波特率均设置为9 600 bit/s,初始状态为串口中断方式。PC主机定时发送召唤数据命令。温度巡检仪收到主机发送的命令时,先判断召唤地址是否与自身相同:如果不同则不响应;如果相同则应答,根据功能码上送主机需要的数据[8]。

PC主机控制通信过程,主机接收到温度巡检仪上送数据后,结束本次通信过程;如果没有收到应答,则继续发送,如果3次不响应则视为线路故障。

1.3.2 命令功能码定义

功能码主要包括温度巡检仪参数读取、设置;校正零点、满点、线性点;读取通道温度数据;设置告警、温度上下限等。

1.3.3 举例

设告警(以下为16进制):发送指令03 06 000731 0064 00C8 1014 7E。

指令中,03为地址,06为设告警功能码,0007为数据长度,31为对所有通道,0064为设置告警,上限为100℃,00C8为设置告警上上限为200℃,1014为设置告警下限为-20℃,7E为校验和。设置成功后返回码为00 06 0007 31 0064 00C8 1014 7E。

2 在线监测程序设计

2.1 程序开发环境和功能模块

PC主机开发环境采用Visual Studio 2008,开发语言为C++。Visual Studio 2008构建了许多开发、调试和代码测试工具,并针对微软基础类库MFC(Microsoft Foundation Class library)界面开发增加了触模板(Ribbons)组件,大幅提高了开发效率和维护便捷性。本文使用MFC完成界面设计,并调用串行通信控件(MScomm)组件完成串口通信的控制[9]。

程序的主要功能包括通信流程的控制、数据的存贮与转发、数据显示与处理分析。系统的服务与功能模块如图3所示。

2.2 温度数据存贮与转发接口

监测系统的温度数据存贮使用开源的My SQL数据库。My SQL是一个真正的多用户、多线程SQL数据库服务器。My SQL是一个客户机/服务器结构的实现,它由一个服务器守护程序mysqld和许多不同的客户程序以及库组成。My SQL提供了一套通信应用程序接口(C API)函数,它由一组函数以及一组用于函数的数据类型组成,这些函数与My SQL服务器进行通信并访问数据库,可以直接操控数据库[10]。使用其提供的函数连接My SQL数据库代码为

考虑到各个系统之间信息的互通性,尤其是和DCS的数据共享,特增加了数据转发接口。设立监听端口2404,双方约定使用excel建立温度测点表,遵循IEC60870-5-104规约,利用主机网口进行通信。

2.3 水轮机温度数据分析

水轮机的温度测温元件主要分布在定子线圈和轴承部位。在水轮机本体故障中,主要是由于空冷或者水冷系统发生故障,如断水、堵塞和水管破裂等。在水电站运行中,需要对水轮机的定子温度施行严格有效的监控,实现对定子温度异常的有效监测和故障征兆的先期识别[11]。

本系统针对实时传送的数据加以数据拟合分析。一组测点的数据的横向比较,可以根据均值分析、曲线拟合,发现异常点,并加以重点分析[12]。图4(a)为某8 MW水轮机定子线圈的16组测温点某一时刻的温度图(图中,θ为温度,n为水轮机定子温度测点),16个测点均匀分布于定子内侧。若有某一处线圈短路或冷却异常,便可通过测点温度的横向比较,迅速加以定位。图4(b)为提取数据库历史数据得到1号测点7月份每天的平均温度值来拟合的曲线图(图中,θ为温度,N表示日期),借此可以分析水轮机定子一个月的温度变化[13]。针对测点历史数据进行数据挖掘、分析,可以进一步分析水轮机本体状态,为运行和维修提供参考[14]。

3 结语

RS485现场总线 篇8

感应加热技术具有加热速度快、热效率高、节能、控温精确、无明火等特点,在钢铁冶炼、汽车制造等行业已经得到广泛应用[1]。为了能将工件快速加热到需要的温度,感应加热电源的功率一般都比较大,但其持续工作时间却较短。在一个供电系统中,有多台感应电源运行时,必须考虑多台感应电源同时工作的可能,因此要求供电系统,特别是供电变压器容量具备多台感应电源同时工作的容量,导致了企业一次性投入增加;同时,大容量变压器的附加损耗也相应增加,从而降低了企业的经济效益。

为了避免大量感应加热电源短时间内同时启动导致的大电流给供电系统和用电设备带来不良影响,本研究针对某水晶加工企业水晶磨削装置自动化项目,提出一种用于短时工作感应加热电源并列运行系统,多台感应加热单机采用RS-485总线构成网络,由一台调度主机协调多台感应加热电源分时运行[2],以达到抑制短时冲击电流,降低供电变压器容量需求和运行损耗的目的。

1 系统总体结构

根据感应加热电源系统要求,笔者设计了1台控制主机和16台感应加热电源的网络系统。该系统结构如图1所示。当磨削中心运行到感应加热工序时,其配置的感应加热单机在主机查询时向调度主机提出申请,调度主机根据当前申请队列先后次序对申请进行分时批复,感应加热单机在接收到调度主机许可指令后才能启动逆变电路,完成加热工序。在主机回复之前感应加热电源处于临时队列等待状态。调度主机采用的是先进先出调度规则,并根据供电变压器容量和系统运行情况确定同时运行感应加热单机的最佳台数,协调多台感应加热并列运行系统与变压器容量之间的关系。

感应加热并列运行控制采用RS485总线通信网络将调度控制主机与感应加热单机相连接。RS485总线的特点是实施简单方便,当采用两线制接线方式时,同一总线上最多可以挂接32个节点,完全可以满足感应加热并列运行系统的组网需要。

2 系统的硬件设计

2.1 感应加热电源单机主电路

感应加热电源单机的主电路由三相整流电路、L型电感电容滤波电路、串联谐振电路、IGBT单相全桥逆变器等组成,如图2所示。之所以采用串联谐振,其一是串联谐振不需要附加的启动电路,启动较容易,适合频繁启动场合,且对工作现场环境要求不高,采用串联谐振,其引线电感只会改变谐振频率工作点,而不会对效率有太大的影响。三相整流电路采用不可控整流,根据磨削工序加热的特点,加热温度采用脉冲密度控制,即按最大加热功率加热,由控制加热的时间来控制其温度,达到温度即停止加热。为了弥补加热温度受逆变电压的影响,设置电压测量回路,电压降低时在加热的时间上作补偿。逆变器采用IGBT电力电子元件,逆变器的电路型式为单相全桥逆变。在逆变环节采用TMS320F2812数字信号处理器,由数字锁相环跟踪被加热负载及其谐振回路的谐振频率[3],从而使感应加热系统工作在准谐振状态,处于近似谐振软开关的环境。

2.2 感应加热单机控制器和调度控制主机硬件设计

感应加热电源单机控制器和调度控制主机都采用基于TMS320F2812数字信号处理器(DSP)的硬件架构,其频率高达150 MHz,能够提供150 MIPS,32位定点运算能力和分辨率高达6.67 ns的高精度脉宽调制(PWM)控制,同时具有低成本、低功耗的优点[4]。TMS320F2812数字信号处理器提供两组异步串行通信接口(SCI),并分别设计成RS485和RS232两种通信方式,其中RS485的共享总线方式用于感应加热系统的组网;RS232通讯接口用于和集成控制器的联机通讯。控制器的硬件结构示意图如图3所示,其中调度控制主机无需IGBT逆变输出,其相应的数字I/O端口闲置。

3 系统软件设计

限于篇幅,本研究仅对调度控制主机的软件进行介绍。调度控制主机的软件设计分为供电变压器监测、加热电源通讯与队列处理以及与管理计算机数据通讯3部分。调度主机控制软件的结构流程图如图4所示。软件开发基于TI的Code Composer Studio 2.21交叉编译环境,代码编程采用嵌入式C语言与TMS320F2812 CPU汇编相结合的方式来实现,其中嵌入式C语言用来构建调度程序结构,实现通讯协议,汇编程序处理高速模拟量采集与分析、加热单机快速队列请求与批复;并通过该编程方式实现控制软件良好的实时性、可维护和可移植性。

3.1 供电变压器监测软件

供电变压器检测软件是实现感应加热电源多机并列运行时抑制冲击电流这一主要目标的重要依据。依据前述调度主机硬件设计,监测软件采用汇编方式从DSP片内集成A/D转换器采集供电变压器的三相交流电压和输出电流瞬时波形。采用离散傅里叶(DFT)分析6路交流信号,以获得电压、电流有效值及其频谱信息[5],并通过滑动窗口采样方式提高DFT整周期分析方式的快速响应能力。在提取电流、电压有效值和电压瞬时跌落等信息后,检测软件对变压器的带载能力做出动态评估,并为队列调度处理软件提供最大并列运行电源数量的实时指标。

3.2 加热电源通讯与队列处理软件

加热电源通讯与队列处理软件是多机并列调度运行的核心,软件包括通讯和队列处理两个部分。通讯部分用来接收队列请求和发送批复。在进行多机通讯时,为了避免总线阻塞,无论是队列请求或是准许批复都采用主机广播查询的方式。主机进行队列调度处理时,先依据请求时刻先后将其排成队列,然后查询已经打上运行标签的单机数量,并依据从供电变压器监测软件获取的最大并列运行数量,从队列最底部逐个发出批复准许指令。

3.3 管理计算机的数据通讯软件

调度主机与管理计算机采用RS232通讯接口,通讯方式采用16字节长帧方式,帧协议如表1所示。为了增强通讯的可靠性,帧数据格式不仅设置了专门的校验字节和固定的头尾字节,而且对通讯方式也采用了有效数据完整回复校验的模式,从而避免了指令的误传和误收。

4 实验结果

实验采用的水晶多面体磨削中心总功率为50 kW,其中感应加热部分为30 kW。由于实验场地供电变压器容量为630 kVA,只对全部磨削设备中的12台进行调度与非调度对比实验,并且除了试验必需的用电外,其他用电设备暂时停止使用,试验过程供电变压器输出电流每秒采样5次并存贮在调度主机内置的64 MB闪存中。非调度运行模式下连续1 000 s变压器输出电流记录如图5所示,最大电流达835 A,最小电流约为280 A,相差555 A。调度控制主机运行时的变压器输出电流记录如图6所示,图中最大电流为485 A左右,调度运行方式下,感应加热单机等待时间约为运行时间的4%。

5 结束语

本研究提出的感应加热电源并列运行系统基于RS485通讯方式将多台感应加热电源单机相互连接,并采用1台调度控制器负责协调各单机加热装置的启动与运行关系,运用数字化控制与通讯技术有效抑制了多台加热装置同时工作对配电网带来的冲击电流,但对多机并列运行效率的影响很小。实验结果表明,该方案可以明显减小供电变压器的容量需求,降低企业一次性投入和运行成本,在多台感应加热电源并列运行应用中具有现实意义。

摘要:为避免大量感应加热电源短时间内同时启动导致的大电流对供电系统和用电设备带来的不良影响,研制了一种基于RS485总线的感应加热电源并列运行系统,在主机的控制调度下多个感应加热电源有序启动并短时运行,避免了感应加热电源出现瞬时大量并列运行的拥堵现象。实验结果表明,该系统能有效抑制多台感应加热电源同时工作对配电网带来的冲击电流。

关键词:感应加热,串联谐振,数字信号处理器,RS485

参考文献

[1]潘天明.现代感应加热装置[M].北京:冶金工业出版社,1996.

[2]文红,王玉芬.基于RS485总线的热处理加热炉群监控系统[J].机电工程,2006,23(9):64-66.

[3]孙中记,郭吉丰.基于锁相环电路的超声波电机频率跟踪系统[J].机电工程,2008,25(5):58-60.

[4]苏奎峰,吕强,耿庆锋,等.TMS320F2812原理与开发[M].北京:电子工业出版社,2005.

上一篇:《图书馆工作与研究》下一篇:东北林区