搜档网
当前位置:搜档网 › 基于网络和Modbus协议的远程监控系统

基于网络和Modbus协议的远程监控系统

修改稿收到日期:2009-02-12。

第一作者蒲靖荣,男,1973年生,1997年毕业于浙江大学电机系,获学士学位,工程师;主要从事自动化仪表、系统的建设、使用、维护和研究方面的工作。

基于网络和M o d b u s 协议的远程监控系统

R e m o t e Mo n i t o r i n g a n dC o n t r o l S y s t e m B a s e d o n N e t w o r ka n dMo d b u s P r o t o c o l

蒲靖荣杜开勋朱占清闫纪峰

(吐哈油田销售事业部,新疆鄯善 838202)

摘 要:当今的工业控制已从集中监控、集散控制进入网络时代,如何实现各种不同设备之间的通信已成为系统的关键所在。对吐哈油田销售事业部远程监控系统进行了研究,重点分析了系统的通信结构、通信协议和软件的编程组态,并提出了利用已有的网络和M o d b u s 协议实现不同系统间远程实时监控的思路。基于网络和M o d b u s 协议的远程监控系统为现有系统的互联提供了借鉴,具有广阔的推广应用前景。

关键词:M o d b u s 协议 R S -422

串口设备网关

流量计算机

可编程控制器

组态

中图分类号:T P 273 文献标志码:A

A b s t r a c t :A t p r e s e n t ,i n d u s t r i a l c o n t r o l h a s p a c e d f r o mc e n t r a l i z e d c o n t r o l a n d d i s t r i b u t e d c o n t r o l i n t o n e t w o r k e r a .I m p l e m e n t i n g c o m m u n i c a -t i o na m o n g v a r i o u s d i f f e r e n t d e v i c e s i s t h e c r i t i c a l i s s u e i n f o r m i n g a s y s t e m .T h e r e m o t e m o n i t o r i n g a n d c o n t r o l s y s t e mi n M a r k e t i n g D e p a r t m e n t o f T u h a O i l f i e l d i s r e s e a r c h e d ,a n d t h e c o m m u n i c a t i o n s t r u c t u r e ,c o m m u n i c a t i o n p r o t o c o l s a n d s o f t w a r e p r o g r a m m i n g a n d c o n f i g u r a t i o n a r e a n a -l y z e d e m p h a t i c a l l y .T h e c o n c e p t o f a d o p t i n g e x i s t i n g n e t w o r k a n d M o d b u s p r o t o c o l t o i m p l e m e n t r e a l -t i m e r e m o t e m o n i t o r i n g a m o n g d i f f e r e n t s y s -t e m s a r e p r o p o s e d .T h e r e m o t e m o n i t o r i n g a n d c o n t r o l s y s t e mb a s e d o n n e t w o r k a n d M o d b u s p r o t o c o l i s a g o o d r e f e r e n c e f o r i n t e r c o n n e c t i n g e x -i s t i n g s y s t e m s a n d p o s s e s s e s w i d e a p p l i c a t i v e p r o s p e c t s .K e y w o r d s :M o d b u s p r o t o c o l R S -422

U n i v e r s a l s e r i a l d e v i c e g a t e w a y F l o wc o m p u t e r P L C C o n f i g u r a t i o n

0 引言

随着石油工业信息化的快速发展,许多油田开始建设统一的远程生产数据监控与管理系统。由于油田应用的自动化系统种类繁多,各系统采用的通信协议及接口不尽相同。因此,如何利用已有的设备和网络,实现各系统间的通信与数据传输,成为远程集中监控系统设计首要考虑的问题。

近年来,网络技术发展迅猛,以太网进入了工业控制领域。工业以太网技术以其开放性好、成本低廉、速度高和易于与以太网实现无缝连接等一系列优点,成为当今世界流行的工业控制系统的实现技术。但现阶段,企业大量在用的控制系统都不具有以太网通信功能。为了让现有老系统既能高效独立地运行,又能方便、快捷地借助以太网实现互联通信,本文以吐哈油田销售事业部的远程监控系统为例,在分析传统控制系统通信的基础上,引入了串口设备网关,将传统串口技术与以太网技术有机结合,解决了不同系统间的通信难题。

1 远程监控系统设计

1.1 系统通信协议

原油外销计量系统中的流量计算机支持M o d b u s R T U 和S m i t h A S C I I 两种通信协议;S 7-300采用M P I 或P r o f i b u s 总线通信方式。而油库中控室P L C 5采用D H +网络或D F 1协议实现与其它A B 产品之间的通信。要

实现这三个不同厂家、不同产品之间的通信,必须要将三者通信方式统一为其中一方的通信方式或统一采用它们都支持的通用通信协议。

在各种不同系统的通信中,M o d b u s 协议是一种在工业领域被广为应用的、真正开放的、标准的网络通信协议。通过该协议,控制器相互之间、控制器经由网络(例如以太网)和其他设备之间都可以实现通信。它已经成为一种通用工业标准;通过该协议,不同厂商生产的控制设备可以组成工业网络,进行集中监控。因此,在本项目中,采用通用的M o d b u s 协议来实现各系统间的通信。其中S y b e r T r o l 流量计算机支持M o d b u s 通信,直接进行系统通信组态即可使用,而S 7-300需要增加扩展通信模块C P 341,P L C 5需要增加由独立第三方P r o s o f t 公司生产的M C M -3100M o d b u s 通信模块,从而使它们也具有M o d b u s 通信功能。这样就可以通过M o d b u s 协议实现S y b e r T r o l 流量计算机、S 7-300与P L C 5之间的通信。

基于网络和M o d b u s 协议的远程监控系统 蒲靖荣,等

1.2 系统通信硬件结构

由于原油外销计量室距离中控站较远(1600m左右),敷设电缆较困难,而且超出了串口通信最大距离1200m的限制。因此,需要考虑其他的硬件传输线路。考虑到原油外销计量间已连通了I n t e r n e t网络,可以通过I n t e r n e t网络实现两点的连接,即主从站两端用串口设备网关A D A M4577转出R S-232、R S-422或R S-485,连接串行设备,实现主从站硬件线路连接。现场设备中, 1#、2#施密斯S y b e r T r o l流量计算机剩余的通信串口只有C O M1可用于本次数据集成,支持的连接方式有R S-232和R S-422两种串口;S7-300的C P341通信模块支持的连接方式有R S-485和R S-422串口。所以,在原油外销计量间,选择以R S-422并联连接方式实现S y b e r T r o l流量计算机、S7-300系统与A D A M4577的连接,而油库中控室P L C5通过R S-232接口与A D A M4577进行连接,系统拓扑结构如图1所示。

图1 系统拓扑结构图

F i g.1 T o p o l o g i c a l s t r u c t u r e o f s y s t e m

2 系统编程组态

2.1 设置主从模式

M o d b u s R T U通信协议以主从方式进行数据传输。在传输过程中,主站主动发送请求报文到从站,从站返回应答报文。M o d b u s为单主站网络协议,系统中只能够有一个M o d b u s主站,所有通信都由它发出,并且只能实现主站和从站的数据交换,从站之间不能进行数据交换。在本项目主从关系的选择上,因为P L C5系统主动地从S y b e r T r o l流量计算机和S7-300获取数据,所以将P L C5系统设置为主站模式,S y b e r T r o l流量计算机和S7-300设置为从站模式。通过M o d b u s协议实现主从站通信,从而实现从站数据的远程实时监控。

2.2 S y b e r T r o l流量计算机通信组态

S y b e r T r o l流量计算机有4个通信端口,除端口4为厂家预留外,其他端口都可以组态成M o d b u s或S m i t hA S C I I。本次远程通信选用端口1,将其设置成M o d b u s,并组态相应的站地址、通信波特率、数据位、停止位、奇偶校验及数据格式等通信参数。

2.3 S7-300组态及编程

2.3.1 C P341通信模块组态

在S7-300项目文件中,插入新添加的C P341模块,在C P模块上插入M o d b u s从站,然后安装M o d b u s 从站软件包。安装完软件包后,在项目中组态M o d b u s 从站,在模块属性的P a r a m e t e r栏中,选择M o d b u s从站协议。然后给P L C上电,将P L C置于S T O P状态,安装从站驱动程序,并设置M o d b u s从站参数。

在设置M o d b u s从站参数时,首先将从站地址设置为3、通信波特率设置为9600b i t/s,数据位选8位、停止位选1、奇偶校验选无。随后需要设定M o d-b u s从站的F u n c t i o nC o d e地址与P L C中M、I、Q等地址的对应关系。例如,F C01、05、15是输出位的状态,其M o d b u s地址与M、Q、T、C等数据是有相应设置关系的。

组态界面左边的地址为信息传送地址,右边对应西门子的P L C地址区,即左边地址从0~100对应M o d b u s 地址区为00001~00101,对应西门子数据区为M0.0~M12.4;101~200对应M o d b u s地址区为00102~00201,对应西门子数据区为Q0.0~Q12.3;从地址201~300、301~400对应M o d b u s地址区为00202~00301、00302~00401,对应西门子数据区为T i m e r、C o u n t e r。

同样设置F C02、F C03、06、16和F C04,其中F C02为读取输入数据位的状态,对应M、I数据区,只读,具体的字节范围由M o d b u s从站组态时设定;F C03、06、16是组态输出寄存器数据区,对应西门子数据区为D B块,可读可写,在M o d b u s从站组态时设定对应的D B块;F C04为组态输入寄存器数据区,对应西门子数据区,同样是D B块,只读,在M o d b u s从站组态时设定对应的D B块。通过上述组态,即可激活C P341通信模块。

2.3.2 软件编程

在S t e p7的S I M A T I CM a n a g e r中打开M o d b u s从站例子程序,将例子程序当中的所有程序块复制到当前的项目当中,修改O B1中的L A D D R参数,使其与模块的实际硬件地址相同,并将发送程序块F B8和接收程序块F B7添加到程序B l o c k s中。接下来调用M o d b u s 从站功能块F B80,分配背景数据块D B80,将参数L A D D R设为硬件组态中的起始逻辑地址256。程序编辑通过后,将B l o c k s文件夹下载到P L C中,完成S7-300程序修改。

基于网络和M o d b u s协议的远程监控系统 蒲靖荣,等

2.4 串口设备网关A D A M4577通信设置

2.4.1 串口设备网关A D A M4577功能

串口设备网关A D A M4577能够将R S-232/422/ 485网络与以太网合为一体。它几乎可以将任何带有串口的设备快速连接到以太网和共享网络。A D A M 4577能够使大量无法连接网络的设备具备远程管理及数据访问的特有功能。它支持10B a s e-T标准、T C P/ I P协议和U D P协议,支持R S-232/422/485自动侦测功能,支持标准S o c k e t和Wi n s o c k网络编程,允许8台主机同时访问。

2.4.2 A D A M4577通信方式

A D A M4577有轮询、监听和点对点3种网络通信方式。其中点对点的结构组态较简单,该模式下,串口通信服务器成对使用,即需要将一对A D A M4577分别接在联网的网络两端,其中一个作为服务器端;另一个作为客户端,两者之间建立连接,实现数据的双向透明传输。该模式适用于将2个串口设备之间的总线连接改造为T C P/I P网络连接。我们这次就使用了点对点的模式。

2.4.3 串口设备网关A D A M4577设置

首先将工控机与A D A M4577联网,设置该A D-A M4577的I P地址,然后设置通信口参数,即波特率为9600b i t/s,奇偶校验选无,数据位选8位,停止位选1位,原油外销计量间的A D A M4577应选择R S-422,油库中控室的A D A M4577应选择R S-232。A D A M4577提供了T C P/I P和U D P这2种协议,我们这里选用T C P/I P。原油外销计量间的A D A M4577选默认的T C P系统端口号为5200,数据端口号为5201;油库中控室的A D-A M4577选T C P系统端口号为5220,数据端口号为5221。在上述参数设置完毕后,两个串口设备网关A D-

A M4577就可以实现他们之间的通信了。

2.5 油库中控室的P L C组态编程

2.5.1 系统通信程序设计

油库中控室的P L C5作为M o d b u s主站,负责数据的提取与转换,系统通信程序框图如图2所示。

P L C5中的数据存放在文件中,通过B T W和B T R 指令,实现处理器和模块之间的数据交换。首先要设置通信参数,将站地址、端口号、波特率等参数放在文件中,系统上电后,读取该文件进行系统初始化通信。初始化通信成功后,主站就不断地将数据读入并放置在对应的文件区。每发送一条指令,执行一次向子站的数据请求,子站接收请求后即响应请求并上传数据。

图2 通信程序框图

F i g.2 F l o w c h a r t o f c o m m u n i c a t i o n s p r o g r a m

2.5.2 数据传输流程

P L C5和M C M模块之间通过背板进行数据传输, P L C5处理器中的梯形逻辑程序有效地控制了这个过程。数据传输流程如图3所示。

图3 数据传输流程图

F i g.3 B l o c kd i a g r a mo f d a t a t r a n s m i s s i o n

主站端口作为一个数据集合器用来发送读命令到从站设备,接着发送从梯形逻辑程序中读取的数据。模块使用命令列表(c o m m a n d l i s t)来编制有效的M o d b-u s命令。当执行每个命令时,模块扫描命令列表中下一个条目。如果主站端口发送的是一个读命令,则读的结果存放到数据内存中;如果主站端口发送的是一个写命令,则数据内存中的数据被写入到从站设备。

(下转第57页)

基于网络和M o d b u s协议的远程监控系统 蒲靖荣,等

块,它可以实现各种浮点运算和逻辑运算;D O为

C3000过程控制器的开关量输出通道,它通过控制继电器动作来实现外围设备的开启或闭合;批量控制模块是核心模块,用于计算确定泵和阀的开关时间。

C3000控制器通过热电偶采集物料温度信号,并利用内置的温度密度对应折线表得到当前温度下的物料密度ρ;控制器通过流量计得到当前的瞬时流量ν,结合物料密度ρ,并利用控制器内累积功能模块运算可得当前的累积加料量Q

c

;当控制器判断式(1)条件成立时,将输出开关量信号关闭外围的加料泵和开关阀来停止加料,等阀完全关闭后实际流经阀门的加料

量将被控制在Q

s

加料值Q

s

可以在控制器的设定值窗口进行更改,配合控制器外围电路的启动和停止按钮,保证了操作简便可靠。同时,系统在具备自动控制功能的同时,还具备手动功能,在需要时,操作人员可手动实现对现场阀门的启闭。最后,系统将自动记录并显示每次加料的阀位状态、加料量、物料流量等各种数据,并可根据需要打印出报表或发送到上位机作统计分析。

3结束语

基于C3000过程控制器的具有补偿功能的自动批量加料控制系统,已应用于山东瑞康精细化工厂染料生产车间,并实现了对浓硫酸的批量加料控制。考虑到介质特性,系统中采用了精度为0.5级的电磁流量计[4]。在完成对参数的测定和存储后,该自动加料控制系统补偿效果显著,不仅控制精度高,而且操作简便可靠,获得了满意的控制效果,计量精度始终保持在+5‰以内。

本文介绍的是单个单元的批量加料系统,而在一些具有大量批量应用的场合,则可以利用C3000的网络通信功能组成批量控制网络,实现各车间批量加料系统之间的连锁功能,并用上位机实现对整个加料系统的远程监控和管理[3]。

参考文献

[1]胡真.补料分批发酵过程计算机控制系统的开发和应用[J].化

工自动化及仪表,1999(5):12.

[2]闫芳,康伟.提高流量批量控制计量精确度问题的研究[J].计

量技术,2006(6):52.

[3]J a l e l NA,L e i g h J I,F i a c c o M,e t a l.R e a l-t i m e m o n i t o r i n g o f a n

i n d u s t r i a l b a t c h p r o c e s s[J].C o m p u t e r s&C h e m i c a l E n g i n e e r i n g,

2006,30(10):1476-1481.

[4]孙传忠,徐国功.电磁流量计的正确选择[J].中国化工装备,

2005(21):304.

[5]谭海玲.科氏力质量流量计的应用[J].流程工业,2002(4):55.

[6]吴德贵.流量测量中的温度、压力补偿原理和方法[J].工业计

量,2002,12(S1):21-24.

[7]夏晓戎,付娟.一种通用的曲线加工方法———优化折线逼近法[J].

机械工业自动化,1991(3):29-32.

(上接第54页)

3 结束语

采用M o d b u s协议解决了史密斯S y b e r T r o l流量计算机、西门子P L C系统和A B公司的P L C5之间的通信,而且通过应用通用串口设备网关,解决了系统通信的硬件线路、传统串口通信受传输距离限制和不同的串口还需要增加接口转换模块等问题,扩展了串口通信的应用范围,应用串口设备网关连接将串口数据流进行选择和处理,把现有的串行接口的数据转化成I P端口的数据,然后进行I P化的管理及数据存取,这样就能将传统的串行数据送入流行的I P通道,从而轻松实现各种设备之间的通信连接,提高了现有设备的利用率,还可在现有的网络基础上简化布线复杂度、节约成本。数据远传系统投用1年多以来,数据传输稳定、刷新速度快,完全到达了远程实时监控的要求。这种利用已有的局域网络和M o d b u s协议实现数据的远程实时监视的思路,为不同公司、不同系统间的通信提供了一个通用的实现方法,具有很好的推广应用价值。

参考文献

[1]宋德玉.可编程控制器原理及应用系统设计[M].北京:冶金工

业出版社,1999.

[2]张新薇,陈旭东.集散系统及系统开放[M].北京:机械工业出

版社,2005.

[3]刘鑫荣,吴向前.由L o n和R S-485总线组成的自动抄表测控网

络[J].自动化仪表,2007,28(8):19-22.

[4]龚仪建.串行通信接口R S-232/R S-485的应用与转换[J].计

算机与数字工程,2004,31(5):58-60.

[5]陈宇,段鑫.可编程控制器基础及编程技巧[M].广州:华南理

工大学出版社,2002:46.

[6]王永红,刘玉梅.自动检测技术与控制装置[M].北京:化学工

业出版社,2006:47-49.

[7]王运涛,方彦军,李世红.基于I n t e r n e t的嵌入式远程监控终端

的开发[J].工业控制计算机,2004,17(5):13-14.

批量加料控制系统中的精确定量控制 王为民,等

modbus_通讯协议_实例

上海安标电子有限公司 ——PC39A接地电阻仪通信协议 通信协议: 波特率:9600数据位:8校验位:无停止位:1 上位机(计算机): 字节号 1 2 3 4 5 6 7 8 意义ID Command 数据地址V alue CRC 注:1 ID:1个字节,由单机来定(0~255) 2 Command:1个字节,读:3或4,写:6 3 数据地址:2个字节,寄存器地址,读从100开始,写从200开始 4 V alue:2个字节,读:个数(以整型为单位),写:命令/ 数据(以整型为单位) 5 CRC:计算出CRC 下位机(PC39A): 读数据,若正确 字节号 1 2 3 3+N (N=个数*2) 3+N+1 3+N+2 意义ID Command=3 / 4 数据个数数据CRC 注:1 ID:1个字节,由单机来定(0~255) 2 Command:1个字节,收到的上位机命令 3数据个数:1个字节,返回数据个数(以字节为单位) 4 V alue:N个字节,是返回上位机的数据 5 CRC:计算出CRC 写命令,若正确 返回收到的数据: 若错误 字节号 1 2 3 4 5 意义ID Command 数据CRC 注:1 ID:1个字节,由单机来定(0~255) 2 Command:1个字节,收到的上位机命令或上0x80, 如收到3,返回0x83 3数据:1个字节,错误的指令 错误指令 1:表示command不存在 2:表示数据地址超限 4 CRC:计算出CRC

例如读PC39A 电流数据: 机器地址为12,电流的数据地址100,数据为15.45(A) (一个整型数据) 主机: ID Command 数据地址 V alue CRC 16进制 0x0c 0x03 0x0064 0x0001 CRC_H CRC_L 10进制 12 3 100 1 CRC_H CRC_L 从机返回 如正确: ID Command 数据个数(以字节为单位) V alue CRC 16进制 0x0c 0x03 0x002 0x0609 CRC_H CRC_L 10进制 12 3 2 1545 CRC_H CRC_L 如错误: ID Command 数据 CRC 16进制 0x0c 0x83 0x02 CRC_H CRC_L 10进制 12 131 2 CRC_H CRC_L 例如发PC39A 启动命令: 机器地址为12,命令的地址200,数据为25000(25000表示启动) 主机: ID Command 数据地址 V alue CRC 16进制 0x0c 0x06 0x00c8 0x61a8 CRC_H CRC_L 10进制 12 6 200 25000 CRC_H CRC_L 从机返回 如正确: ID Command 数据地址 V alue CRC 16进制 0x0c 0x06 0x00c8 0x61a8 CRC_H CRC_L 10进制 12 6 200 25000 CRC_H CRC_L 如错误: ID Command 数据 CRC 16进制 0x0c 0x86 0x02 CRC_H CRC_L 10进制 12 134 2 CRC_H CRC_L 0011 10000110 错误码0x83 功能码0x06错误码0x86

Modbus协议中文版(比较完善)

GB/T ××××—×××× 前言 -----------串行链路和TCP/IP上的MODBUS标准介绍 该标准包括两个通信规程中使用的MODBUS应用层协议和服务规范: ·串行链路上的MODBUS MODBUS串行链路取决于TIA/EIA标准:232-F和485-A。 ·TCP/IP上的MODBUS MODBUS TCP/IP取决于IETF标准:RFC793和RFC791有关。 串行链路和TCP/IP上的MODBUS是根据相应ISO层模型说明的两个通信规程。 下图强调指出了该标准的主要部分。绿色方框表示规范。灰色方框表示已有的国际标准(TIA/EIA和IETF标准)。 Modbus 协议规范 45页 MODBUS应用层MODBUS报文传输在TCP/IP 上的实现指南49页 在TCP/IP上的MODBUS映射 TCP IETF RFC 793 MODBUS报文IP IETF RFC 791 传输在串行链路 上的实现指南 45页 串行链路主站/从站以太网II/802.3 IEEE 802.2 TIA/EIA-232-F TIA/EI A-485-A 以太网物理层 MODBUS标准分为三部分。第一部分(“Modbus协议规范”)描述了MODBUS事物处理。第二部分(“MODBUS报文传输在TCP/IP上的实现指南”)提供了一个有助于开发者实现TCP/IP上的MODBUS应用层的参考信息。第三部分(“MODBUS报文传 输在串行链路上的实现指南”)提供了一个有助于开发者实现串行链路上的MODBUS 应用层的参考信息。

GB/T ××××—××××第一部分:Modbus协议 1

modbus协议

编号:_______________本资料为word版本,可以直接编辑和打印,感谢您的下载 modbus协议 甲方:___________________ 乙方:___________________ 日期:___________________

1 . MODBUS 规约 MODBUS规约是MODICOM 公司开发的一个为很多厂商支持的开放规约 Modbus协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。 此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通 信的。它描述了控制器请求访问其它设备的过程,如果回应来自其它设备的请求,以及怎样 侦测错误并记录。它制定了消息域格局和内容的公共格式。 当在Modbus网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息并用Modbus协议发出。在其它网络上,包含了Modbus协议的消息转换为在此网络上使用的帧或包结构。这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。 标准的Modbus 口是使用RS-232C兼容串行接口,它定义了连接口的针脚、电缆、信号 位、传输波特率、奇偶校验。控制器能直接或经由Modem组网。 控制器通信使用主一从技术,即仅设备(主设备)能初始化传输(查询)。其它设备(区设备)根据主设备查询提供的数据做出相应反应。典型的主设备:主机和可编程仪表。典型的从设备:可编程控制器。 主设备可单独和从设备通信, 也能以广播方式和所有从设备通信。如果单独通信,从设住回消息作为回应,如果是以广播方式查询的,则不作任何回应。Modbus协议建立了匕 设备查询的格式:设备(或广播)地址、功能代码、所有要发送的数据、错误检测域。 从设备回应消息也由Modbus协议构成,包括确认要行动的域、任何要返回 的数据、和错误检测域。如果在消息接收过程中发生错误,或从设备不能执行其 命令,从设备将建立错误消息并把它作为回应发送出去。 在其它网络上,控制器使用对等技术通信,故任何控制都能初始和其它控制器的通信。 这样在单独的通信过程中,控制器既可作为主设备也可作为从设备。提供的多个内部通道可 允许同时发生的传输进程。 在消息位,Modbus协议仍提供了主一从原则,尽管网络通信方法是“对等”。

MODBUS协议说明文档

MODBUS通讯协议说明 1、概述 Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。 本文档通信协议说明详细地描述了MODBUS设备的输入和输出命令、信息和数据,以便第三方使用和开发。 1.1通信协议的作用 使信息和数据在上位机(主站)和MODBUS设备之间有效地传递,允许访问MODBUS设备的所有测量数据。 MODBUS设备可以实时采集现场各种数据值,具备一个RS485通讯口,能满足MODBUS监控系统的要求。 MODBUS设备通信协议采用MODBUS RTU协议,本协议规定了应用系统中主机与MODBUS 设备之间,在应用层的通信协议,它在应用系统中所处的位置如下图所示: 本协议所处的位置 从机: 1.2 物理接口: 连接上位机的主通信口,采用标准串行RS485通讯口,使用压接底座。 信息传输方式为异步方式,主要配置参数,一般默认:起始位1位,数据位8位,停止位1位,无校验,数据传输缺省速率为9600b/s 2、MODBU通信协议详述 2.1 协议基本规则 以下规则确定在回路控制器和其他串行通信回路中设备的通信规则。 1)所有回路通信应遵照主/从方式。在这种方式下,信息和数据在单个主站和从站(监控设备)之间传递。 2)主站将初始化和控制所有在通信回路上传递的信息。 3)无论如何都不能从一个从站开始通信。 4)所有环路上的通信都以“打包”方式发生。一个包裹就是一个简单的字符串(每个字符串8位),一个包裹中最多可含255个字节。组成这个包裹的字节构成标准异步串行数据,并按8位数据位,1位停止位,无校验位的方式传递。串行数据流由类似于RS232C中使用的设备产生。 5)所有回路上的传送均分为两种打包方式: A) 主/从传送 B) 从/主传送 6)若主站或任何从站接收到含有未知命令的包裹,则该包裹将被忽略,且接收站不予响应。

基于Modbus协议实现单片机与PLC之间的通讯

基于Modbus协议实现单片机与PLC之间的通讯 来源:PLC&FA 作者:蔡晓燕赵兴群万遂人董鹏云 关键词:可编程控制器 Modbus 通讯协议 1 引言 HMI(人机界面)以其体积小,高性能,强实时等特点,越来越多的应用于工业自动化系统和设备中。它有字母、汉字、图形和图片等不同的显示,界面简单友好。配有长寿命的薄膜按钮键盘,操作简单。它一般采用具有集成度高、速度快、高可靠且价格低等优点的单片机[1]作为其核心控制器,以实现实时快速处理。PLC和单片机结合不仅可以提PLC的数据处理能力,还可以给用户带来友好简洁的界面。本文以Modbus通讯协议为例,详细讨论了一个人机系统中,如何用C51实现单片机和PLC之间通讯的实例。 2 Modbus通讯协议[4] Modbus协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络和其它设备之间可以通信。 Modbus协议提供了主—从原则,即仅一设备(主设备)能初始化传输(查询)。其它设备(从设备)根据主设备查询提供的数据作出相应反应。主设备查询的格式:设备地址(或广播,此时不需要回应)、功能代码、所有要发送的数据、和一错误检测域。从设备回应消息包括确认地址、功能码、任何要返回的数据、和一错误检测域。如果在消息接收过程中发生一错误,或从设备不能执行其命令,从设备将建立一错误消息并把它作为回应发送出去。 控制器能设置为两种传输模式:ASCII和RTU,在同样的波特率下,RTU可比ASCII方式传送更多的数据,所以采用KTU模式。 (1) 典型的RTU消息帧 典型的RTU消息帧如表1所示。

RTU消息帧的地址域包含8bit。可能的从设备地址是0...127(十进制)。其中地址0是用作广播地址,以使所有的从设备都能认识。主设备通过将要联络的从设备的地址放入消息中的地址域来选通从设备。当从设备发送回应消息时,它把自己的地址放入回应的地址域中,以便主设备知道是哪一个设备作出回应。 RTU消息帧中的功能代码域包含了8bits,当消息从主设备发往从设备时,功能代码域将告之从设备需要执行哪些行为;当从设备回应时,它使用功能代码域来指示是正常回应(无误)还是有某种错误发生(称作异议回应,一般是将功能码的最高位由0改为1)。 从主设备发给从设备消息的数据域包含附加的信息:从设备必须用于进行执行由功能代 码所定义的行为。这包括了像不连续的寄存器地址,要处理项的数目,域中实际数据字节数。如果没有错误发生,从从设备返回的数据域包含请求的数据。如果有错误发生,此域包含一异议代码,主设备应用程序可以用来判断采取下一步行动。 当选用RTU模式作字符帧时,错误检测域包含一16Bits值(用两个8位的字符来实现)。错误检测域的内容是通过对消息内容进行循环冗长检测(CRC)方法得出的。CRC域附加在消息的最后,添加时先是低字节然后是高字节。 (2) 所有的Modbus功能码 Modbus的功能码定义如表2所示。

基于tcpip协议的Modbus

基于tcp/ip协议的modbus 业以太网与Modbus TCP/IP 一以太网的标准 以太网是一种局域网。早期标准为IEEE802.3,数据链路层使用CSMA/CD,10Mb/s 速度物理层有: (1)10Base5粗同轴电缆,RG-8,一段最长为500m; (2)10Base2细同轴电缆,RG-58,一段最长为185m; (3)10Base T双绞线,UTP或STP,一段最长为100m。 快速以太网为100Mb/s,标准为802.3a,介质为100Base Tx双绞线、100Base Fx光纤。 目前10/100M以太网使用最为普遍,很多企事业用户已实现100M到以太网桌面,确实体验到高速“冲浪”的快感,另外从距离而言,非屏蔽双绞线(UTP)为100m,多模光纤可达2~3km,单模光纤可大于100km。千兆以太网1000Mb/s为802.3z/802.3ab,万兆以太网10Gb/s 为802.3ae,将为新一轮以太网的发展带来新的机遇与冲击。 二工业以太网与商用以太网的区别 什么是工业以太网?技术上,它与IEEE802.3兼容,故从逻辑上可把商用网和工业网看成是一个以太网,而用户可根据现场情况,灵活装配自己的网络部件,但从工业环境的恶劣和抗干扰的要求,设计者希望采用市场上可找到的以太网芯片和媒介,兼顾考虑下述工业现场的特殊要求:首先要考虑高温、潮湿、振动;二是对工业抗电磁干扰和抗辐射有一定要求,如满足EN50081-2、EN50082-2标准,而办公室级别的产品未经这些工业标准测试,表1列出了一些常用工业标准。为改善抗干扰性和降低辐射,工业以太网产品多使用多层线路板或双面电路板,且外壳采用金属如铸铝屏蔽干扰;三是电源要求,因集线器、交换机、收发器多为有源部件,而现场电源的品质又较差,故常采用双路直流电或交流电为其供电,另外考虑方便安装,工业以太网产品多数使用DIN导轨或面板安装;四是通信介质选择,在办公室环境下多数配线使用UTP,而在工业环境下推荐用户使用STP(带屏蔽双绞线)和光纤。

(完整版)MODBUS通讯协议-RTU要点

Modbus 通讯协议 (RTU传输模式)本说明仅做内部参考,详细请参阅英文版本。

第一章Modbus协议简介 Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。 此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备的过程,如果回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。 当在一Modbus网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息并用Modbus协议发出。在其它网络上,包含了Modbus协议的消息转换为在此网络上使用的帧或包结构。这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。 协议在一根通讯线上使用应答式连接(半双工),这意味着在一根单独的通讯线上信号沿着相反的两个方向传输。首先,主计算机的信号寻址到一台唯一的终端设备(从机),然后,在相反的方向上终端设备发出的应答信号传输给主机。协议只允许在主计算机和终端设备之间,而不允许独立的设备之间的数据交换,这就不会在使它们初始化时占据通讯线路,而仅限于响应到达本机的查询信号。 1.1 传输方式 传输方式是一个信息帧内一系列独立的数据结构以及用于传输数据的有限规则,以RTU 模式在Modbus总线上进行通讯时,信息中的每8位字节分成2个4位16进制的字符,每个信息必须连续传输下面定义了与Modebus 协议– RTU方式相兼容的传输方式。 代码系统 ?8位二进制,十六进制数0...9,A...F ?消息中的每个8位域都是一个两个十六进制字符组成 每个字节的位 ?1个起始位 ?8个数据位,最小的有效位先发送 ?1个奇偶校验位,无校验则无 ?1个停止位(有校验时),2个Bit(无校验时) 错误检测域 ?CRC(循环冗长检测)

很好的威纶通MODBUSRTU通讯协议与变频器通讯案例

很好的威纶通 M O D B U S R T U通讯协议与变频器通讯案例 公司标准化编码 [QQX96QT-XQQB89Q8-NQQJ6Q8-MQM9N]

本文研究的是触摸屏通过MODBUS RTU通讯协议与变频器通讯实现变频器的控制。触摸屏采用威纶通TK6070IP,变频器用汇川MD380通用系列。通过触摸屏编程软件,编辑控制画面实现变频器的启动、停止、速度调节、多段速速度设置,通过宏指令实现工程值与实际值的转换。 一、MODBUS RTU 简介: 为了在自动化系统之间、自动化系统和所连接的分散的现场设备之间进行信息交换,如今串行现场总线被主要用作通讯系统。成千上万的应用已经强烈地证明了通过使用现场总线技术,可以节省多至40%的接线、调试及维护的费用。仅仅使用两根电线就可以传送现场设备的所有相关信息,比如输入和输出数据、参数、诊断数据。过去使用的现场总线往往是制造商的特定现场总线,并且同其它现场总线不兼容。如今使用的现场总线几乎是完全公开和标准化的。这就意味者用户可以以最合理的价格选择最好的产品,而不用依赖于每个独立的制造商。Modbus RTU是一种国际的、开放的现场总线标准。作为一种很容易实现的现场总线协议,在全世界范围内,Modbus得到了成功的应用。应用领域包括生产过程中的自动化、过程控制和楼宇自控。MODBUS RTU通讯协议的报文如图1。 图1 MODBUS RTU 通讯协议的报文功能码如下: 01H 读取线圈状态。从执行机构上读取线圈(单个位)的内容; 02H 读取离散量输入。从执行机构上读取离散量输入(多个位)的内容; 03H 读取保持寄存器。从执行机构上读取保持寄存器(16位字)的内容; 04H 读取输入寄存器。从执行机构上读取输入寄存器(16位字)的内容; 05H 强置单线圈。写数据到执行机构的线圈(单个位)为“通”(“1”)或“断”(“0”); 06H 预置单寄存器。写数据到执行机构的单个保持寄存器(16位字); 0FH 强置多线圈。写数据到执行机构的几个连续线圈(单个位)为“通”(“1”) 或“断”(“0”); 10H 预置多寄存器。写数据到执行机构的几个连续的保持寄存器(16位字)。 二、威纶通编程软件介绍: EB8000软件中MODBUS协议的设备类型为0x、1x、3x、4x、5x、6x,还有 3x_bit,4x_bit,6x_bit,0x_multi_coils等,下面分别说明这些设备类型在MODBUS协议中支持哪些功能码。 0x:是一个可读可写的设备类型,相当于操作PLC的输出点。该设备类型读取位状态的时候,发出的功能码是01H,写位状态的时候发出的功能码是05H。写多个寄存器时发出的功能码是0fH。

MODBUS-TCP协议介绍

MODBUS-TCP 协议 一以太网的标准 以太网是一种局域网。早期标准为IEEE 802.3,数据链路层使用CSMA/CD,10Mb/s 速度物理层有: (1)10 Base 5粗同轴电缆,RG-8,一段最长为500m; (2)10 Base 2细同轴电缆,RG-58,一段最长为185m; (3)10 Base T双绞线,UTP或STP,一段最长为100m。 快速以太网为100Mb/s,标准为802.3a,介质为100 Base Tx双绞线、100 Base Fx光纤。 目前10/100M以太网使用最为普遍,很多企事业用户已实现100M到以太网桌面,确实体验到高速“冲浪”的快感,另外从距离而言,非屏蔽双绞线(UTP)为100m,多模光纤可达2~3km,单模光纤可大于100km。千兆以太网1000Mb/s为802.3z/802.3ab,万兆以太网10Gb/s 为802.3ae,将为新一轮以太网的发展带来新的机遇与冲击。 二工业以太网与商用以太网的区别 什么是工业以太网?技术上,它与IEEE802.3兼容,故从逻辑上可把商用网和工业网看成是一个以太网,而用户可根据现场情况,灵活装配自己的网络部件,但从工业环境的恶劣和抗干扰的要求,设计者希望采用市场上可找到的以太网芯片和媒介,兼顾考虑下述工业现场的特殊要求:首先要考虑高温、潮湿、振动;二是对工业抗电磁干扰和抗辐射有一定要求,如满足EN50081-2、EN50082-2标准,而办公室级别的产品未经这些工业标准测试,表1列出了一些常用工业标准。为改善抗干扰性和降低辐射,工业以太网产品多使用多层线路板或双面电路板,且外壳采用金属如铸铝屏蔽干扰;三是电源要求,因集线器、交换机、收发器多为有源部件,而现场电源的品质又较差,故常采用双路直流电或交流电为其供电,另外考虑方便安装,工业以太网产品多数使用DIN导轨或面板安装;四是通信介质选择,在办公室环境下多数配线使用UTP,而在工业环境下推荐用户使用STP(带屏蔽双绞线)和光纤。 三TCP/IP 1. 为什么使用TCP/IP? 最主要的一个原因在于它能使用在多种物理网络技术上,包括局域网和广域网技术。TCP/IP协议的成功很大程度上取决于它能适应几乎所有底层通信技术。 20世纪80年代初,先在X.25上运行TCP/IP协议;而后又在一个拨号语音网络(如电话系统)上使用TCP/IP协议,又有TCP/IP在令牌环网上运行成功;最后又实现了TCP/IP远程

modbus协议下上位机编程实例

竭诚为您提供优质文档/双击可除modbus协议下上位机编程实例 篇一:modbus协议下的上位机地址 Rs485采取流量计数据,经串口com1的2号地址读到int ouch中来,双字40001、40002为浮点型瞬时流量,读到上位机项目为40001F双字40004、40005为长整型累计流量,读到上位机项目为40004l 驱动设置与intouch标记名的设置 驱动设置: 项目名设置 注:在不修改驱动设置的情况下,s=s1+s2*65535 s=s2+s1*65535 根据各个厂家的仪表,上面工式有区别,设计时各个测试一下。 篇二:modbus通讯协议实例 上海安标电子有限公司 ——pc39a接地电阻仪通信协议 通信协议:

波特率:9600数据位:8校验位:无停止位:1 上位机(计算机): 注:1id:1个字节,由单机来定(0~255) 2command:1个字节,读:3或4,写:6 3数据地址:2个字节,寄存器地址,读从100开始,写从200开始4Value:2个字节,读:个数(以整型为单位),写:命令/数据(以整型为单位)5cRc:计算出cRc下位机(pc39a ):注:1id:1个字节,由单机来定(0~255) 2command:1个字节,收到的上位机命令 3数据个数:1个字节,返回数据个数(以字节为单位)4Value:n个字节,是返回上位机的数据5cRc:计算出cRc 写命令,若正确返回收到的数据:若错误注:1id:1个字节,由单机来定(0~255) 2command:1个字节,收到的上位机命令或上0x80, 如收到3,返回0x83 3数据:1个字节,错误的指令错误指令 1:表示command不存在2:表示数据地址超限 4cRc:计算出cRc 例如读pc39a电流数据: 机器地址为12,电流的数据地址100,数据为15.45(a)(一个整型数据)

modbus协议解析

目录 1、Modbus简介 (2) 1.1MODBUS功能码简述 (3) 1.2功能码说明 (4) 1.3寄存器种类说明 (5) 1.4 PLC地址和协议地址区别 (6) 1.4.1 寄存器PLC地址 (6) 1.4.2 寄存器协议地址 (6) 2.MODBUS指令说明 (6) 2.1 读线圈寄存器01H (6) 2.2 读离散输入寄存器02H (9) 2.3 读保持寄存器03H (11) 2.4 读输入寄存器04H (13) 2.5 写单个线圈寄存器05H (15) 2.6 写单个保持寄存器06H (17) 2.7 写多个线圈寄存器0FH (18) 2.8 写多个保持寄存器10H (21)

1、Modbus简介 Modbus是由Modicon(现为施耐德电气公司的一个品牌)在1979年发明的,是全球第一个真正用于工业现场的总线协议。ModBus网络是一个工业通信系统,由带智能终端的可编程序控制器和计算机通过公用线路或局部专用线路连接而成。其系统结构既包括硬件、亦包括软件。它可应用于各种数据采集和过程监控。 ModBus网络只有一个主机,所有通信都由他发出。网络可支持247个之多的远程从属控制器,但实际所支持的从机数要由所用通信设备决定. Modbus比其他通信协议使用的更广泛的主要原因有: (1)标准、开放,用户可以免费、放心地使用Modbus协议,不需要交纳许可证费,也不会侵犯知识产权。目前,支持Modbus的厂家超过400家,支持Modbus 的产品超过600种。 (2)Modbus可以支持多种电气接口,如RS-232、RS-485等,还可以在各种介质上传送,如双绞线、光纤、无线等。 (3)Modbus的帧格式简单、紧凑,通俗易懂。用户使用容易,厂商开发简单。其传输模式有:RTU、ASSCII 、TCP

Modbus通讯协议(TCP和RTU)

1MODBUS RTU 读寄存器请求序号意义所占字节字节存放格式 1从设备地址1个字节0x00?0xff 2功能码1个字节0x03 3起始寄存器基地址两个字节高字节在前 4寄存器个数两个字节高字节在前 5CRC校验码两个字节低字节在前 读寄存器回应序号意义所占字节字节存放格式1从设备地址1个字节0x00?0xff 2功能码1个字节0x03 3数据长度1个字节寄存器个数×2 4数据寄存器个数×2个字节每个寄存器高字节在前5CRC校验码两个字节低字节在前 写单个寄存器请求序号意义所占字节字节存放格式1从设备地址1个字节0x00?0xff 2功能码1个字节0x06 3起始寄存器地址两个字节高字节在前 4寄存器值两个字节 高字节在前 5CRC校验码 两个字节 低字节在前 写单个寄存器回应序号意义所占字节字节存放格式1从设备地址1个字节0x00?0xff 2功能码1个字节0x10 3起始寄存器地址两个字节高字节在前 4寄存器值两个字节 高字节在前 5CRC校验码 两个字节 低字节在前 1

写多个寄存器请求序号意义所占字节字节存放格式1从设备地址1个字节0x00?0xff 2功能码1个字节0x10 3起始寄存器地址两个字节高字节在前 4寄存器个数两个字节 高字节在前 5数据长度 1个字节 寄存器个数×2  6数据寄存器个数×2个字节每个寄存器高字节在前7CRC校验码 两个字节 低字节在前 写多个寄存器回应序号意义所占字节字节存放格式1从设备地址1个字节0x00?0xff 2功能码1个字节0x10 3起始寄存器地址两个字节高字节在前 4寄存器个数两个字节 高字节在前 5CRC校验码 两个字节 低字节在前 错误返回序号意义所占字节字节存放格式1从设备地址1个字节0x00?0xff 2功能码1个字节请求功能码+0x80 3错误码1个字节 其代号见下面表格4CRC校验码 两个字节 低字节在前 错误代号错误代号意义 0x01不支持该功能码 0x02越界 0x03寄存器数量超出范围 0x04读写错误 2

ModBusRTU通讯协议

ModBusRTU通讯协议 Modbus协议最初由Modicon公司开发出来,在1979年末该公司成为施耐德自动化(Schneider Automation)部门的一部分,现在Modbus已经是工业领域全球最流行的协议。此协议支持传统的RS-232、RS-422、RS-485和以太网设备。许多工业设备,包括PLC,DCS,智能仪表等都在使用Modbus协议作为他们之间的通讯标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。 当在网络上通信时,Modbus协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成应答并使用Modbus 协议发送给询问方。 Modbus协议包括ASCII、RTU、TCP等,并没有规定物理层。此协议定义了控制器能够认识和使用的消息结构,而不管它们是经过何种网络进行通信的。标准的Modicon控制器使用RS232C实现串行的Modbus。Modbus的ASCII、RTU协议规定了消息、数据的结构、命令和就答的方式,数据通讯采用Maser/Slave方式,Master端发出数据请求消息,Slave 端接收到正确消息后就可以发送数据到Master端以响应请求;Master端也可以直接发消息修改Slave端的数据,实现双向读写。 Modbus协议需要对数据进行校验,串行协议中除有奇偶校验外,ASCII模式采用LRC 校验,RTU模式采用16位CRC校验,但TCP模式没有额外规定校验,因为TCP协议是一个面向连接的可靠协议。另外,Modbus采用主从方式定时收发数据,在实际使用中如果某Slave 站点断开后(如故障或关机),Master端可以诊断出来,而当故障修复后,网络又可自动接通。因此,Modbus协议的可靠性较好。 对于Modbus的ASCII、RTU和TCP协议来说,其中TCP和RTU协议非常类似,我们只要把RTU协议的两个字节的校验码去掉,然后在RTU协议的开始加上5个0和一个6并通过TCP/IP网络协议发送出去即可。 (一)、通讯传送方式: 通讯传送分为独立的信息头,和发送的编码数据。以下的通讯传送方式定义也与ModBusRTU通讯规约相兼容: 初始结构= ≥4字节的时间 地址码= 1 字节 功能码= 1 字节 数据区= N 字节 错误校检= 16位CRC码 结束结构= ≥4字节的时间 地址码:地址码为通讯传送的第一个字节。这个字节表明由用户设定地址码的从机将接收由主机发送来的信息。并且每个从机都有具有唯一的地址码,并且响应回送均以各自的地址码开始。主机发送的地址码表明将发送到的从机地址,而从机发送的地址码表明回送的从机地址。 功能码:通讯传送的第二个字节。ModBus通讯规约定义功能号为1到127。本仪表只利用其中的一部分功能码。作为主机请求发送,通过功能码告诉从机执行什么动作。作为从机响应,从机发送的功能码与从主机发送来的功能码一样,并表明从机已响应主机进行操作。如果从机发送的功能码的最高位为1(比如功能码大与此同时127),则表明从机没有响应操作或发送出错。

电磁流量计实用标准MODBUS通讯协议详情(1)

电磁流量计转换器 通讯协议 2012-10-12

目录 一、概述................................................................................................. - 2 - 二、网络结构及接线................................................................................ - 2 -

三、Modbus协议RTU帧格式 .............................................................. - 2 - 四、Modbus协议命令编码定义............................................................. - 4 - 五、电磁流量计MODBUS寄存器定义 ................................................... - 5 - 1. 电磁流量计MODBUS寄存器地址定义............................................... - 5 - 2.PLC地址设置说明................................................................................ - 5 - 3.组态王地址设置说明............................................................................. - 6 -4.数据含义说明 .................................................................................... - 6 -六、通讯数据解析................................................................................... - 7 -1读瞬时流量 .......................................................................................... - 7 -2.读瞬时流速:....................................................................................... - 8 -3读累积流量 .......................................................................................... - 8 - 5.读总量流量单位 ................................................................................. - 10 - 6.读报警状态 ........................................................................................ - 10 - 七、应用举例........................................................................................ - 11 - 1.C语言MODBUS 示例程序............................................................... - 11 - 2.modbus调试软件modbus poll通讯实例....................................... - 13 - 3.modbus调试软件modscan32通讯实例 ......................................... - 15 - 4.组态王6.53通讯实例 ........................................................................ - 17 - 5.力控 6.1通讯实例.............................................................................. - 21 -

Modbus通讯协议

Modbus 协议简介 Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备的过程,如果回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。 当在一Modbus网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息并用Modbus协议发出。在其它网络上,包含了Modbus协议的消息转换为在此网络上使用的帧或包结构。这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。 在Modbus网络上转输 标准的Modbus口是使用一RS-232兼容串行接口,它定义了连接口的针脚、电缆、信号位、传输波特率、奇偶校验。控制器能直接或经由Modem组网。 控制器通信使用主—从技术,即仅一设备(主设备)能初始化传输(查询)。其它设备(从设备)根据主设备查询提供的数据作出相应反应。典型的主设备:主机和可编程仪表。典型的从设备:可编程控制器。 主设备可单独和从设备通信,也能以广播方式和所有从设备通信。如果单独通信,从设备返回一消息作为回应,如果是以广播方式查询的,则不作任何回应。Modbus协议建立了主设备查询的格式:设备(或广播)地址、功能代码、所有要发送的数据、一错误检测域。 从设备回应消息也由Modbus协议构成,包括确认要行动的域、任何要返回的数据、和一错误检测域。如果在消息接收过程中发生一错误,或从设备不能执行其命令,从设备将建立一错误消息并把它作为回应发送出去。 在其它类型网络上转输 在其它网络上,控制器使用对等技术通信,故任何控制都能初始和

modicon_MODBUS协议最新中文版

第一章 Modbus 协议 □ 介绍Modbus 协议介绍 □ 两种串行传输模式 □ 信息帧 □ 错误检查方法 Modbus 协议介绍 Modbus 可编程控制器之间可相互通讯,也可与不同网络上的其他设备进行通讯,支撑网络有Modicon 的Modbus 和Modbus+工业网络。网络信息存取可由控制器内置的端口,网络适配器以及Modicon 提供的模块选件和网关等设备实现,对OEM(机械设备制造商)来说,Modicon 可为合作伙伴提供现有的程序,可使Modbus+网络紧密地集成到他们的产品设计中去。 Modicon 的各种控制器使用的公共语言被称为 Modbus 协议,该协议定义了控制器能识别和使用的信息结构。当在Modbus 网络上进行通讯时,协议能使每一台控制器知道它本身的设备地址,并识别对它寻址的数据,决定应起作用的类型,取出包含在信息中的数据和资料等,控制器也可组织回答信息,并使用Modbus 协议将此信息传送出去。 在其他网络上使用时,数据包和数据帧中也包含着Modbus 协议。如,Modbus+或MAP 网络控制器中有相应的应用程序库和驱动程序,实现嵌入式Modbus 协议信息与此网络中用子节点设备间通讯的特殊信息帧的数据转换。 该转换也可扩展,处理节点地址,路由,和每一个特殊网络的错误检查方法。如包含在Modbus 协议中的设备地址,在信息发送前就转换成节点地址,错误检查区也用于数据包,与每个网络的协议一致,最后一点是需用Modbus 协议,写入嵌入的信息,定义应处理的动作。 图1说明了采用不同通讯技术的多层网络中设备的互连方法。在信息交换中,嵌入到每个网络数据包中的Modbus 协议,提 主处理器 4个Modus 设备或网络 编程器 编程器 (去MB+) S980(去MAP) AT/HC-984 和 HOST/MMHI AT/HC-984 HOST/MMHI 984A/B 和 S985

modbus通讯协议

Modbus通讯协议 图片: 图片: 图片:

Modbus协议最初由Modicon公司开发出来,在1979年末该公司成为施耐德自动化(Schneider Automation)部门的一部分,现在Modbus已经是工业领域全球最流行的协议。此协议支持传统的RS-232、RS-422、RS-485和以太网设备。许多工业设备,包括PLC,DCS,智能仪表等都在使用Modbus协议作为他们之间的通讯标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。 当在网络上通信时,Modbus协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成应答并使用Modbus协议发送给询问方。 Modbus协议包括ASCII、RTU、TCP等,并没有规定物理层。此协议定义了控制器能够认识和使用的消息结构,而不管它们是经过何种网络进行通信的。标准的Modicon控制器使用RS232C实现串行的Modbus。Modbus的ASCII、RTU协议规定了消息、数据的结构、命令和就答的方式,数据通讯采用Maser/Slave方式,Master 端发出数据请求消息,Slave端接收到正确消息后就可以发送数据到Master端以响应请求;Master端也可以直接发消息修改Slave端的数据,实现双向读写。

Modbus协议需要对数据进行校验,串行协议中除有奇偶校验外,ASCII模式采用LRC校验,RTU模式采用16位CRC校验,但TCP模式没有额外规定校验,因为TCP 协议是一个面向连接的可靠协议。另外,Modbus采用主从方式定时收发数据,在实际使用中如果某Slave站点断开后(如故障或关机),Master端可以诊断出来,而当故障修复后,网络又可自动接通。因此,Modbus协议的可靠性较好。 下面我来简单的给大家介绍一下,对于Modbus的ASCII、RTU和TCP协议来说,其中TCP和RTU协议非常类似,我们只要把RTU协议的两个字节的校验码去掉,然后在RTU协议的开始加上5个0和一个6并通过TCP/IP网络协议发送出去即可。所以在这里我仅介绍一下Modbus的ASCII和RTU协议。 下表是ASCII协议和RTU协议进行的比较: 通过比较可以看到,ASCII协议和RTU协议相比拥有开始和结束标记,因此在进行程序处理时能更加方便,而且由于传输的都是可见的ASCII字符,所以进行调试时就更加的直观,另外它的LRC校验也比较容易。但是因为它传输的都是可见的ASCII 字符,RTU传输的数据每一个字节ASCII都要用两个字节来传输,比如RTU传输一个十六进制数0xF9,ASCII就需要传输’F’’9’的ASCII码0x39和0x46两个字节,这样它的传输的效率就比较低。所以一般来说,如果所需要传输的数据量较小可以考虑使用ASCII协议,如果所需传输的数据量比较大,最好能使用RTU协议。

modbus协议

MODBUS 规约中文说明书1.MODBUS规约 MODBUS规约是MODICOM公司开发的一个为很多厂商支持的开放规约 Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。 此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了控制器请求访问其它设备的过程,如果回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。 当在Modbus网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息并用Modbus协议发出。在其它网络上,包含了Modbus协议的消息转换为在此网络上使用的帧或包结构。这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。 标准的Modbus口是使用RS-232C兼容串行接口,它定义了连接口的针脚、电缆、信号位、传输波特率、奇偶校验。控制器能直接或经由Modem组网。 控制器通信使用主—从技术,即仅设备(主设备)能初始化传输(查询)。其它设备(从设备)根据主设备查询提供的数据做出相应反应。典型的主设备:主机和可编程仪表。典型的从设备:可编程控制器。 主设备可单独和从设备通信,也能以广播方式和所有从设备通信。如果单独通信,从设备返回消息作为回应,如果是以广播方式查询的,则不作任何回应。Modbus协议建立了主设备查询的格式:设备(或广播)地址、功能代码、所有要发送的数据、错误检测域。 从设备回应消息也由Modbus协议构成,包括确认要行动的域、任何要返回的数据、和错误检测域。如果在消息接收过程中发生错误,或从设备不能执行其命令,从设备将建立错误消息并把它作为回应发送出去。 在其它网络上,控制器使用对等技术通信,故任何控制都能初始和其它控制器的通信。这样在单独的通信过程中,控制器既可作为主设备也可作为从设备。提供的多个内部通道可允许同时发生的传输进程。 在消息位,Modbus协议仍提供了主—从原则,尽管网络通信方法是“对等”。

相关主题