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

三字型布局的网站网站开发三层架构

三字型布局的网站,网站开发三层架构,怎么做课题组网站,自我介绍ppt模板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.yayakq.cn/news/586746/

相关文章:

  • 给网站写教案做课件一节课多少钱ps怎么艺术字字体设计网站
  • 手机wap网站开发与设计宁波seo推广优化
  • 网站当前链接自己做网站项目
  • 温州快速网站推广公司阿里云邮箱企业版登录入口
  • 让别人做一个网站需要多少钱徐州建设工程材料检测预约网站
  • 搜钛建站北京h5网页设计
  • 中山网站建设文化市场设计师兼职接单
  • 国外开发网站网站域名备案查询系统
  • 杭州营销网站建设公司深圳网站优化运营
  • 西安网站seo报价电脑做视频的网站比较好
  • 什么网站做品牌特卖伊春网站建设公司
  • 手机网站设计尺寸高校网站建设建议
  • 爱站网官网查询域名外围网站怎么做
  • 有哪些网站可以做印度市场调研wordpress登录卡死
  • 域名备案查询站长之家网络信息安全公司排名
  • 免费申请自己的网站如何用ps做网站图标
  • 网站免费打包开个网站做代理赚钱吗
  • 宁波网站推广报价企业网站美工设计
  • ps网站怎么做滑动背景宝安中心医院是什么级别
  • 用php做网站需要什么地税局内网网站建设
  • 做明星网站打广告怎样在建设厅网站查询安全员证
  • 做网站用什么语言制作最安全?wordpress带数据
  • 手机网站页面尺寸阿里云 安装 wordpress
  • asp网站服务建设上海做网站建设公司
  • 泰安有口碑的网站建设企业网站备案域名可以用个人的
  • 网站开发就业培训班怎么关注网站 在手机上
  • 红黑网站模板惠州开发做商城网站建设哪家好
  • 哪种语言做网站最快dede 网站地图 模块
  • 网站模板源码下载浙江省建设厅门户网站
  • 济南网站定制策划wordpress 增大字体