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

怎么做网站免百度登录入口

怎么做网站免,百度登录入口,建设一个网站,北京比较有名的设计院文章目录 0 背景1 协议介绍1.1 modbusRTU协议1.1.1 简介1.1.2 RS485和modbusRTU的关系1.1.3 modbusRTU 协议格式1.1.3.1 0x10写多个保持寄存器1.1.3.2 0x02读多个离散输入寄存器1.1.3.3 0x03读多个保持寄存器1.1.3.4 0x04读多个输入寄存器 1.2 ModbusTCP协议1.2.1 ModbusTCP协议…

文章目录

  • 0 背景
  • 1 协议介绍
    • 1.1 modbusRTU协议
      • 1.1.1 简介
      • 1.1.2 RS485和modbusRTU的关系
      • 1.1.3 modbusRTU 协议格式
        • 1.1.3.1 0x10写多个保持寄存器
        • 1.1.3.2 0x02读多个离散输入寄存器
        • 1.1.3.3 0x03读多个保持寄存器
        • 1.1.3.4 0x04读多个输入寄存器
    • 1.2 ModbusTCP协议
      • 1.2.1 ModbusTCP协议介绍
      • 1.2.2 ModbusTCP协议和 modbusRTU 协议区别
      • 1.2.3 ModbusTCP协议格式
  • 2 实践
    • 2.1 使用modbus RTU协议
    • 2.2 使用modbus TCP协议
    • 2.1 计算CRC校验(modbus TCP不需要计算)
  • 参考

0 背景

因为需要使用TCP与RS485串口的仪表设备进行通信,所以查阅相关资料,进行实验测试通过后,记录通信过程。

1 协议介绍

1,上位机电脑与RS485串口的设备硬件仪表设备直接通信,使用的是modbusRTU协议。

2,上位机电脑如果使用TCP协议,与RS485串口的设备硬件仪表设备间接通信,则需要借助ModbusTCP协议。然后中间设备把ModbusTCP协议协议中的包体拆解为ModbusRTU协议的内容,传递给硬件仪表设备。

1.1 modbusRTU协议

使用的如下设备,使用四路PWM信号输出的波形信号来驱动仪表。
在这里插入图片描述

1.1.1 简介

Modbus是一种串行通信协议,是Modicon公司(现在的施耐德电气 Schneider
Electric)于 1979 年为使用可编程逻辑控制器(PLC)通信而发表。Modbus已经成为工
业领域通信协议的业界标准(De facto),并且现在是工业电子设备之间常用的连接方式。

Modbus-RTU协议是一种总线协议,采用一主多从的结构。即同一个总线网络中,只能一
个主机(主站),多个从机(从站)。

通讯时采用一问一答的方式,主动发送请求帧的是主机,被动回复响应帧的是从机,从机
不会主动发送数据。

1.1.2 RS485和modbusRTU的关系

RS485 是一种传输数据的通讯方式,modbusRTU是一种通讯协议。

两者的关系类似声音和语言的关系,RS485是声音,ModbusRTU是其中一种语言,两个人说话,能听到对方的声音,但是听不懂对方的语言,是无法交流理解的。

1.1.3 modbusRTU 协议格式

设备地址:设备的通讯地址、站号。
功能码:对数据帧的功能编号。
寄存器:存放某类数据的内存区域。一个设备可能有多种寄存器,不同的寄存器存
放不同类别的数据。
寄存器地址:某个数据在寄存器里的编号。不同的设备定义不同。

1.1.3.1 0x10写多个保持寄存器

在这里插入图片描述

在这里插入图片描述

1.1.3.2 0x02读多个离散输入寄存器

在这里插入图片描述

在这里插入图片描述

1.1.3.3 0x03读多个保持寄存器

在这里插入图片描述
在这里插入图片描述

1.1.3.4 0x04读多个输入寄存器

在这里插入图片描述
举例:读取设备地址0x01,从输入寄存器0x0000开始,连续读0x0002个寄
存器
请求帧:01 04 00 00 00 02 71 CB
响应帧: 01 04 04 01 60 01 61 3A 1E

数据长度0x04个字节,因为一个寄存器2个字节
第1个寄存器 = 0x0160 = 352
第2个寄存器 = 0x0161 = 353

1.2 ModbusTCP协议

使用如下设备(有人物联网),通过设置做服务器,设置ip和通信方式。

在这里插入图片描述

设置ip、端口和协议相关信息。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

1.2.1 ModbusTCP协议介绍

ModbusTCP是一种基于以太网的通信协议.ModbusTCP协议由施耐德公司在1996年推出,它继承了ModbusRTU协议的核心功能,但主要通过TCP/IP以太网进行数据传输,实现了设备之间的主从式通信。

对于ModbusTCP,我们通过使用服务器/客户端来定义双方的角色。

1.2.2 ModbusTCP协议和 modbusRTU 协议区别

在这里插入图片描述
从上图中,我们可以看到ModbusTCP在Modbus串行通信的基础上,去除了差错校验和附加地址(即从站地址),然后加上MBAP报文头(7 Bytes)。

因为

  • 1,ModbusTCP协议一般用 于TCP或UDP通信,而TCP和UDP本身就具备数据校验,因此不需要再加校验了;
  • 2,ModbusTCP主要用于以太网通信,因此,不再需要通过附加地址(即从站地址) 来区分不同的设备,因为以太网设备一般会使用IP地址来区分。

1.2.3 ModbusTCP协议格式

在这里插入图片描述

2 实践

2.1 使用modbus RTU协议

例如我们要给RS485硬件设备发送01 10 00 04 00 02 04 00 00 00 01 33 9C的数据(modbusRTU协议的硬件数据)。

01 10 00 04 00 02 04 00 00 00 01 33 9C数据中,按照modbusRTU协议解析可以得到:01为设备地址,10为功能码,00 04为修改寄存器的起始地址,00 02为修改的寄存器个数, 00 00 00 01为数据长度(一个寄存器,两个字节),33 9C为校验地址。

计算CRC校验的方法见后文。

测试工具:

1,RS485线,;
在这里插入图片描述
2,示波器;

在这里插入图片描述

2.2 使用modbus TCP协议

例如我们要给RS485硬件设备发送01 10 00 04 00 02 04 00 00 00 01 33 9C的数据(modbus RTU协议的硬件数据),但是我们使用modbus TCP协议(上位机做客户端,转发硬件左服务器)。需要对数据进行再次封装。在01 10 00 04 00 02 04 00 00 00 01 33 9C的基础上,去掉差错校验和附加地址,变为10 00 04 00 02 04 00 00 00 01(长度为10个字节),再加上modbus TCP协议的MBAP报文头(00 01 00 00 00 0B 01),得到TCP最终发送的数据为:00 01 00 00 00 0B 01 10 00 04 00 02 04 00 00 00 01

2.1 计算CRC校验(modbus TCP不需要计算)

uint16_t crc16Two(unsigned char *data) {unsigned char i,j;unsigned short crc = 0xffff;for(i = 0; i < 11; i++){crc = crc^*data;for(j = 0;j < 8;j++){if(crc&0x01){crc = (crc>>1)^0xa001;//多项式a001}else{crc= (crc>>1);}}data++;}return crc;
}QByteArray calculateCrc(QByteArray data) {// 计算 CRCunsigned char *data2  = (unsigned char *)data.data();uint16_t crc = crc16Two(data2);return charExpressionToByteArray(QString::number(crc, 16).toUpper().rightJustified(4, '0')); // 转换为大写十六进制并补零
}

因为协议里,是按照大端字节序的顺序,因此还需要把计算出来的字节翻转一下。

     QByteArray frameTail = calculateCrc(resData);std::reverse(frameTail.begin(), frameTail.end());//翻转数据

在这里插入图片描述

参考

ModbusTCP通信协议分析

MODBUS TCP协议实例数据帧详细分析

ModbusTCPPC端测试工具

大端模式、小端模式、高字节序、低字节序、MSB、LSB

终于有人把Modbus说明白了

通透!终于把ModbusRTU弄明白了

终于有人把RS485说清楚了

http://www.hkea.cn/news/321512/

相关文章:

  • 邢台手机网站建设服务百度查重软件
  • 网站开发开题报告ppt竞价运营是做什么的
  • 网站代理怎么做的网站推广策划思路
  • 长沙网站seo公司百度权重5的网站能卖多少钱
  • 常德网站开发百度推广登录首页网址
  • 网站建设软件设计推广官网
  • 网站运营阶段站长之家app
  • discuz网站标题百度广告推广价格
  • 广州学校论坛网站建设疫情排行榜最新消息
  • 古董手表网站网络营销的主要方式和技巧
  • 做公司网站要那些资料百度电脑版下载官方
  • 定州网站建设公司企业网站源码
  • 0基础1小时网站建设教程如何给自己的公司建网站
  • 成都网站建设s1emens电商平台怎么加入
  • 六合哪家做网站建设域名注册查询软件
  • 网站建设的方案费用2023年新冠疫情最新消息
  • 九星市场做网站快速将网站seo
  • 长春做网站推广的公司提升神马关键词排名报价
  • 金融网站cms百度网盘客服电话人工服务
  • 美观网站建设物美价廉seo网站优化专员
  • 网站设计应该怎么做推广软文代写
  • 网站建设工作室发展百度收录教程
  • 没有网站 可以做百度口碑吗成都网站制作
  • 医院系统网站建设百度宁波营销中心
  • 网站劫持代码杭州互联网公司排名榜
  • 做网站找哪个部门吸引人的推广标题
  • 网站制作软件名字线做竞价推广代运营公司
  • avada如何做中英文网站沈阳百度推广排名优化
  • 做网站品长沙网络营销公司排名
  • b2b商贸网站环球网最新消息疫情