MODBUS通讯协议简述及自由口协议-国际工业自动化网-控制,工控,网络,仪器仪表,产品,采购选型,推荐,问答,资料,下载
 IIA首页    新闻      案例      工业经理人
      产品         技术      专题      工程师社区
      学院         下载      视频      在线研讨会
现场层       传感器    现场仪表   工业安全
现场总线  工业以太网   工业无线  工业连接
机器视觉    测试测量   执行机构   电子元件
机器控制/过程控制     PLC    DCS
 控制系统  控制软件   HMI   运动控制
 嵌入式系统   工业机器人
优化/集成/管理
MES    PLM    工业数据中心
能效管理    设备管理与维护
可持续发展技术专题 2011汉诺威工业博览会回顾
 

案例

Application Case

   首页  >  传感器  >  案例  >  正文

MODBUS通讯协议简述及自由口协议


http://www.iianews.com MODBUS 通讯协议 2010年02月03日

        Modbus通讯协议是一种简单的被所有软硬件工控厂商免费支持的通讯协议。FCS900可直接连接组态王、MCGS、IFIX等国内外组态软件,可以在1200米范围内轻松组建具有AI、AO、DI、DO等秒级远程、分散数据采集控制系统。也可以直接连接PLC、DCS等上位机,作为远程I/O使用。

        一线通模块按从机MODBUS协议设计,若波特率、齐偶校验、起始位、停止位、数据位、从机地址等通讯参数设置正确,模块可以同任何主机MODBUS设备直接通讯。


        FCS900系列模块的通讯参数为:19200bps/1位起始位/1位停止位/无校验位/MODBUS-RTU协议。

        模块支持下述MODBUS功能,所有功能按标准MODBUS协议设计。

1,功能码02H:成组读取一线通模块的数字量输入信号状态(DI)。

2,功能码03H:成组读取一线通模块的模拟量输入信号(AI)。

3,功能码04H:成组读取一线通模块的模拟量输入信号(AI)。

4,功能码05H:设置一线通模块的单一输出线圈的状态(DO)。

5,功能码06H:设置一线通模块的单一模拟量存储器内容(AO)。

6,功能码0FH:成组设置一线通模块的数字量输入信号状态(DO)。

7,功能码10H:成组设置一线通模块的模拟量输出信号状态(AO)。

        功能码02H是读取各通道数字量采集结果命令。通讯首先由MODBUS主机设备发送“主机发信数据帧”,指明通讯对象的从机地址(一线通模块地址)、数据的起始寄存器地址、数据数量和本次数据帧的CRC校验。一线通模块接收到“主机发信数据帧”后,判断从机地址是否与本机地址相同以及CRC校验是否出错,若地址不同或CRC出错,一线通模块不作响应;若地址相同且CRC校验结果正确,一线通模块发送“从机回信数据帧”,向主机发送对应的数字量数据。

主机发信数据帧:

地址

02

起始地址

高字节

起始地址

低字节

数据量

高字节

数据量低字节

从机回信数据帧:

地址

02

数据字节数

数据1

数据2

。。。。。。

数据n

CRC

高字节

CRC

低字节

——地址:网络中的从机地址,即FCS900模块的地址编号,参见“一线通模块设置”章节。

——起始地址:双字节,要读取寄存器的起始地址,此数据要求比实际的数据地址小1;

——数据量:双字节,1~16;

——数据字节量:1~2;

——数据:一线通模块发送给主机的数据,低位低寄存器地址。

——CRC:双字节CRC校验码。

        支持MODBUS功能码02H的FCS900模块有FCS931、FCS941、FCS942、FCS951、FCS952、FCS953和FCS954。

16之间,超过该范围一线通模块可能拒绝响应;

8之间,超过该范围一线通模块可能拒绝响应。

输出通道状态,可以使用02功能码读出。

        FCS900一线通模块对功能码3、4没有区别,两组命令都是读取各通道模拟量采集结果,下述仅以功能码4为例,详述MODBUS通讯的通讯过程。通讯首先由MODBUS主机设备发送“主机发信数据帧”,指明通讯对象的从机地址(一线通模块地址)、数据的起始寄存器地址、数据数量和本次数据帧的CRC校验。FCS900一线通模块接收到“主机发信数据帧”后,判断从机地址是否与本机地址相同以及CRC校验是否出错,若地址不同或CRC出错,FCS900一线通模块不作响应;若地址相同且CRC校验结果正确,FCS900一线通模块发送“从机回信数据帧”,向主机发送对应的模拟量数据。

主机发信数据帧:

地址

04

起始地址

高字节

起始地址

低字节

数据量

高字节

数据量低字节

从机回信数据帧:

地址

04

数据

字节数

数据1

高字节

数据1

低字节

。。。。。。

数据n

高字节

数据n

低字节

CRC

高字节

CRC

低字节

——地址:网络中的从机地址,即FCS900模块的地址编号,参见“一线通模块设置”章节。

——起始地址:双字节,要读取寄存器的起始地址,此数据要求比实际的数据地址小1;

——数据量:双字节,1~128;

——数据字节量:2~256间的偶数;

——数据:FCS900发送给主机的数据,双字节无符号整数,高位在前,低位在后;

——CRC:双字节CRC校验码。

        支持MODBUS功能码03H、04H的FCS900模块有FCS911、FCS912、FCS913、FCS914、FCS915、FCS921、FCS922、FCS952、FCS953和FCS954。

16之间,超过该范围一线通模块可能拒绝响应。

8之间,超过该范围一线通模块可能拒绝响应。

14之间,超过该范围一线通模块可能拒绝响应。

8之间,超过该范围一线通模块可能拒绝响应。

        功能码5是单一通道数字量输出命令,通讯首先由MODBUS主机设备发送“主机发信数据帧”,指明通讯对象的从机地址(一线通模块地址)、数据的寄存器地址、数据和本次数据帧的CRC校验。FCS900一线通模块接收到“主机发信数据帧”后,判断从机地址是否与本机地址相同以及CRC校验是否出错,若地址不同或CRC出错,FCS900一线通模块不作响应;若地址相同且CRC校验结果正确,FCS900一线通模块发送“从机回信数据帧”。

主机发信数据帧:

地址

05

数据地址

高字节

数据地址

低字节

数据

高字节

数据

低字节

从机回信数据帧(FCS941回信数据帧):

地址

05

数据地址

高字节

数据地址

低字节

数据

高字节

数据低字节

——地址:网络中的从机地址,即FCS900模块的地址编号,参见“一线通模块设置”章节。

——数据地址:双字节,输出寄存器地址,此数据要求比实际的数据地址小1;

——数据:双字节,数据为零时,使出输出接点断开;数据非零时,输出接点闭合。

——CRC:双字节CRC校验码。

        支持MODBUS功能码05H的FCS900模块有FCS941、FCS942、FCS951、FCS953、FCS954。

16之间,超过该范围一线通模块可能拒绝响应。

8之间,超过该范围一线通模块可能拒绝响应。

之间,超过该范围一线通模块可能拒绝响应。

16之间,超过该范围一线通模块可能拒绝响应。

        功能码6是单一通道模拟量输出命令,通讯首先由MODBUS主机设备发送“主机发信数据帧”,指明通讯对象的从机地址(FCS900一线通模块地址)、数据的寄存器地址、数据数值和本次数据帧的CRC校验。FCS900一线通模块接收到“主机发信数据帧”后,判断从机地址是否与本机地址相同以及CRC校验是否出错,若地址不同或CRC出错,FCS900一线通模块不作响应;若地址相同且CRC校验结果正确,FCS900一线通模块发送“从机回信数据帧”,向主机发送应答帧。

主机发信数据帧:

地址

06

数据地址

高字节

数据地址

低字节

数据

高字节

数据

低字节

CRC

高字节

CRC

低字节

从机回信数据帧:

地址

06

数据地址

高字节

数据地址

低字节

数据

高字节

数据

低字节

CRC

高字节

CRC

低字节

——地址:网络中的从机地址,即FCS900模块的地址编号,参见“一线通模块设置”章节。

——数据地址:双字节,输出寄存器地址,此数据要求比实际的数据地址小1。

——数据:双字节,即模拟量输出值。

——CRC:双字节CRC校验码。

支持MODBUS功能码06H的FCS900模块有FCS921、FCS922。

超过该范围一线通模块可能拒绝响应。

超过该范围一线通模块可能拒绝响应。

        功能码0FH是成组数字量输出命令,通讯首先由MODBUS主机设备发送“主机发信数据帧”,指明通讯对象的从机地址(FCS900一线通模块地址)、数据的寄存器地址、数据数值和本次数据帧的CRC校验。FCS900一线通模块接收到“主机发信数据帧”后,判断从机地址是否与本机地址相同以及CRC校验是否出错,若地址不同或CRC出错,FCS900一线通模块不作响应;若地址相同且CRC校验结果正确,FCS900一线通模块发送“从机回信数据帧”,向主机发送应答帧。

主机发信数据帧:

地址

0F

数据地址

双字节

数据量

双字节

数据

字节量

数据1

数据2

数据N

CRC

双字节

从机回信数据帧:

地址

0F

数据地址

双字节

数据量

双字节

CRC

双字节

——地址:网络中的从机地址,即FCS900模块的地址编号,参见“一线通模块设置”章节。

—— 数据地址:双字节,输出寄存器地址,此数据要求比实际的数据地址小1;

——字节量:单字节,后面数据的字节数量。

——数据:低位低寄存器地址。。

——CRC:双字节CRC校验码。

支持MODBUS功能码05H的FCS900模块有FCS941、FCS942、FCS951、FCS953、FCS954。

16之间,超过该范围一线通模块可能拒绝响应。

8之间,超过该范围一线通模块可能拒绝响应。

之间,超过该范围一线通模块可能拒绝响应。

16之间,超过该范围一线通模块可能拒绝响应。

        功能码10H是成组模拟量输出命令(AO)。通讯首先由MODBUS主机设备发送“主机发信数据帧”,指明通讯对象的从机地址(FCS900一线通模块地址)、数据的寄存器地址、数据数值和本次数据帧的CRC校验。FCS900一线通模块接收到“主机发信数据帧”后,判断从机地址是否与本机地址相同以及CRC校验是否出错,若地址不同或CRC出错,FCS900一线通模块不作响应;若地址相同且CRC校验结果正确,FCS900一线通模块发送“从机回信数据帧”,向主机发送应答帧。

主机发信数据帧:

地址

10

数据地址

双字节

数据量

双字节

字节量

数据1

双字节

数据2

双字节

数据N

双字节

CRC

双字节

从机回信数据帧:

地址

10

数据地址

双字节

数据量

双字节

CRC

双字节

——地址:网络中的从机地址,即FCS900模块的地址编号,参见“一线通模块设置”章节。

—— 数据地址:双字节,输出寄存器地址,此数据要求比实际的数据地址小1;

——字节量:单字节,后面数据的字节数量。

——数据:双字节,即模拟量输出值。

——CRC:双字节CRC校验码。

支持MODBUS功能码10H的FCS900模块有FCS921、FCS922。

超过该范围一线通模块可能拒绝响应。

超过该范围一线通模块可能拒绝响应。

自由口通讯

        与MODBUS数据格式完全相同,FCS900自动识别MODBUS协议和自由口通讯协议,不需设置。

        MODBUS协议采用双字节CRC错误校验,在自由通讯口编程时错误校验采用双字节累加和校验,即将校验字节之前的所有单字节数据相加,所得双字节结果即是累加和校验。注意:累加时保留进位位。

MODBUS通讯协议命令与自由口通讯命令对照:

MODBUS命令码

自由口命令码

功能描述

02H

C2H

03H

C3H

04H

C4H

05H

C5H

06H

C6H

0FH

CFH

10H

D0H

主机发信数据帧:

地址

C2

起始地址

高字节

起始地址

低字节

数据量

高字节

数据量低字节

从机回信数据帧:

地址

C2

数据字节数

数据1

数据2

。。。。。。

数据n

        通过自由口编程,上位机读取#2地址FCS911模块的1~3通道的模拟量采集数据,采用C4H功能码,上位机按照下述组织数据:

地址=02H;

命令吗=C4H;

数据地址H=00H;

数据地址L=00H;(比实际地址小1)。

数据量H=00H;

数据量L=03H;

累加和H=00H;

累加和L=C9H;(累加和:02H+C4H+00H+00H+00H+03H=00C9H)。

        按上述数据,上位机发送数据帧02H、C4H、00H、00H、00H、03H、00H、C9H,#2模块FCS911接收到命令并验证无误后,发送下面的回信数据帧。(假设1~3通道的采集数据分别为139、240、360。)

回信数据帧:02H、C4H、06H、00H、8BH、00H、F0H、01H、68H、02H、B0H。

地址=02H;

命令吗=C4H;

数据字节=06H;

数据1H=00H;

数据1L=8BH;(139)

数据2H=00H;

数据2L=F0H;(240)

数据3H=01H;

数据3L=68H;(360)

累加和H=02H;

累加和L=B0H;(累加和:02H+84H+06H+00H+8BH+00H+F0H+01H+68H=02B0H)。

其他命令格式类似。

 

 

 
相关链接
华电集团国电南自首个600MW超临界机组DCS出厂 [ 2010-04-07]
数据引擎技术在DCS中的应用 [ 2010-03-01]
CRC算法原理及C语言实现 [ 2010-02-25]
工业以太网污水处理控制系统研究 [ 2010-02-25]
简单的组态软件模型探讨 [ 2010-02-09]
基于组态软件的仿真变电站监控系统的实现 [ 2010-02-09]
第四代分布式控制系统(DCS) [ 2010-02-09]
FCS与DCS混合式集成控制系统研究 [ 2010-02-09]
基于CodeTest工具的DCS系统嵌入式测试设计 [ 2010-02-09]
组态软件的系统构成及其简介 [ 2010-02-09]
SAP首席执行官辞职 已任命2名共同首席执行官 [ 2010-02-08]
工业以太网与Modbus TCP [ 2010-02-03]
利用先进H.264 IP影像技术,升级您使命攸关的CCTV系统 [ 2010-02-03]
设计独特的最先进新型环保直流驱动器----Mentor MP [ 2010-02-03]
美国邦纳强势发布SHP一体式控制器 [ 2010-02-03]
  相关群组   
  相关话题   
  逻辑分析仪在通讯协议分析上的应用
  无线通讯协议介绍
  响应时间极短的Modbus数字压力变送器EC6
  CC-link通讯协议典型应用
  CC-Link通讯协议的分类
  关于CC-link通讯协议的问与答
  I-7017 支持Modbus RTU协议的八路4~20mA电流环信号采集模块
  I-7017 支持Modbus RTU协议的八路4~20mA电流环信号采集模块
  I-7017 支持Modbus RTU协议的八路4~20mA电流环信号采集模块
  相关问答   
S7400CPU带300模块和CP341,做MODBUS SLAVE 与DCS无法通讯
现在用S7400做主站挂300I/O模块和CP341做MODBUS从站,与DCS通讯,从网上下载的驱动安装,从站加密狗也插好了,并按照西门子的例程做的程序,组态中设置CP341为MODBUS SLAVE RTU通讯方式但SF、TXD、RXD灯都不亮,置位M180.1后,TXD、RXD偶尔会同时闪一下,同时报错位报错,检查CP341模块在线信息没出错,请问如何解决,非常急
您好,从站至少必须要设置的就是从站地址、和主站一致的波特率、数据位、停止位和校验方式。 还有S7400的Modbus的库程序就有相关的参数要定义的,您可以按此参数定义就可以了。希望对您有所帮助,谢谢对我们的支持!注
  相关产品

Modicon Quantum以太网架构解决方案

WAGO 新一代以太网控制器

图尔克BLident系统

图尔克UHF超高频产品
  推荐企业
Endress+Hauser 恩德斯豪斯 西门子自动化与驱动集团
  关于 " MODBUS通讯协议简述及自由口协议 " ,填写反馈

验证码:    看不清

用户名:          密 码:         
还不是 IIAnews 注册会员? 立即免费注册 节省更多时间!
  直通车 :   ( 无须注册,轻松沟通 )
*姓名:     *单位名称:
*电话:     *电子邮件:
 
    
 

行业导航

电力    冶金    石化    医疗    建材
交通    电子    机械    节能    汽车    OEM
2012工业通讯技术应用峰会
产品点通
交换机  串口服务器  控制器  工控机  平板电脑  人机界面
传感器  视觉系统  伺服电机  PAC   I/O模块   MES  触摸屏
PLC  继电器  变送器  步进电机
主编直播间
在线提问  主编观点
•  2011年自动化市场回顾
•  MES提供从控制到管理的协同制造
•  定制创新服务模式—SFAE助力中山市松德包装机械股份有限公司...
•  风电变桨控制系统调查
•  投票你觉得性价比最好的人机界面
最新话题
在线研讨会
 • 1st Web-Seminar for PCS 7 Specialists: Customer Be
 • 2011研拓自动化全方位运动控制产品与系統解決方案
 • 2011科尔摩根 (Kollmorgen) KBM无框架直驱电机产品介绍
 • 美国福禄克(FLUKE)电能质量与设备使用的关系
 • 科尔摩根运动控制产品及其印刷行业应用方案
最新视频
西门子全集成自动化视频8- 国际化的设备
全面进军国际市场需要面对众多挑战。您必须将软件、文档、说明手册翻译成多
•   西门子全集成自动化视频7- 轻松集成
•   施耐德电气案例展播之建筑楼宇
•   施耐德电气案例展播之数据中心
•   菲尼克斯电气标识系统产品视频
•   西门子全集成自动化视频6- 生产透明度
编辑推荐
•  霍尼韦尔将2012年的年度用户大会(HUG)大学生挑战赛活动扩展至亚太地区
•  倍加福邀您共襄沈阳制博会盛事
•  SICK 传感器公司中文名称变更通告
•  堡盟南京办事处正式成立
•  艾默生通过并购扩展其安全业务
市场调研

搜企
首页 | 国际金属加工网 | 造车网 | 会员 | 主题信息 | 自动化问答 | 网站地图 | 免责声明 | 关于我们 | 主编信箱
北京市朝阳区东四环中路58号远洋国际中心C座2402室 电话: 010-65307950 传真: 010-65307859
Copyright ©1997-2012 IIA News.com & SooQ. All rights reserved.