迪文科技论坛

 找回密码
 立即注册
搜索
查看: 671|回复: 9

【提问】51编程里的MODBUS校验如何关闭

[复制链接]

17

主题

61

回帖

556

积分

高级会员

Rank: 4

积分
556
发表于 2024-8-29 13:51:53 | 显示全部楼层 |阅读模式
用的这个文件

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
你好你好你好
回复

使用道具 举报

0

主题

30

回帖

1306

积分

金牌会员

Rank: 6Rank: 6

积分
1306
发表于 2024-8-29 14:15:00 | 显示全部楼层
您好,modbus协议模板,CRC校验没有写接口去控制开关。如截图所示,如果需要关闭,需要自己去修改。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

17

主题

61

回帖

556

积分

高级会员

Rank: 4

积分
556
 楼主| 发表于 2024-8-29 14:22:06 | 显示全部楼层
比如这样?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
你好你好你好
回复

使用道具 举报

17

主题

61

回帖

556

积分

高级会员

Rank: 4

积分
556
 楼主| 发表于 2024-8-29 14:26:39 | 显示全部楼层
我试了一下没啥用
你好你好你好
回复

使用道具 举报

0

主题

30

回帖

1306

积分

金牌会员

Rank: 6Rank: 6

积分
1306
发表于 2024-8-29 15:54:22 | 显示全部楼层
Britz 发表于 2024-8-29 14:26
我试了一下没啥用

您好,Send_DT_Load()这个函数是将要发送的数据放入发送数组,并计算CRC校验值。然后还有一个数据发送过程的函数Send_DT(),如截图1所示,也需修改。发送指令修改完成之后,相应的主机接收函数如需关闭CRC校验,则在截图2所示位置修改。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

17

主题

61

回帖

556

积分

高级会员

Rank: 4

积分
556
 楼主| 发表于 2024-8-30 18:02:00 | 显示全部楼层
liuyang123 发表于 2024-8-29 15:54
您好,Send_DT_Load()这个函数是将要发送的数据放入发送数组,并计算CRC校验值。然后还有一个数据发送过 ...

好的,谢谢!给力哦!!
你好你好你好
回复

使用道具 举报

24

主题

61

回帖

527

积分

高级会员

Rank: 4

积分
527
发表于 2024-11-21 16:08:14 | 显示全部楼层
你好,我想问下这个demo你怎么用的啊?
回复

使用道具 举报

0

主题

780

回帖

1万

积分

论坛元老

Rank: 8Rank: 8

积分
13416
发表于 2024-11-21 19:26:16 | 显示全部楼层
1732200390 发表于 2024-11-21 16:08
你好,我想问下这个demo你怎么用的啊?

源码里面可以配置主从机波特率,补发次数,指令间延时和指令条数等,如果做主机就按照文档上的说明在源码里面配好指令,编译生成BIN文件下载到屏幕。
回复

使用道具 举报

24

主题

61

回帖

527

积分

高级会员

Rank: 4

积分
527
发表于 2024-11-22 11:35:48 | 显示全部楼层
本帖最后由 1732200390 于 2024-11-22 15:07 编辑
jufang@dwin.com 发表于 2024-11-21 19:26
源码里面可以配置主从机波特率,补发次数,指令间延时和指令条数等,如果做主机就按照文档上的说明在源码 ...

1、现在我要读取寄存器 ID为1 寄存器地址为4001的值,屏显示地址为1000
     BT[]是这么设置吗?



2、 如果我要同时读取多个地址
      例:寄存器地址4001-4005,屏的显示地址1000,1001,2000,2001,2002
      这指令该怎么写
3、 D3数据长度是指我要读取地址的数据长度吗?
4、 我不想指定页面D6D7怎么设置

5、 我将屏地址3000的值,上传到寄存器4006地址的指令又该是什么?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0

主题

11

回帖

217

积分

中级会员

Rank: 3Rank: 3

积分
217
发表于 2024-11-22 18:57:43 | 显示全部楼层
1732200390 发表于 2024-11-22 11:35
1、现在我要读取寄存器 ID为1 寄存器地址为4001的值,屏显示地址为1000
     BT[]是这么设置吗?

1,指令包是:5A 01 03 02 30 01 0000 0000 1000 4001 0000
2,读取连续地址,数据长度写为0A,读5个地址5A 01 03 0A 3001 0000 0000 1000 4001 0000
3,对的,D0=5A,D1=01;
4,写0000即可,前面D4D5也不要用0001模式
5,5A 01 10 02 30 01 0000 0000 3000 4006 0000
5A=有效;01=从机地址;10=modbus指令; 02=数据长度;3001=响应时间;0000=模式;0000=模式不同有变化;3000=屏幕变量地址;4006=从机寄存器地址;0000=写0000即可
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|迪文科技论坛 ( 京ICP备05033781号-1 )

GMT+8, 2026-4-15 03:28 , Processed in 0.048133 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表