当前位置: 首页 > news >正文

中山哪里有做网站免费发布广告

中山哪里有做网站,免费发布广告,专业建站提供商,不同类型的网站DateAuthorVersionNote2022.07.19Dog TaoV1.01. 完成了文档的撰写。2023.08.04Dog TaoV1.21. 修订文档,增加了Modbus协议简介小节。 本文档提供ModbusPoll调试软件与官方部署文档合辑资源(CSDN平台)。 文章目录 Modbus协议简介发展历史主要技…
DateAuthorVersionNote
2022.07.19Dog TaoV1.01. 完成了文档的撰写。
2023.08.04Dog TaoV1.21. 修订文档,增加了Modbus协议简介小节。

本文档提供ModbusPoll调试软件与官方部署文档合辑资源(CSDN平台)。

文章目录

    • Modbus协议简介
      • 发展历史
      • 主要技术说明
    • 基本规范与功能码
      • Modbus寄存器地址规则
      • Modbus RTU报文基本格式
      • 功能码01:读线圈寄存器(开关量输出)
      • 功能码02:读离散寄存器(开关量输入)
      • 功能码03:读保持寄存器(模拟量输出)
      • 功能码04:读输入寄存器(模拟量输入)
      • 功能码05:写单线圈(开关量输出)
      • 功能码06:写单保持寄存器(模拟量输出)
      • 功能码15:写多线圈(开关量输出)
      • 功能码16:写多保持寄存器(模拟量输出)
    • 读寄存器测试指令
      • 线圈寄存器-读命令(0x01)
      • 离散寄存器-读命令(0x02)
      • 保持寄存器-读命令(0x03)
      • 输入寄存器-读命令(0x04)

Modbus协议简介

发展历史

Modbus是一种通信协议,广泛用于工业控制系统之间的通信。它由Modicon(现在的施耐德电气)于1979年开发,用于与其PLC(可编程逻辑控制器)进行通信。Modbus协议主要有两个版本:Modbus RTU和Modbus TCP/IP。

  1. Modbus RTU:Modbus RTU是一种串行通信协议,通常在RS-485串行接口上运行。它是二进制协议,数据在总线上以连续字节的形式传输。每条消息都以设备地址开始,由功能代码(指示操作类型)和数据字节(包含操作数据)组成,并以两字节的循环冗余校验(CRC)结束,用于检测消息传输中的错误。

  2. Modbus TCP/IP:Modbus TCP/IP是基于以太网的Modbus协议版本。它在Modbus RTU的基础上增加了MBAP(Modbus Application Protocol)头部,以在TCP/IP网络上提供设备寻址和错误检测。Modbus TCP/IP通常在502端口上运行。

主要技术说明

  • 寻址:在Modbus协议中,每个设备都有一个唯一的地址。在RS-485网络中,地址范围是0-247。地址0是广播地址,发送到此地址的消息将被网络上的所有设备接收。

  • 寄存器:Modbus设备包含四种类型的寄存器:离散输入(只读)、线圈(可读写)、输入寄存器(只读)和保持寄存器(可读写)。每个寄存器都有一个唯一的地址,用于从设备读取或向设备写入数据。

  • 功能代码:Modbus协议定义了一组功能代码,用于指示要执行的操作,如读取寄存器(功能代码03或04)或写入寄存器(功能代码06或16)。如果设备不能执行请求的操作,它将返回一个异常响应,包含一个错误码。

  • 消息格式:Modbus消息由地址、功能码、数据和错误检查部分组成。在Modbus RTU中,错误检查通过CRC实现,而在Modbus TCP/IP中,通过MBAP头部的协议标识符和长度字段实现。

Modbus协议是一种简单、开放的协议,广泛用于工业自动化和嵌入式系统应用。尽管它已经存在了几十年,但由于其稳定性和易用性,它仍然是工业通信的主要标准之一。

基本规范与功能码

Modbus寄存器地址规则

Modbus协议定义的寄存器地址是5位十进制地址,即:

  • 线圈寄存器(Coils Register)地址:00001~09999
  • 离散寄存器(Discrete Register)地址:10001~19999
  • 输入寄存器(Input Register)地址:30001~39999
  • 保持寄存器(Holding Register)地址:40001~49999

由于上述各类地址是唯一对应的,因此有些资料就以其第一个数字区分各类地址,即:0x代表线圈寄存器(CR)类地址,1x代表离散寄存器(DR)类地址、 3x代表输入寄存器(IR)类地址、4x代表保持寄存器(HR)类地址

在实际编程中,由于前缀的区分作用,所以只需说明后4位数,而且需转换为4位十六进制地址。

Modbus RTU报文基本格式

间隔目标站号功能码数据CRC16校验
起始应有不小于3.5个字符的报文间隔1字节1字节n字节2字节

下面对于各请求命令的“应答格式”的描述是指命令被正确执行时的应答格式。若CPU接收到错误的命令或者命令被执行错误,则返回的应答帧中“功能码”部分变为如下数据:功能码的最高位置1后得到的数据。比如功能码为01,若响应错误,则返回的功能码为0x81。

功能码01:读线圈寄存器(开关量输出)

  • 请求格式:
目标站号功能码起始地址 高字节起始地址 低字节读取个数 高字节读取个数 低字节CRC
1字节011字节1字节1字节1字节2字节
  • 正确应答格式:
站号功能码返回数据字节数返回数据字节1返回数据字节2CRC
1字节011字节1字节1字节2字节

功能码02:读离散寄存器(开关量输入)

  • 请求格式:
目标站号功能码起始地址 高字节起始地址 低字节读取个数 高字节读取个数 低字节CRC
1字节021字节1字节1字节1字节2字节
  • 正确应答格式:
站号功能码返回数据字节数返回数据字节1返回数据字节2CRC
1字节021字节1字节1字节2字节

功能码03:读保持寄存器(模拟量输出)

  • 请求格式:
目标站号功能码起始地址 高字节起始地址 低字节读取个数 高字节读取个数 低字节CRC
1字节031字节1字节1字节1字节2字节
  • 正确应答格式:
站号功能码返回数据字节数寄存器1高字节寄存器1低字节CRC
1字节031字节1字节1字节2字节

功能码04:读输入寄存器(模拟量输入)

  • 请求格式:
目标站号功能码起始地址 高字节起始地址 低字节读取个数 高字节读取个数 低字节CRC
1字节041字节1字节1字节1字节2字节
  • 正确应答格式:
站号功能码返回数据字节数寄存器1高字节寄存器1低字节CRC
1字节041字节1字节1字节2字节

功能码05:写单线圈(开关量输出)

  • 请求格式:
目标站号功能码线圈地址 高字节线圈地址 低字节强制值 高字节强制值 低字节CRC校验码
1字节051字节1字节1字节1字节2字节

注:强制值= 0xFF00,则置线圈为ON;强制值=0x0000,则置线圈为OFF。

  • 应答格式:若设置成功,原文返回

功能码06:写单保持寄存器(模拟量输出)

  • 请求格式:
目标站号功能码寄存器地址 高字节寄存器地址 低字节强制值 高字节强制值 低字节CRC校验码
1字节061字节1字节1字节1字节2字节
  • 应答格式:若设置成功,原文返回

功能码15:写多线圈(开关量输出)

  • 请求格式:
目标 站号功能码起始地址 高字节起始地址低字节数量 高字节数量 低字节强制值字节数强制值 第1字节CRC
1字节151字节1字节1字节1字节1字节1字节2字节
  • 正确应答格式:
目标站号功能码起始地址 高字节起始地址低字节数量 高字节数量 低字节CRC校验码
1字节151字节1字节1字节1字节2字节

功能码16:写多保持寄存器(模拟量输出)

  • 请求格式:
目标 站号功能码起始地址 高字节起始地址低字节数量 高字节数量 低字节强制值字节数强制值1 高字节强制值1 低字节CRC
1字节161字节1字节1字节1字节1字节1字节1字节2字节
  • 正确应答格式:
目标站号功能码起始地址 高字节起始地址低字节数量 高字节数量 低字节CRC 校验码
1字节161字节1字节1字节1字节2字节

读寄存器测试指令

线圈寄存器-读命令(0x01)

从机地址寄存器地址寄存器数量网络指令modbus指令说明参考回复
0x010x9990x0200 32 1701 01 03 E7 00 01 4D B9读取输入寄存器第一个位值01 01 01 00 51 88
0x010x9990x0200 32 1701 01 03 E7 00 02 0D B8读取输入寄存器前二个位值
0x010x9990x0200 32 1701 01 03 E7 00 04 8D BA读取输入寄存器前四个位值
0x010x9990x0200 32 1701 01 03 E7 00 08 8D BF读取输入寄存器前八个位值

离散寄存器-读命令(0x02)

从机地址寄存器地址寄存器数量网络指令modbus指令说明
0x010x9990x0200 32 1701 02 03 E7 00 01 09 B9读取输入寄存器第一个位值
0x010x9990x0200 32 1701 02 03 E7 00 02 49 B8读取输入寄存器前二个位值
0x010x9990x0200 32 1701 02 03 E7 00 04 C9 BA读取输入寄存器前四个位值
0x010x9990x0200 32 1701 02 03 E7 00 08 C9 BF读取输入寄存器前八个位值

保持寄存器-读命令(0x03)

从机地址寄存器地址寄存器数量网络指令modbus指令说明
0x010x9990x0200 32 1701 03 03 E7 00 02 74 78读取输入寄存器第一个32位数值(浮点数)
0x010x9990x0200 32 1701 03 03 E7 00 04 F4 7A读取输入寄存器前二个32位数值(浮点数)
0x010x9990x0200 32 1701 03 03 E7 00 08 F4 7F读取输入寄存器前四个32位数值(浮点数)
0x010x9990x0200 32 1701 03 03 E7 00 10 F4 75读取输入寄存器前八个32位数值(浮点数)

输入寄存器-读命令(0x04)

从机地址寄存器地址寄存器数量网络指令modbus指令说明
0x010x9990x0200 32 1701 04 03 E7 00 02 C1 B8读取输入寄存器第一个32位数值(浮点数)
0x010x9990x0200 32 1701 04 03 E7 00 04 41 BA读取输入寄存器前二个32位数值(浮点数)
0x010x9990x0200 32 1701 04 03 E7 00 08 41 BF读取输入寄存器前四个32位数值(浮点数)
0x010x9990x0200 32 1701 04 03 E7 00 10 41 B5读取输入寄存器前八个32位数值(浮点数)
http://www.hkea.cn/news/684318/

相关文章:

  • 小米手机做网站服务器nba东西部最新排名
  • 做写字楼用哪个网站更好郑州seo代理外包
  • 做网站 淘宝营销策划思路
  • 网页设计要用到什么软件聊城seo优化
  • 用wordpress做网站百度推广管理
  • 一个空间可以放两个网站吗html模板网站
  • 做试用网站的原理网站推广优化平台
  • 软件工程培训机构学费亚马逊seo什么意思
  • 做恶搞网站软件有哪些苏州seo怎么做
  • 怎么做微信小说网站企业网络营销策划方案
  • 网站后台上传图片失败百度下载免费安装最新版
  • 镇江做网站需要多少钱企业网站模板设计
  • 西安seo优化系统网页seo
  • 如何用网站模板做网站广州网络营销推广
  • 承德手机网站建设seo推广排名
  • wordpress块引用一个网站可以优化多少关键词
  • 360网站卖东西怎么做的无锡seo优化公司
  • 邢台人民网站百度视频推广怎么收费
  • 常州天启建设公司网站高端快速建站
  • ppt模板免费下载网站不用登录seo测试工具
  • 四川建设人才网官网查询阜新网站seo
  • 太原网站开发定制百度网盘官网下载
  • 业主装修日记那个网站做的好片多多可以免费看电视剧吗
  • 租车网站建设站长之家源码
  • 昌吉州回族自治州建设局网站地产渠道12种拓客方式
  • 北京市网站公司网络项目免费的资源网
  • 电子商务网站规划、电子商务网站建设站长工具 忘忧草
  • 凡科建网关键词优化公司哪家好
  • seo排名推广工具seo公司多少钱
  • 做视频网站赚钱怎么在百度上推广自己的公司信息