现场总线的开关量I/O模块的设计:MODBUS 现场总线技术

发布者:烟雨江湖最新更新时间:2013-05-29 来源: 21ic关键字:MODBUS  现场总线  开关量 手机看文章 扫描二维码
随时随地手机看文章

2 MODBUS现场总线技术综述

2.1 MODBUS总线技术简介和特点

MODBUS是Modicon公司1979年最先倡导的一种通信协议,经过许多公司的实际应用,逐渐被认可,成为一种应用于工业控制器上的标准通信协议,由于其功能比较完善而且协议开放,因此,被广泛应用于工业现场,在微机化测量设备之间实现双向串行多节点数字通信。连接单个分散的测量控制设备,使之可以相互沟通信息、共同完成自控任务的网络系统与控制系统,具有分散控制、使用简单、简化系统结构、数据易于处理、节约硬件设备、易于安装和维护等优点。

MODBUS串行链路协议是一个主/从协议。适用于半双工的RS-485总线。协议规定总线上有一个主机,多个从机,每个从机分配唯一的地址。工作时可以采用命令/应答的通讯方式。MODBUS通讯总是由主站发起请求,所有的从设备都接收并解析其中的地址信息,与地址不匹配的从站抛弃该请求帧,继续侦听总线;只有与地址相匹配的从设备对该请求帧进行进一步解析,并回应应答帧。若解析后校验的结果出错,从站向主机发送出错信号。一般情况下,当主机收到出错应答或在用户设定的时间内仍未收到响应报文时,主站就会立即重发信息给从设备。这种一问一答的通信模式,大大提高了通信的正确率。从站没有收到来自总站的请求时,将不会自动发送数据。从站之间也不能互相通信。在某一时刻主站只能启动一个MODBUS事务处理。

数据传输以帧为单位,将报文作为一帧数据,报文是由发送地址、控制信息、发送数据、校验信息按一定格式组成的一个数据单元。主设备发出的请求帧和从设备发出的应答帧都是以地址开头的。

2.2 MODBUS协议在串行链路层上的实现

串行链路上的MODBUS系统可以使用不同的物理接口作为其物理层标准。最常用的接口是RS485两线制接口,RS485四线制接口可作为附加选项用。当只需要短距离的点到点通信时,也可以使用RS232串行接口作为MODBUS系统的物理接口。图2.1给出了MODBUS协议与ISO/OSI网络模型的对应关系。

2.2.1 MODBUS主/从协议原理

MODBUS串行链路协议位于OSI模型的第2层,是一个主/从协议。基于串行链路实现的MODBUS系统中,有且仅有一个主节点(客户机、主站)能够向其他从节点发出请求报文并处理响应,从节点在没有收到主站的请求时并不主动向总线上发送数据,也不与其他从节点通信。

主站可通过单播和广播两种方式向从站发出MODBUS请求。在单播模式下,主站寻址单个从站。从站接收并处理完请求后,向主站返回一个应答。而对于广播模式的请求,主站可以向所用从站发送请求,但该请求必须是写命令,且从站没有应答返回。

2.2.2 MODBUS总线两种串行传输模式

传输模式定义了链路上串行传送报文域的位内容,并确定了信息是怎样打包为报文及如何解码。MODBUS有两种串行传输模式,即RTU模式和ASCII模式。

●ASCII传输模式

在ASCII模式中,用两个ASCII字符发送报文中的一个8位字节。报文中用特定的字符表示起始和结束。这种模式的主要优点是允许两个字符之间的时间间隔可达到1秒而不发送错误。如果出现更大的间隔,则正在接收的设备认为出现错误。表2.1所示为ASCII模式字符中的位序列。每个字节包括1个起始位(逻辑0)、7个数据位(首先发送最低有效位)、1个奇偶校验位和一个停止位(逻辑1 )。其中,奇偶校验位默认为偶检验,为保证最大兼容性,也可选择奇校验或无校验(用一个停止位填充)。

ASCII模式的错误校验采用纵向冗余校验(Longitudinal Redundancy Check-LRC)。报文以一个冒号(:)字符开始,即ASCII码3AH;并且以一个回车换行符(CRLF)结束,即ASCII码0DH和0AH.网络设备不断检测网络总线上的“:”字符,当一个冒号被接收到时,每个设备都解码下个域(地址域)来查明是否是被访问的设备。ASCII报文帧格式如表2 .2所示:

●RTU传输模式

在RTU( Remote Termina lUint -远程终端设备)模式下,一个报文中的每个字节包含两个4位的十六进制字符。这种模式的主要优点是:在同样的波特率下,它的高字符密度运行比ASCII方式传送更多的数据,具有比ASCII模式更高的吞吐率。在本设计中采用RTU传输方式。表2 .3所示为RT U模式字符中的位序列。每个字节包括1个起始位(逻辑0 )、8个数据位(首先发送最低有效位)、1个奇偶校验位和一个停止位(逻辑1 )。其中,奇偶校验位默认为偶检验,为保证最大兼容性,也可选择奇校验或无校验(用一个停止位填充)。

RTU报文帧格式如表2.4所示。典型的RTU报文帧没有起始位,也没有停止位,而是以至少3.5个字符时间的停顿间隔标志一帧的开始或结束。报文帧由地址域、功能域、数据域和CRC校验域构成。所有字符由16进制0-9,A-F组成。RTU报文帧格式如图2 .5所示:

在RTU模式中,整个报文帧必须作为一个连续的数据流传输。如果在报文帧完成之前有超过1.5个字符时间停顿间隔发生,接收设备将刷新未完成的报文并假定下一个字节将是一个新报文的地址域。同样地,如果一个新报文在小于3.5个字符时间内紧跟前一个报文开始,接收设备将认为它是前一个报文的延续。这些都会导致传输的报文错误。

消息帧的地址域包含一个8Bit.可能的从设备地址是0-247(十进制)。单个设备的地址范围是1- 247.主设备通过将要联络的从设备的地址放入消息中的地址域来选通从设备。当从设备发送回应消息时,它把自己的地址放入回应的地址域中,以便主设备知道是哪一个设备作出回应。地址0是用作广播地址,以使所有的从设备都能认识。当Modbus协议用于更高水准的网络,广播可能不允许或以其它方式代替。

2.3错误检测域

当选用RTU模式作字符帧,错误检测域包含一16 Bits值(用两个8位的字符来实现)。错误检测域的内容是通过对消息内容进行循环冗长检测方法得出的。CRC域附加在消息的最后,添加时先是低字节然后是高字节。故CRC的高位字节是发送消息的最后一个字节。

CRC-16错误校验程序如下:报文(此处只涉及数据位,不指起始位、停止位和任选的奇偶校验位)被看作是一个连续的二进制,其最高有效位( MSB )首选发送。报文先与X↑16相乘(左移16位),然后看X↑16 + X↑15 + X↑2 + 1除,X↑16 + X↑15 + X↑2 + 1可以表示为二进制数11000000000000101.整数商位忽略不记,16位余数加入该报文( MSB先发送),成为2个CRC校验字节。余数中的1全部初始化,以免所有的零成为一条报文被接收。经上述处理而含有CRC字节的报文,若无错误,到接收设备后再被同一多项式( X↑16+ X↑15 + X↑2 + 1)除,会得到一个零余数(接收设备核验这个CRC字节,并将其与被传送的CRC比较)。全部运算以2为模(无进位)。

习惯于成串发送数据的设备会首选送出字符的最右位( LSB -最低有效位)。而在生成CRC情况下,发送首位应是被除数的最高有效位MSB.由于在运算中不用进位,为便于操作起见,计算CRC时设MSB在最右位。生成多项式的位序也必须反过来,以保持一致。多项式的MSB略去不记,因其只对商有影响而不影响余数。

生成CRC-16校验字节的步骤如下:

(1) 16位CRC寄存器置成FFFFH

(2)第一个8位数据与CRC寄存器低8位进行异或运算,结果放入CRC寄存器;

(3) CRC寄存器向右移一位,HSB填零,检查LSB ;

(4)(若LSB为0 ):重复3,再右移一位。(若LSB为1 ):CRC寄存器与oxA001进行异或运算;

(5)重复3和4直至完成8次移位,完成8位字节的处理;

(6)报文的下一个字节重复2至5步,直至全部字节处理完毕

(7) CRC寄存器的最终值为CRC值;

(8)把CRC值放入信息时,高8位和低8位应分开放置。

CRC码生成流程图如图2 .2所示:

[page]

2 MODBUS现场总线技术综述

2.1 MODBUS总线技术简介和特点

MODBUS是Modicon公司1979年最先倡导的一种通信协议,经过许多公司的实际应用,逐渐被认可,成为一种应用于工业控制器上的标准通信协议,由于其功能比较完善而且协议开放,因此,被广泛应用于工业现场,在微机化测量设备之间实现双向串行多节点数字通信。连接单个分散的测量控制设备,使之可以相互沟通信息、共同完成自控任务的网络系统与控制系统,具有分散控制、使用简单、简化系统结构、数据易于处理、节约硬件设备、易于安装和维护等优点。

MODBUS串行链路协议是一个主/从协议。适用于半双工的RS-485总线。协议规定总线上有一个主机,多个从机,每个从机分配唯一的地址。工作时可以采用命令/应答的通讯方式。MODBUS通讯总是由主站发起请求,所有的从设备都接收并解析其中的地址信息,与地址不匹配的从站抛弃该请求帧,继续侦听总线;只有与地址相匹配的从设备对该请求帧进行进一步解析,并回应应答帧。若解析后校验的结果出错,从站向主机发送出错信号。一般情况下,当主机收到出错应答或在用户设定的时间内仍未收到响应报文时,主站就会立即重发信息给从设备。这种一问一答的通信模式,大大提高了通信的正确率。从站没有收到来自总站的请求时,将不会自动发送数据。从站之间也不能互相通信。在某一时刻主站只能启动一个MODBUS事务处理。

数据传输以帧为单位,将报文作为一帧数据,报文是由发送地址、控制信息、发送数据、校验信息按一定格式组成的一个数据单元。主设备发出的请求帧和从设备发出的应答帧都是以地址开头的。

2.2 MODBUS协议在串行链路层上的实现

串行链路上的MODBUS系统可以使用不同的物理接口作为其物理层标准。最常用的接口是RS485两线制接口,RS485四线制接口可作为附加选项用。当只需要短距离的点到点通信时,也可以使用RS232串行接口作为MODBUS系统的物理接口。图2.1给出了MODBUS协议与ISO/OSI网络模型的对应关系。

2.2.1 MODBUS主/从协议原理

MODBUS串行链路协议位于OSI模型的第2层,是一个主/从协议。基于串行链路实现的MODBUS系统中,有且仅有一个主节点(客户机、主站)能够向其他从节点发出请求报文并处理响应,从节点在没有收到主站的请求时并不主动向总线上发送数据,也不与其他从节点通信。

主站可通过单播和广播两种方式向从站发出MODBUS请求。在单播模式下,主站寻址单个从站。从站接收并处理完请求后,向主站返回一个应答。而对于广播模式的请求,主站可以向所用从站发送请求,但该请求必须是写命令,且从站没有应答返回。

2.2.2 MODBUS总线两种串行传输模式

传输模式定义了链路上串行传送报文域的位内容,并确定了信息是怎样打包为报文及如何解码。MODBUS有两种串行传输模式,即RTU模式和ASCII模式。

●ASCII传输模式

在ASCII模式中,用两个ASCII字符发送报文中的一个8位字节。报文中用特定的字符表示起始和结束。这种模式的主要优点是允许两个字符之间的时间间隔可达到1秒而不发送错误。如果出现更大的间隔,则正在接收的设备认为出现错误。表2.1所示为ASCII模式字符中的位序列。每个字节包括1个起始位(逻辑0)、7个数据位(首先发送最低有效位)、1个奇偶校验位和一个停止位(逻辑1 )。其中,奇偶校验位默认为偶检验,为保证最大兼容性,也可选择奇校验或无校验(用一个停止位填充)。

ASCII模式的错误校验采用纵向冗余校验(Longitudinal Redundancy Check-LRC)。报文以一个冒号(:)字符开始,即ASCII码3AH;并且以一个回车换行符(CRLF)结束,即ASCII码0DH和0AH.网络设备不断检测网络总线上的“:”字符,当一个冒号被接收到时,每个设备都解码下个域(地址域)来查明是否是被访问的设备。ASCII报文帧格式如表2 .2所示:

●RTU传输模式

在RTU( Remote Termina lUint -远程终端设备)模式下,一个报文中的每个字节包含两个4位的十六进制字符。这种模式的主要优点是:在同样的波特率下,它的高字符密度运行比ASCII方式传送更多的数据,具有比ASCII模式更高的吞吐率。在本设计中采用RTU传输方式。表2 .3所示为RT U模式字符中的位序列。每个字节包括1个起始位(逻辑0 )、8个数据位(首先发送最低有效位)、1个奇偶校验位和一个停止位(逻辑1 )。其中,奇偶校验位默认为偶检验,为保证最大兼容性,也可选择奇校验或无校验(用一个停止位填充)。

RTU报文帧格式如表2.4所示。典型的RTU报文帧没有起始位,也没有停止位,而是以至少3.5个字符时间的停顿间隔标志一帧的开始或结束。报文帧由地址域、功能域、数据域和CRC校验域构成。所有字符由16进制0-9,A-F组成。RTU报文帧格式如图2 .5所示:

在RTU模式中,整个报文帧必须作为一个连续的数据流传输。如果在报文帧完成之前有超过1.5个字符时间停顿间隔发生,接收设备将刷新未完成的报文并假定下一个字节将是一个新报文的地址域。同样地,如果一个新报文在小于3.5个字符时间内紧跟前一个报文开始,接收设备将认为它是前一个报文的延续。这些都会导致传输的报文错误。

消息帧的地址域包含一个8Bit.可能的从设备地址是0-247(十进制)。单个设备的地址范围是1- 247.主设备通过将要联络的从设备的地址放入消息中的地址域来选通从设备。当从设备发送回应消息时,它把自己的地址放入回应的地址域中,以便主设备知道是哪一个设备作出回应。地址0是用作广播地址,以使所有的从设备都能认识。当Modbus协议用于更高水准的网络,广播可能不允许或以其它方式代替。

2.3错误检测域

当选用RTU模式作字符帧,错误检测域包含一16 Bits值(用两个8位的字符来实现)。错误检测域的内容是通过对消息内容进行循环冗长检测方法得出的。CRC域附加在消息的最后,添加时先是低字节然后是高字节。故CRC的高位字节是发送消息的最后一个字节。

CRC-16错误校验程序如下:报文(此处只涉及数据位,不指起始位、停止位和任选的奇偶校验位)被看作是一个连续的二进制,其最高有效位( MSB )首选发送。报文先与X↑16相乘(左移16位),然后看X↑16 + X↑15 + X↑2 + 1除,X↑16 + X↑15 + X↑2 + 1可以表示为二进制数11000000000000101.整数商位忽略不记,16位余数加入该报文( MSB先发送),成为2个CRC校验字节。余数中的1全部初始化,以免所有的零成为一条报文被接收。经上述处理而含有CRC字节的报文,若无错误,到接收设备后再被同一多项式( X↑16+ X↑15 + X↑2 + 1)除,会得到一个零余数(接收设备核验这个CRC字节,并将其与被传送的CRC比较)。全部运算以2为模(无进位)。

习惯于成串发送数据的设备会首选送出字符的最右位( LSB -最低有效位)。而在生成CRC情况下,发送首位应是被除数的最高有效位MSB.由于在运算中不用进位,为便于操作起见,计算CRC时设MSB在最右位。生成多项式的位序也必须反过来,以保持一致。多项式的MSB略去不记,因其只对商有影响而不影响余数。

生成CRC-16校验字节的步骤如下:

(1) 16位CRC寄存器置成FFFFH

(2)第一个8位数据与CRC寄存器低8位进行异或运算,结果放入CRC寄存器;

(3) CRC寄存器向右移一位,HSB填零,检查LSB ;

(4)(若LSB为0 ):重复3,再右移一位。(若LSB为1 ):CRC寄存器与oxA001进行异或运算;

(5)重复3和4直至完成8次移位,完成8位字节的处理;

(6)报文的下一个字节重复2至5步,直至全部字节处理完毕

(7) CRC寄存器的最终值为CRC值;

(8)把CRC值放入信息时,高8位和低8位应分开放置。

CRC码生成流程图如图2 .2所示:

 

关键字:MODBUS  现场总线  开关量 引用地址:现场总线的开关量I/O模块的设计:MODBUS 现场总线技术

上一篇:现场总线的开关量 I/O 模块的总体方案设计
下一篇:现场总线的开关量 I/O 模块的设计总述及基本名词解释

推荐阅读最新更新时间:2024-05-02 22:40

基于现场总线的烧结机配料控制系统改造
前言 烧结配料是烧结生产的核心,也是整个钢铁生产工序的重要环节,对各种物料进行合理的配比,是提高烧结矿品位的关键。信钢烧结机原配料车间采用基于PROFIBUS—DP现场总线的分布式过程控制系统,实现微机自动配料。PROFIBUS现场总线是应用于生产现场,连接智能现场设备和自动化系统的开放式、数字式、双向传输、多分支结构的通信网络,它可以实现设备之间的快速通信。 由于技改项目的原因,新建一台90fl2烧结机也要使用此配料车间,这样,负荷加大,从室外原料仓、拖料皮带秤到室内的变频器、控制系统均不能满足要求,于是在基于现场总线控制的基础上对其进行扩容改造、升级,建立高性能的自动配料系统。 1 组成原理 配料车间现有9条拖料电子皮带
[嵌入式]
基于RIA和软PLC的现场总线监控系统的设计
  随着技术的发展,原先互不相干的互联网和现场总线,得以相互延伸与整合,大大丰富了工业控制的手段。在原先由软PLC与现场总线技术构建的Web监控系统中,再集成应用RIA技术,使得这种基于RIA架构的Web远程监控,既实现了现场总线网络内网与Intemet外网之间的信息交换,又利用RIA和多层结构提高了系统的性能,改善了用户体验,形成了一种有效的工业控制与管理信息化的集成解决方案。   现场总线控制技术融合了最新的网络技术,促进了从标准以太网延伸到工业控制领域的进程,这种进程使得通过Web对远程或恶劣工业环境中的实时监控成为可能"与此同时,RIA(riehInternetapplieation,富因特网应用)技术的发展改善了传统
[嵌入式]
纺织生产控制系统中现场总线技术的研究及应用
  随着计算机技术、通信技术和控制技术的发展,现场总线技术逐渐被广泛运用到工业控制系统中,在纺织工业中也开始得到应用。本文介绍了现场总线的基本原理,对现行的几种现场总线进行了比较,在分析总结数字化纺织生产控制系统发展新特点的基础上,介绍了现在国内外纺织行业在应用现场总线方面的情况。      1 引言     随着我国纺织工业持续快速的发展,现代纺织技术将以电子信息技术为主导,以智能化生产为主要特征 。目前,国产纺织机械设备控制系统的开发多侧重于实现单台设备的纺织工艺性能自动化,将机器所具有的先进功能封闭在单机系统内,而忽略了系统的网络化构成,其结果势必使机器的结构(特别是其控制系统)愈来愈复杂,使机器成为纺织企业自动化体系中的“孤
[嵌入式]
现场总线(PROFIBUS)技术简介(五)
2.3.2  扩展DP功能       DP扩展功能是对DP基本功能的补充,与DP基本功能兼容。 2.3.2.1  DPM1与DP从站间的扩展数据通信       (1)  DPM1与DP从站间非循环的数据传输。       (2)  带DDLM读和DDLM写的非循环读/写功能,可读写从站任何希望数据。       (3)  报警响应,DP基本功能允许DP从站用诊断信息向主站自发地传输事件,而新增的              DDLM-ALAM-ACK功能被用来直接响应从DP从站上接收的报警数据。       (3)  DPM2与从站间的非循环的数据传输。    2.3.3  电子设备数据文件(GSD)         为了
[嵌入式]
基于Modbus协议的智能压力传感器研发
1 引言   20世纪90年代以来,在传感技术基础上结合微处理器技术发展起来的智能能传感技术成为国际上研究的热点。传感器领域的智能化得到了快速发展,出现了不同种类的智能化传感器产品。但是,单一智能化传感器并不能充分发挥智能化的优点,只有将其与计算机联网才能真正将智能化传感器的特点全面发挥出来。本文根据 rs-485总线以差分平衡方式传输信号,具有抗干扰性好、传输距离远等特点,通过一对双绞线作为传输介质将现场设备与上位机连起来,使系统结构大为简化,同时这也大大降低了系统安装、调试以及维护的成本。通过目前国际上普遍采用的modbus通信协议进行编写,方便操作人员的阅读及使用。 2 modbus rtu通信协议
[单片机]
基于<font color='red'>Modbus</font>协议的智能压力传感器研发
SHCAN2000在现场总线控制系统中的应用
    引言     工业自动化技术在发展,智能仪表也不断更新换代。人们要求与仪表密切相联系人机界面要有快速响应速率,还要省去复杂监控程序编写。为此,本文介绍了触摸屏这些方面代替人机界面,以节约成本,减轻开发人员工作量具体方法。         1、SHCAN2000系列智能仪表及监控面板     SHCAN2000系列智能仪表是大连交通大学三合仪表开发公司产品,它由实时多任务操作系统、实时监控软件、任务级组态软件、实时数据库等构成,并由现场智能测控仪表软件组件集成技术来支持线组态。SHCAN2000系列内嵌智能监控子程序。该监控子程序可使系统预定操作方式运转。以完成人机会话和远程控制.使系统操作者意图或遥控命令来完成指定
[嵌入式]
现场总线技术与DCS系统有什么联系
  现场总线技术的发展体现在两个方面,一个是高速现场总线技术的发展,另外一个是低速现场总线领域的继续完善和发展。   就现在而言,现场总线产品主要针对的是低速总线产品,用于运行速率较低的领域,对网络的性能要求不高。而高速现场总线主要应用于互联控制网、连接控制计算机、处理速度快的设备以及实现低速现场总线网间的连接,是充分实现系统的全分散控制结构所必须的。但是目前高速现场总线这一环节还相对薄弱。   总体来说,自动化系统与设备将向现场总线体系的结构改变,并且向着趋于开放统一的方向发展。同时,在单独的现场总线体系下不可能只容纳单一的标准,加上商业利益的驱使,各种现场总线技术都在十分激烈的市场竞争环境中求得发展。所以有理由认为,在将来的
[嵌入式]
现场总线的智能冷阴极电离规控制器的实现
    摘 要: 介绍为大型超高真空系统(如加速器)研制的、基于现场总线的智能超高真空监控节点即冷阴极电离真空计的设计。该真空计带有符合CAN协议的现场总线接口、RS485/RS232C以及用于联锁保护快速响应的接口,可有效地驱动多种国内外规管,量程范围是,在超高真空测控领域极有特色。由于将CAN总线接口和快速联锁报警接口引入超高真空计,使其特别适用于大型超高真空监控系统。     关键词: 现场总线 CAN 冷阴极电离真空计        自1990年以来,被业内人士称为“自动化仪表与控制系统的一次具有深远影响的重大变革”的现场总线技术,包括基于现场总线的工业过程智能自动化仪表和开放自动化系统,在国内外引起人们广
[测试测量]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved