首页 > 其他分享 >工程监测无线中继采集仪的参数读写MODBUS协议

工程监测无线中继采集仪的参数读写MODBUS协议

时间:2023-05-22 13:35:15浏览次数:27  
标签:00 读取 读写 中继 MODBUS crc 寄存器

工程监测无线中继采集仪的参数读写MODBUS协议

 

无线中继采集仪支持基于地址的 MODBUS 协议、自定义的 AAB/B 协议以及字符串指令集协议,使用这些通讯协议可对寄存器(参数)进行访问。

MODBUS 协议
无线中继采集仪支持 MODBUS 的 03、 04、 06 指令码。(1) 03(0x03) /03(0x04) 指令码: 读取多个连续的寄存器数据,指令格式如下

 


例:读取地址为 129 的无线中继采集仪寄存器值,寄存器开始地址为 0,连续读取 10 个寄存器主机发送指令: 0x81 0x03 0x00 0x00 0x00 0x0A 0xDA 0x0D
从机返回应答: 81 03 14 00 81 00 01 00 02 00 01 00 01 00 0A 00 0A 00 01 09 60 00 07 A1 EF(下划线为读取到的 10 个寄存器值)读取多个连续寄存器时, 单次读取不要超过 32 个寄存器, 不要试图读取不存在的寄存器。

(2) 06(0x06) 指令码: 修改单个寄存器的值, 指令格式如下

 


例:将地址为 129 的无线中继采集仪中的寄存器 8 的值修改为 100 主机发送指令: 0x81 0x06 0x00 0x08 0x09 0x60 0x11 0xB0 从机返回应答: 0x81 0x06 0x00 0x08 0x09 0x60 0x11 0xB0
(3)校验码算法
CRC16-MODBUS 算法:
unsigned int crc16(unsigned char *dat, unsigned int len)
{
unsigned int crc=0xffff;
unsigned char i;
while(len!=0)
{
crc^=*dat;
for(i=0;i<8;i++)
{
if((crc&0x0001)==0)
crc=crc>>1;
else
{
crc=crc>>1;
crc^=0xa001;
}
}
len-=1;
dat++;
}
return crc;
}

 

标签:00,读取,读写,中继,MODBUS,crc,寄存器
From: https://www.cnblogs.com/wenkon/p/17420355.html

相关文章

  • easyExcel读写入csv文件
    写入:Filefile=newFile(System.getProperty("java.io.tmpdir")+File.separator+"aa.csv");ExcelWriterexcelWriter=EasyExcelFactory.write(file).excelType(ExcelTypeEnum.CSV).charset(Charset.forName("GBK"))......
  • 使用ShardingShpere来实现读写分离跟分库分表
    环境准备两个mysql集群,一主一从我们简单的用docker-compose来快速搭建一个version:'3'services:master1:image:mysql:5.7environment:MYSQL_ROOT_PASSWORD:123456ports:-"3307:3306"volumes:-./master1/data:/var/lib/mysql......
  • 工程监测无线中继采集仪的寄存器(参数)汇总详解
    工程监测无线中继采集仪的寄存器(参数)汇总详解 一、寄存器(参数)汇总无线中继采集发送仪有很多参数(寄存器),对于一些简单的应用,用户无需关心这些参数,使用默认参数值即可。仅列出较为常用的参数,当需要配置设备完成复杂、特殊的应用时,请查看“无线中继采集发送仪寄存器汇总说明”。......
  • delphi实现modbus通信
    -------------------------------------------------------------基础单元----start-----------------------------------------------------------------------------{********************************************************************}{*单元名称:UntM......
  • < Python全景系列-4 > 史上最全文件类型读写库大盘点!什么?还包括音频、视频?
    欢迎来到我们的系列博客《Python全景系列》!在这个系列中,我们将带领你从Python的基础知识开始,一步步深入到高级话题,帮助你掌握这门强大而灵活的编程语言!本文系列第四篇,介绍史上最全PYTHON文件类型读写库大盘点!包含常用和不常用的大量文件格式!文本、音频、视频应有尽有!废话不多说!......
  • 西门子1200plc程序实例,TCP/IP及modbus通讯,版本V15,如有需要也可代写程序。
    西门子1200plc程序实例,TCP/IP及modbus通讯,版本V15,如有需要也可代写程序。功能如下:1,西门子1200控制4台步进电机;2,西门子1200与4台MS300变频器modbus485轮询读写参数;3,西门子1200与上位机TCP/IP通讯控制相机拍照,反馈数据;4,设备为多工位联动控制;5,威纶通人机界面多画面切换可以作为参考......
  • 工程监测无线中继采集发送仪的休眠与无线唤醒功能
    工程监测无线中继采集发送仪的休眠与无线唤醒功能 除了可以自动定时启动外,无线中继采集发送仪还支持无线唤醒功能,使用任意的与其LoRA参数相同的无线设备发送包含有一定时长前导码的数据包即可将处于休眠状态下的无线中继采集发送仪唤醒,被唤醒的无线中继采集发送仪可进一步......
  • Step7-Mricro/win S7-200 485轮询 西门子485
    Step7-Mricro/winS7-200485轮询西门子485modbusRTU200ModbusRTU通信S7-200与最大32个从站RS485主站程序,程序块自动轮询,无需编写轮询逻辑。程序为标准块间接寻址设计思路,可复制使用,可建成库,用时调出即可!程序可用于西门子S7-200.Mo......
  • 读写文件方法大全
    Java指定编码读写文件(UTF-8)[url]http://gaofeihang.blog.163.com/blog/static/8450828520098241202798/[/url]读取importjava.io.BufferedReader;importjava.io.FileInputStream;importjava.io.InputStreamReader;StringFileCon......
  • 工程监测NLM5无线中继采集发送仪的工作状态
    工程监测NLM5无线中继采集发送仪的工作状态工作于超时休眠模式的无线中继采集发送仪有三种状态机(待机、空闲、停机)。待机状态:NLM5xx加电启动后的默认状态,在此状态下,NLM5xx连续的侦听LoRA-A和LoRA-B是否接收到了有效的前导码①信号(时间间隔约10mS),当接收到时切换至接收模......