1 / 16
文档名称:

基于+msp430+的+modbus+协议转换器的设计.doc

格式:doc   大小:115KB   页数:16页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

基于+msp430+的+modbus+协议转换器的设计.doc

上传人:iris028 2019/12/22 文件大小:115 KB

下载得到文件列表

基于+msp430+的+modbus+协议转换器的设计.doc

文档介绍

文档介绍:基于MSP430的MODBUS协议转换器的设计基于MSP430的Modbus协议转换器的设计严顺吉,尹斌河海大学电气工程学院~江苏南京,210000,摘要:协议转换是工业现场不同网络设备互连的关键~本文利用MSP430F149的双USART~方便得实现了ModbusRTU通信协议在串行网络上的应用~实现了电源系统中UPS的监控数据功能集成。关键词:Modbus,UPS,MSP430,,工控机要对串行网络上具有不同通信接口和通信协议的UPS、直流屏等进行方便的集中监控和数据采集,就有必要设计协议转换器,采用统一的标准,例如Modbus通信协议进行数据的交换。,若干个协议转换器,不同型号的UPS以及其他Modbus接口的现场设备组成。而协议转换器主要由MCS430单片机,串行接口电路,光电隔离,多个DC/DC电源模块,LED指示和电源监视及复位控制电路等构成,系统结构如图1。DCS。。。其他设备接口转换器1转换器2。。。执行、监测机构UPS1UPS2图1系统结构图MSP430F149是MSP430系列单片机的一个型号,本装置主要利用它双USART和2K的片内RAM的特点,方便软件设计。2K的片内RAM提供足够大的内存作为数据缓冲区,虚拟Modbus的保持寄存器。MSP430系列的串行通信模块是每一种型号都有的,可分为两种实现方式:一是直接的硬件通用串行同步/异步模块(USART);二是通过定时器模块的支持实现的串行通信功能。两者区别很大:前者是硬件实现的,通常叫做USART模块,用户对它的使用是通过在硬件原理的理解下,在一系列寄存器的设置之后,由硬件自动实现数据的移进和移出,完成串行通信功能,同时还能实现两种通信协议,即UART异步通信协议和SPI同步通信协议;后者是在定时器的作用下,人工地、通过用户软件控制,一位一位地将数据由端口送出或接收进来,因此常被称为软件串行口。[3]-1-,如今已经成为全球工业领域最流行的通信协议之一。此协议支持传统的RS-232、RS-422、RS-485标准和以太网设备。许多工业自动化设备,包括PLC、DCS、智能仪表等都在使用Modbus协议作为通讯标准。通过它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。Modbus网络上,每个控制器应具有唯一设备地址,以此识别发来的消息以及决定要执行的操作。如果需要回应,控制器将生成应答并使用Modbus协议发送给询问方。在通信过程中一旦从机离线(如故障或关机),主机可以立即诊断出来,而当故障修复后,网络又可自动接通。由此可见,Modbus协议的可靠性较好。[2]Modbus协议主要分ASCII、RTU、TCP等通讯格式,它定义了控制器能够认识和使用的消息结构,而不管它们是经过何种网络进行通信的。应用在串行通信的Modbus的ASCII、RTU协议规定了消息、数据结构、命令和应答的方式,一般情况下数据通讯采用主从方式,主机发出数据请求消息,从机接收到正确消息后就可以发送数据到主机以响应请求;主机也可以直接发送消息修改从机的数据,实现双向读写。Modbus协议需要对数据进行校验,串行协议中除有奇偶校验外,ASCII模式采用LRC校验,RTU模式采用16位CRC校验。该本系统采用了RTU模式。在协议中,信息帧的结构如表1[4]所示。×:信息帧的第一字节(8位),从0到255。这个字节表明由用户设置地址的从机将接收由主机发送来的信息。每个从机都必须有唯一的地址码,并且只有与地址码相符的从机才能响应回送。当从机回送信息时,相应的地址码表明该信息来自于何处。功能码:主机发送的功能码告诉从机执行什么任务。表2[4]列出了两个最常用的功能码的具体含义及操作。其中03用作数据采集,06用于UPS的监控,例如UPS的测试、关机、地址设置等。表2功能码的定义代码含义操作03读取保持寄存器在一个或多个保持寄存器中取得当前的二进制值06预置单寄存器把具体二进值装入一个保持寄存器数据区:包含需要从机要执行的动作信息以及由从机采集的返回信息。这些信息可以是数值、参考地址等等。例如,功能码告诉从机读取寄存器的值,则数据区必需包含要读取寄存器的起始地址以及读取长度。对于不同的从机,地址和数据信息都不相同。错误校验码:主机或从机使用校验码判别接收的信息是否出错。由于线路存在干扰,信息在传输过程中有时会产生误码,错误校验码则用于辨认主机或从机对传送过程中出错的信息,从而确保通信无误。在RTU模式中错误校验采用CRC(循环冗余码)校验方法。