仪 器 仪 表 学 报 2003年8月
一种基于RS485总线的远程数据通信系统
1
Ξ
潘 浩1 李洪彪2 张朝晖3
(石油大学信控学院 东营 257061) 2(胜利油田胜大集团 东营 257000)
3
(北京科技大学信息学院 北京 100083)
摘要 介绍了单片机和微机通过RS485总线进行远程通信的软硬件设计方法,并结合实例给出了系统的几种特殊应用。关键词 串行通讯 RS485总线 单片机 动态数据交换
ADesignofRemoteCommunicationSystemsViaRS485Bus1
Pan Hao LiHongbiao ZhangZhaohui
1
(SchoolofInformationandControlEngineering,UniversityofPetroleum,Dongying257061,China)
Abstract ThepaperisfocusonadesignofcommunicationsbetweenlocalmeterandremotecomputerbasedonRS485bus.Someschemes,suchaenergysaving,longerdistanceandDDEarepresented.
Keywords Serialcommunication RS485bus Single2chipprocessor DDE(Dynamicdataexchange)
如图1,由于全双工方式需要2对双绞线,为节约
1 引 言
自动化仪表的数字化、分散化、网络化,即现场总线,是其重要的发展方向之一。它克服了DCS系统的控制和采集相对集中、系统封闭的缺点。它将现场的智能模块赋予强大的采集和控制功能,把各模块和远程监控微机通过双绞线作总线,按照开放的、规模的通信协议连成网络,从而使控制更灵活,危险更分散。其通讯协议主要有
FF、LonWorks、Profibus、CAN等几种,但它们都较为复
成本和简化控制,这里采用半双工两线制方式。系统首先将单片机的信号和串行电平接口芯片如(MAX483,
75176等)相连,进行TTLRS485电平互转,作为一个
节点连接到由双绞线组成的RS485总线网络上,再在远程微机端用电平转换模块(如Adam4520等)进行
RS485RS232电平互转后和计算机串口相连。每个节
点都有自己的独立的地址。通过远程微机端发送带有地址码的命令码,由各个节点对命令进行监听,和命令码中的地址相匹配的节点将在规定的时间内完成规定的读写操作,并返回相关信息。
杂,需要专门的硬件支持。针对目前仪表过渡阶段而言,
RS485总线通讯方式更为简洁灵活。由于其传输速率高,误码率低,距离远(不加中继器时有效传输距离可达1200m),硬件接口简单,软件易实现,性价比较高等优点
使得基于RS485协议的系统更适合于现场,特别是中小型数据采集和控制系统的应用。本文将给出一种基于该总线的数据采集和控制系统的软硬件设计方法及诸如节电、中长距离通信、和DDE接口等的应用。
2 单片机与微机远程通信的实现
2.1 实现RS485总线通信的一般应用
Ξ
图1 RS485网络通信的一般模式
2.1.1 单片机编程
本文得到石油大学博士基金资助。
468仪 器 仪 表 学 报 第24卷
目前,单片机一般都自带串口通讯SCI方式,只要初始化设置好传输波特率和数据传输格式,即可实现简单的RS232格式的标准数据输入输出。在对节点进行编址时,有硬件和软件设定两种。硬件是通过拨码开关设置,其接口简单,但浪费硬件资源。因此在硬件资源有限有情况下,则需要通过软件设定。在本设计中,由于需要,使用美国Microchip公司的自带EPROM和SCI模式的PIC16F876芯片。该芯片体积小,IO口较少。为节约资源,由软件设定节点地址(范围为01~
99),并以ASCII码的形式存于单片机的EPROM中。
2
2
是,必须考虑节点的响应时间,否则会因采样时间太短而导致节点间的冲突。
2.2 系统的特殊应用2.2.1 节电应用
如图1,对于电源不稳的情况,若由于某种原因节点外部电源突然关闭,由内部备用电池供电的系统,通过将节点的外部电源电压引入单片机引脚作为数字输入,若为1正常操作,若为0,则关闭仪表的异步通讯方式,并使仪表进入低功耗模式,同时使RS485接口芯片所有数据端电平为低,防止电压通过数据端的耦合至芯片消耗电能,从而使仪表的功耗降到最低,实践证明该方法十分有效。
2.2.2 用电台发送和接收信号
其通讯部分程序框图如图2。
对于部分距离较远如2~10km的场合,可以将距离较近的几个节点通过485总线连接到位于某频点上双向电台。在微机端接上同频点的双向电台,接入计算机串口。其他操作不变。该应用可有效节省RS485总线远传信号所需中继器的费用,特别适合于局部应用。
2.2.3 通过DDE与工控软件组态王的连接
DDE(动态数据交换)是进程间的通讯方法。进程
间的通讯包括进程间及同步时间之间的数据传递。
DDE使用共享内存来实现进程间的数据交换及使用
协议达到传递数据的同步。许多软件都支持DDE连接,如组态王软件、EXCEL表、VB程序等。在本设计中,通过把数据发送至显示表的同时,发送至后台运行的Excel表。设置组态王的DDE连接设备项目名Ex2
图2 单片机程序框图 图3 上位机程序框图
cel.exe,话题名Excel表相应sheet名进行DDE连接,
2.1.2 上位机编程
再用变量和Excel表相应的x行y列数据RxCy对应。
上位机中使用多串口连接多台设备,每个串口分别对应于各自的RS485RS232转换模块。如图3所示,本设计中使用Access建立地址数据表,每个记录的内容包括节点的地址,节点所连接的串口号等内容。通过查表,向某端口某地址的节点发送指令。如读取当前记录的端口号为2,地址号为13,若发读指令则将向端口2发送AA0103B0。若成功,则串口2上地址为13的节点将返回规定格式的数据到微机,经组合分析正确后,发送到显示数据表相应记录中;若未得到响应
(返回C2或无返回值),可要求该节点重发或忽略通
3 结 论
作为一种廉价便利的通讯方式,基于RS485总线的系统具有接口简单,性价比高等优点,其应用前景广阔。
参考文献
1 王有绪,许杰,李拉成.PIC系列单片机接口技术及其应
用系统设计.北京:北京航空航天大学出版社,2000.
2 组态王6.0使用手册.北京亚控科技发展有限公司.
2001.
讯错误。若在最大允许未连接时间(该节点连续未响应次数×采样时间间隔×轮询一次的节点数)内未响应,则表示通讯故障,应对数据进行相应处理。值得注意的
因篇幅问题不能全部显示,请点此查看更多更全内容