⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 modbus中文说明书.txt

📁 modbus的文章很好的资料啊 大家都来共同学习
💻 TXT
📖 第 1 页 / 共 3 页
字号:
MODBUS中文说明书 - 流浪汉日记 - CSDNBlog   流浪汉日记
人生就是折腾!
  登录注册全站当前博客空间博客好友相册留言郑亚阳ID:qiqihua

  共24249次访问,排名4687(1)好友0人,关注者0人
  dfgasdf
  qiqihua的文章
  原创 14 篇
  翻译 0 篇
  转载 13 篇
  评论 8 篇 
  S27的公告
   
  访问计数: 


  最近评论
  S27:当时对STL并没太多的了解,后来看了极限编程方面的书,发现其中的一些原则的实现方法和STL的方法一样!
  jxd:我在Vchelp上贴的"数独"游戏就是STL呀.
  d:a
  qiqihua:数据结构我们还没呢,就计算机文化基础(如果算的话)、C语言、微机原理以及幼儿园级的计算机软件基础。
  风林火山:我们大学就学了2们和计算机有关的课,c语言和数据结构. 
  文章分类
    串口通信(RSS)
    古文欣赏(RSS)
    生活散文(ZT)(RSS)
    诗词欣赏(RSS)
    心情日记(RSS)
    学习笔记(RSS)
  收藏
  相册
  故乡风景
  苦菜花
  十渡游玩
  同学
  校园
  好友博客
  BB
  Male110的软件屋
  林建华的Blog
  技术网站
  C++英文网站
  STL中文学习网站
  STL免费教程
  vchelp论坛
  VCshare
  VCSoft
  Windows开发
  一起学习单片机
  中国国家图书馆
  中国工控网
  中国盟动力
  中国自动化网
  多啦网
  开发者网络社区
  慧都控件网
  源码天空
  网络安全焦点
  西门子自动化与驱动集团
  娱乐网站
  MapABC
  中国传统文化网
  劝学网
  北极星书库
  南阳网
  哈军工校友资源网
  校友录(ChinaRen)
  桐柏网
  存档
    2007年04月(3)
    2007年03月(1)
    2007年02月(1)
    2006年09月(1)
    2006年07月(3)
    2006年06月(1)
    2006年05月(1)
    2006年03月(2)
    2006年02月(5)
    2005年12月(5)
    2005年11月(4)
  软件项目交易
  订阅我的博客
    









    MODBUS中文说明书收藏
新一篇: RS232/RS485应用分析 | 旧一篇: RS485简介
MODBUS 规约中文说明书
北京易控微网科技有限公司
www.econtrolnet.com
说明:该文档是产品说明书的一部分,考虑到国内没有看到详细的MODBUS规约中文说明书,所以就把自己产品说明书的一部分内容择出来,作为MDOBUS规约中文说明书。该说明书不是完整的MODBUS规约,但是却涵盖的几乎所有常用内容。
易控微网公司保留对该文件的版权,但是您可以使用、扩散该文件。对该文件的修改和更正需要通知我们。

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

ASCII方式
ASCII模式
: 地址 功能代码 数据数量 数据1 ... 数据n LRC高字节 LRC低字节 回车 换行 
地址域   功能域    数据域              错误检测域
帧定界:
“:”帧起始    “CR LF” 帧结束
ASCII方式用两个ASCII字符表示一个8位数据,比如16进制的3A用字符“3”和字符“A”表示。

MODBUS TCP
MODBUS 
TCP模式下,由于模块的地址由IP地址确定,所以不再有地址域内容,考虑到TCP网络是可靠的数据传输网络,故不再有校验数据。但是考虑到在IP网上数据到达的顺序可能与我们预期的数据不一致,故增加了一个数据序号,考虑到在MODBUS 
TCP协议上承载MODBUS协议,还在头部数据中增加了一个地址域。
MODBUS TCP / MODBUS 桥
STC-511 可以用于MODBUS TCP 到MODBUS 
的桥设备使用,作为MODBUS桥设备时,需要在地址域上加上地址,另外对应的串口需要设置为MODBUS主设备。
由于存在两个串口设备,地址域的最高位 MSB=1 则访问串口2, MSB=0 
则访问串口1。地址域广播地址是把低7位全部置为1,在发送到MODBUS总线时,地址修改为0。 地址域为0 表示不访问MODBUS 串口设备。
支持命令
我们目前所支持的功能码非常有限,主要包括:
READ COIL STATUS
READ INPUT STATUS
READ HOLDING REGISTERS
READ INPUT REGISTERS
FORCE SINGLE COIL
PRESET SINGLE REGISTER 
FORCE MULTIPLE COILS
FORCE MULTIPLE REGISTERS
READ FILE RECORD
WRITE FILE RECORD 
24   READ FIFO QUEUE
读继电器状态
功能码: 01
数据起始地址:00001~00008
数据长度:不大于08 (因为只有8个输出继电器) 
说明:读取输出继电器的状态。
数据说明:     
地址 描述 说明 
00001 第1个输出继电器 =1吸合   =0断开 
00002 第2个输出继电器 =1吸合   =0断开 
00003 第3个输出继电器 =1吸合   =0断开 
00004 第4个输出继电器 =1吸合   =0断开 
00005 第5个输出继电器 =1吸合   =0断开 
00006 第6个输出继电器 =1吸合   =0断开 
00007 第7个输出继电器 =1吸合   =0断开 
00008 第8个输出继电器 =1吸合   =0断开 
00009 第9个输出继电器(虚拟) =1吸合   =0断开 
00010 第10个输出继电器(虚拟) =1吸合   =0断开 
00011 第11个输出继电器(虚拟) =1吸合   =0断开 
00012 第12个输出继电器(虚拟) =1吸合   =0断开 
00013 第13个输出继电器(虚拟) =1吸合   =0断开 
00014 第14个输出继电器(虚拟) =1吸合   =0断开 
00015 第15个输出继电器(虚拟) =1吸合   =0断开 
00016 第16个输出继电器(虚拟) =1吸合   =0断开 
   
MODBUS 请求
功能码 1 BYTE 0X01 
起始地址 2 BYTE 0X0000 TO 0XFFFF 
读取数量 2 BYTE 1 TO 2000(0X7D0) 
MODBUS 响应
功能码 1   BYTE 0X01 
字节计数 1   BYTE N 
线圈状态 n   BYTE n   =N or N+1 
N =读取数量/8    如果余数不为0 则N=N+1
错误 响应
功能码 1   BYTE 0X01+ 0X80 
错误代码 1   BYTE 0x1 or 0x2 or 0x3 or 0x4 
举例
请求 响应 
域名称 数据(hex) 域名称 数据(hex) 
功能码 01 功能码 01 
起始地址高(字节) 00 字节计数 03 
起始地址低(字节) 13 27(h)~20状态 CD 
读取数量高(字节) 00 35(h)~28状态 6B 
读取数量低(字节) 13 38(h)~36状态 05 
读开关量输入
功能码: 02
数据起始地址:100001~1000016  
数据长度:不大于16 (因为只有16路输入)
说明: 读取输入开关量的状态。
    输入的量改变状态需要经过0.1S滤波抗干扰后才会变化。如果用户想知道改变的时刻,需要读取系统的FIFO中的SOE事件记录或者读取文件中的SOE记录。
    输入量的每次改变都会累积到该路对应的32位计数器上,对于计数,输入的最高频率可以是1KHz。
数据说明:
地址 描述 说明 
100001 第1路开关量状态 =0 没有通电 =1接通电源 
100002 第2路开关量状态 =0 没有通电 =1接通电源 
100003 第3路开关量状态 =0 没有通电 =1接通电源 
100004 第4路开关量状态 =0 没有通电 =1接通电源 
100005 第5路开关量状态 =0 没有通电 =1接通电源 
100006 第6路开关量状态 =0 没有通电 =1接通电源 
100007 第7路开关量状态 =0 没有通电 =1接通电源 
100008 第8路开关量状态 =0 没有通电 =1接通电源 
100009 第9路开关量状态 =0 没有通电 =1接通电源 
100010 第10路开关量状态 =0 没有通电 =1接通电源 
100011 第11路开关量状态 =0 没有通电 =1接通电源 
100012 第12路开关量状态 =0 没有通电 =1接通电源 
100013 第13路开关量状态 =0 没有通电 =1接通电源 
100014 第14路开关量状态 =0 没有通电 =1接通电源 
100015 第15路开关量状态 =0 没有通电 =1接通电源 
100016 第16路开关量状态 =0 没有通电 =1接通电源 
   
MODBUS 请求
功能码 1 BYTE 0X02 
起始地址 2 BYTE 0X0000 TO 0XFFFF 
读取数量 2 BYTE 1 TO 2000(0X7D0) 
MODBUS 响应
功能码 1   BYTE 0X02 
字节计数 1   BYTE N 
输入状态 n   BYTE n   =N or N+1 
N =读取数量/8    如果余数不为0 则N=N+1
错误 响应

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -