资源描述:
《基于MODBUS通讯的信号采集卡的设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《现代电子技术》2005年第20期总第211期集成电路基于MODBUS通讯的信号采集卡的设计程胜勇,刘暾东(厦门大学福建厦门361005)摘要:在分布式数据采集与监测系统中,往往需要实时采集远程被控对象的各种参数,并与上位控制中心进行数据交换。本文介绍了基于MODBUS通讯协议的信号采集卡硬件和软件设计。其硬件主要分为信号采集和通信2部分。本卡主要采集各种数字量,如按键是否按下,继电器是否闭合等。由于PC机串行口最大传输距离仅为50~100ft,因此采用RS485总线实现数据的远程传输。软件部分采用C语言编写下位机程序,而上位机界面的搭建选用VB。该采集卡可以运用到许多实际的工控场合。关
2、键词:RS485总线;MODBUS协议;信号采集;通信中图分类号:TN915.05文献标识码:B文章编号:1004373X(2005)2002502DesignofSignalCollectionCardBasedonMODBUSCommunicationCHENGShengyong,LIUDundong(XiamenUniversity,Xiamen,361005,China)Abstract:Indistributeddatacollectionandsupervisionsystems,itisneededtocollecttheparametersofthecontrolledob
3、jectandexchangedataswithmastercontrolcenter.ThepaperintroduceshardwareandsoftwaredesignofsignalcollectioncardwhichisbasedonMODBUSprotocol.Thehardwareismainlycomposedbytwoparts,signalcollectionandcommunication.Thiscardmainlycollectsdigitaldatas,suchasstatesofbuttonsorrelays,andsoon.Becausethemaxtra
4、nsportdistanceofserialportofPCisonly50~100ft,soRS485Busisusedtorealizetheremotedatatransmission.ThesoftwareofslavecomputerisprogrammedbyC;whiletheinterfaceofmastercomputerisbuiltbyVB.Thecardcouldbeappliedtomanyindustrialcontroloccasions.Keywords:RS485Bus;MODBUSprotocol;signalcollection;communicati
5、on本文介绍的基于MODBUS通信的信号采集卡正是1引言采用RS485通信方式。以单片机为主体构成的分布式数据采集和控制系统,2系统设计以其电路结构简单、工作稳定可靠而被广泛应用在工业控制系统中。2.1硬件设计目前广泛使用的单片机产品芯片中都集成了串行通采集卡的硬件主要分2部分,分别完成数据采集和通信的接口。使用这些通信接口和RS485接口驱动芯片就讯的功能,如图1所示。可以构成总线型通信网络,从而将多台单片机系统连接成一个分布式数据采集和控制系统。这种RS485网络结构具有接口简单、灵活性好、价格低、易于控制等优点,可广泛应用于工业控制系统中。目前,在DCS中,主机大多采用PC机,其串行
6、口为图1数据采集和通讯的功能标准RS232口。但由于RS232不易进行长距离的数据传本卡采集的是数字量信号,如现场的继电器状态、按输,存在共地噪声且不能抑制共模干扰。键是否被按下、开关闭合与否。在采集信号进入微处理器目前广泛采用的是RS485收发器。RS485收发器采CPU之前,先经过74LS244驱动器。图2给出采集8路数用平衡发送和差分接收,具有抑制共模干扰的能力,加上字量信号的硬件图。收发器具有很高的灵敏度,能检测低达200mA的电压。通讯接口是采集卡的另外一个组成部分,选取收稿日期:20050629MAX483作为RS485通讯的收发器,并选用6N137作为基金项目:福建省青年科技
7、人才创新项目(2004J020)输入输出隔离器,如图3所示。25制造与设计程胜勇等:基于MODBUS通讯的信号采集卡的设计2.2软件设计voidint1(void)interrupt4{ucharaddr;2.2.1MODBUS通信协议ES=0;采集卡与主机的通信采用MODBUS协议。MODBUSRI=0;是应用于电子控制器上的一种通用语言。此协议定义了一addr=SBUF;个控制器能识别的消息结构,而不管他是经过何种网