Modbus RTU串行通讯协议在工业现场的应用
ModbusRTU串行通讯协议在工业现场的应用
李喜东,刘波涛,刘 刚
(黑龙江省科学院自动化研究所,黑龙江 哈尔滨 150090)
摘要:本文介绍ModbusRTU通讯协议在自动化智能仪表之间,和控制器之间的通讯的应用,重点说明了数据的传输过程和CRC冗余循环码校验。
关键词:Modbus;RTU模式;串行通讯
中图分类号:TP393.03 文献标识码:B 文章编号:1003-7241(2005)07-0037-04
ApplicationoftheModbusRTUSeries
CommunicationProtocolinIndustry
LIXi-dong,LiuBo-tao,Liu-gang
(AutomationInstituteofHeilongjiangAcademy,Harbin150090,China)
Abstract:ThisnoteintroducestheapplicationofModbusRTUcommunicationprotocolusedinintelligentinstrumentswithemphasisonthedatatrans-missionandcyclicredundancychecks.
Keywords:Modbus;RTUmode;Serialcommunication
1 引言
Modbus是一种串行的、非同步的通讯协议,此协议不要特别的接口,典型的物理接口是RS485。Modbus协议最早是为ModiconPLC和其它自动控制设备的集成而设计的,具有PLC的结构特点。
Modbus协议的通讯格式主要分ASCII、RTU、TCP等,其中RTU格式由于传输效率高被大多数厂商采用[2]。此协议支持传统的RS-232、RS-422、RS-485和Ethernet设备。当在网络上通信时,控制器设备数据通信使用主 从技术,在同一通信网络上每个设备都有唯一的设备地址,并且只能有一个主设备,可以有多个从设备。要完成通讯任务各设备须要知道它们自己的设备地址,主设备发出数据请求消息从设备根据主设备发出数据请求消息作出相应反应。主设备可单独和从设备通信,也能以广播方式和所有从设备通信。如果单独通信,从设备返回一消息作为回应,如果是以广播方式查询的,则不作任何回应[2]。
2 系统概述
本系统是由放在不同气体分析室内的5台在线气体分析控制柜、1台放在中央控制室内的自控柜和1台计算机组成。计算机负责从5台在线气体分析控制柜和1台中央控制柜上读取信息管理各种数据,提供报表打印等功能。其中5台在线气体分析控制柜分别对氢气、氧气、氮气、氩气和氦气进行在线检测,检测各种气体里的杂质含量如氢气中含氮量、氢气中含水量和氮气中含氧量等等,还有各种分析仪表的状态信息等,1台分析气柜里大约提供70多个信号,如果都用导线传送信息除了会增加成本外也会产生大量不必要的工作量,同时数据远距离传输也会带进大量干扰信号,使系统的可靠性大大降低。因此在供应商提供设备时我们要求他们给我们提供了ModbusRTU标准接口,这为我们的接入提供了一个硬件平台。
2.1 系统网络拓补如图1:
在这里每个在线气体分析控制柜内各种在线分析仪表采集到的信号或者通过计算机采集分析的结果通过内部的通讯分别
收稿日期:2005-01-13送到一个KOYO的处理器,他给我们提供了一个RS-485的硬
ution& 37
功能码01020304
名称读取线圈状态读取输入状态读取保持寄存器读取输入寄存器
作用
取得一组逻辑线圈的当前状态(ON OFF)取得一组开关输入的当前状态(ON OFF)在一个或多个保持寄存器中取得当前的二进制值在一个或多个输入寄存器中取得当前的二进制值
件接口,同时信息在这里被转换成了标准的ModbusRTU通讯格式;在服务器上我们在PCI插槽上插入了一块IndustioCP-114型多串口卡,通过它和下面的控制器之间建立起RS-485通讯。在这里里我们把服务器作为主站,气体分析柜和中控柜作为从站,服务器发出数据请求信息,从站根据主站的请求来应答[3]
。
现以读取线圈状态加以说明:首先主站发送命令:[设备地址][命令号01][起始寄存器地址高8位][低8位][读取的寄存器数高8位][低8位][CRC校验的低8位][CRC校验的高8位]
从站响应:[设备地址][命令号01][返回的字节个数][数据1][数据2]...[数据n][CRC校验的低8位][CRC校验的高
图1 系统网络拓补图
8位]
2.2 ModbusRTU通讯数据传送模式:
当控制器设备设为在Modbus网络上以RTU模式通信,在消息中的每个8Bit字节包含两个4Bit的十六进制字符。这种方式的主要优点是:在同样的波特率下,可比ASCII方式传送更多的数据。
地址位1位
数据位8位
奇偶校验位1位或无校验
停止位1位
错误校检CRC
3.3 数据区
数据区是根据不同的功能码而不同。数据区包含需要从机执行什么动作或由从机采集的返送信息。这些信息可以是实际数值、设置点、主机发送给从机或从机发送给主机的地址等等。例如,功能码告诉从机读取寄存器的值,则数据区必需包含要读取寄存器的起始地址及读取长度。对于不同的从机,地址和数据信息都不相同。
编码采用8位二进制,十六进制数0...9,A...F;消息中的每个8位域都是一个两个十六进制字符组成
3.4 错误校验码
主机或从机可用校验码进行判别接收信息是否出错。错误检测域包含一16Bits值(用两个8位的字符来实现)。错误检测
3 ModbusRTU信息帧结构
地址码8位
功能代码8位
数据区N×8位
错误校验码
16位
域的内容是通过对消息内容进行循环冗长检测方法得出的。CRC域附加在消息的最后,添加时先是低字节然后是高字节。故CRC的高位字节是发送消息的最后一个字节。错误校验采用CRC-16校验方法。
3.1 地址码
地址码为通讯传送的第一个字节。这个字节表明由用户设定地址码的从机将接收由主机发送来的信息。并且每个从机都有具有唯一的地址码,只有符合地址码的从机才能响应回送,响应回送均以各自的地址码开始。主机发送的地址码表明将发送到的从机地址,而从机发送的地址码表明回送的从机地址。地址0是用作广播地址,以使所有的从设备都能认识。
4 通讯软件的编制
下面现场用VC编写的ModBusRTU通讯的部分程序
4.1 通讯口设置
DCBdcb;
hCom=CreateFile(”COM1”,
GENERICWRITE, GENERICREAD 0, NULL,
OPENEXISTING, 0, NULL);
if(hCom==INVALIDHANDLEVALUE){
MessageBox(”createfileerror,error”);}
BOOLerror=SetupComm(hCom,1024,1024);
3.2 功能代码
功能代码为通讯传送的第二个字节。ModBus通讯规约定义可能的代码范围是十进制的1...255。当然,有些代码是适用于所有控制器,有此是应用于某种控制器,还有些保留以备后用。作为主机请求发送,通过功能码告诉从机执行什么动作。作为从机响应,从机发送的功能码与从主机发送来的功能码一样,并表明从机已响应主机进行操作。如果从机发送的功能码的最高位为1,则表明从机没有响应操作或发送出错,主设备应用程序得到异议的回应后,典型的处理过程是重发消息。下表是常用Modbus支持的部分功能码:
38
if(!error)
MessageBox(”setupcommerror”);error=GetCommState(hCom,&dcb);if(!error)
MessageBox(”getcommstate,error”);dcb.BaudRate=4800;dcb.ByteSize=8;
dcb.Parity=EVENPARITY; NOPARITY;dcb.StopBits=ONESTOPBIT;error=SetCommState(hCom,&dcb);
calccrc(writebuf2[0]);calccrc(writebuf2[1]);calccrc(writebuf2[2]);calccrc(writebuf2[3]);calccrc(writebuf2[4]);calccrc(writebuf2[5]);
writebuf2[6]=crc&0xff; 加入校验writebuf2[7]=crc 0x100;
WriteFile(hCom,writebuf2, …… 此处隐藏:4998字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [行业范文]美好的法语句子
- [行业范文]描写露珠的句子
- [行业范文]精彩禅语句子图片
- [行业范文]关于满嘴谎言的句子
- [行业范文]关于安静的句子48句
- [行业范文]关于小河的句子
- [行业范文]描写稻田的句子
- [行业范文]思念好朋友的句子
- [行业范文]赞美雪的句子
- [行业范文]早上激励人心的句子
- [行业范文]失恋忧伤的句子
- [行业范文]努力积极向上的句子
- [行业范文]对工作心灰意冷的句子
- [行业范文]失恋让人心疼的句子
- [行业范文]描写珍惜青春的句子
- [行业范文]表达思念的句子简短
- [行业范文]关于父爱的句子范例
- [行业范文]浪漫的英语句子
- [行业范文]关于周末的句子
- [行业范文]思念牵挂的句子
- 有关感恩班会课件简短(二篇)(感恩班会
- 2025年初二下乡军训心得体会800字(15篇
- 关于新员工培训方案汇编(关于新员工培
- 精选高考生寒假学习计划书(精)(高考生
- 毕业实训报告心得体会(3篇)(实训报告心
- 银行工作感悟及心得范文怎么写(四篇)(
- 精选领导干部个人政治画像报告通用(七
- 精选超市11.11活动促销方案(精品超市品
- 2025年怎么做自我介绍汇总(5篇)(至2025
- 最新企业错峰生产方案(26篇)(山西企业
- 最新暑期三下乡社会实践调研报告范本(
- 最新幼儿园大班教育教学总结怎么写(最
- 最新教师节主持词小学(优秀9篇)(教师节
- 关于小学安全教育教学方案(推荐)(关于
- 员工信模板范文怎么写(五篇)(员工信息
- 最新保险销售离职申请书(十六篇)(最新
- 最新XX小学防校园欺凌工作方案怎么写(2
- 有关特岗教师辞职信范文(推荐)(特岗教
- 精选党的建设工作要点简短(党的建设的
- 如何写安康杯竞赛活动总结汇总(4篇)(安




