迪文科技论坛

 找回密码
 立即注册
搜索
查看: 185|回复: 7

【提问】求助

[复制链接]

20

主题

35

回帖

337

积分

中级会员

Rank: 3Rank: 3

积分
337
发表于 2024-11-20 14:29:10 | 显示全部楼层 |阅读模式
本帖最后由 1732200390 于 2024-11-20 15:35 编辑

我modbus用串口4接收数据为什么没成功,源码在附件

屏DDMG48270C043_15WTR

本帖子中包含更多资源

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

x
回复

使用道具 举报

0

主题

117

回帖

1551

积分

金牌会员

Rank: 6Rank: 6

积分
1551
发表于 2024-11-20 15:59:26 | 显示全部楼层
串口4modbus通信可以采用这个模版。

本帖子中包含更多资源

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

x
回复

使用道具 举报

20

主题

35

回帖

337

积分

中级会员

Rank: 3Rank: 3

积分
337
 楼主| 发表于 2024-11-21 10:19:10 | 显示全部楼层
紫狐 发表于 2024-11-20 15:59
串口4modbus通信可以采用这个模版。

有没有对应的gui,这代码没什么解释,不知道怎么去移植到我的代码里
回复

使用道具 举报

0

主题

707

回帖

4267

积分

论坛元老

Rank: 8Rank: 8

积分
4267
发表于 2024-11-21 11:05:27 | 显示全部楼层
1732200390 发表于 2024-11-21 10:19
有没有对应的gui,这代码没什么解释,不知道怎么去移植到我的代码里

GUI的暂时没有没有源码,这个是UI的内核固件的链接,可以参考:【底层内核】T5L_DGUSII内核固件升级
http://inforum.dwin.com.cn:20080 ... 42&fromuid=8850
(出处: 迪文科技论坛)
回复

使用道具 举报

20

主题

35

回帖

337

积分

中级会员

Rank: 3Rank: 3

积分
337
 楼主| 发表于 2024-11-21 14:55:14 | 显示全部楼层
本帖最后由 1732200390 于 2024-11-21 16:23 编辑
168988 发表于 2024-11-21 11:05
GUI的暂时没有没有源码,这个是UI的内核固件的链接,可以参考:【底层内核】T5L_DGUSII内核固件升级
http ...

我是不是改这地方的 BT[] 指令就可以进行我想的modbus指令操作了?

本帖子中包含更多资源

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

x
回复

使用道具 举报

0

主题

117

回帖

1551

积分

金牌会员

Rank: 6Rank: 6

积分
1551
发表于 2024-11-21 20:27:47 | 显示全部楼层
本帖最后由 紫狐 于 2024-11-21 20:29 编辑
1732200390 发表于 2024-11-21 14:55
我是不是改这地方的 BT[] 指令就可以进行我想的modbus指令操作了?

是配置BT数组,压缩包里有文档说明《ModBusC_V1.0说明》,指令配置,这个s1004onoff就如注释所说,上电是否发送04模式的10指令。
回复

使用道具 举报

20

主题

35

回帖

337

积分

中级会员

Rank: 3Rank: 3

积分
337
 楼主| 发表于 2024-11-22 11:55:59 | 显示全部楼层
本帖最后由 1732200390 于 2024-11-22 15:06 编辑
紫狐 发表于 2024-11-21 20:27
是配置BT数组,压缩包里有文档说明《ModBusC_V1.0说明》,指令配置,这个s1004onoff就如注释所说,上电是 ...

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

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

本帖子中包含更多资源

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

x
回复

使用道具 举报

0

主题

8

回帖

87

积分

注册会员

Rank: 2

积分
87
发表于 2024-11-22 18:55:48 | 显示全部楼层
1732200390 发表于 2024-11-22 11:55
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, 2024-12-5 02:57 , Processed in 0.065974 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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