迪文科技论坛

 找回密码
 立即注册
搜索
查看: 45171|回复: 68

【视频教学】T5/T5L_DGUSII的modbus主机的配置

  [复制链接]

82

主题

150

回帖

2621

积分

超级版主

Rank: 8Rank: 8

积分
2621
发表于 2020-3-3 17:49:14 | 显示全部楼层 |阅读模式
此视频教学方案为参照基于 DGUSII 平台DWIN_OS已经写好固化的 Modbus RTU 主从机接口程序,串口为 UART4,对于一般的迪文屏作为modbus主机通讯应用,用户不需要进行迪文屏的编程操作,只需要按照os规定好的方法去配置初始化22.bin文件,配置读写指令的发送触发条件;
第二个视频教学是在第一个视频的基础上面做的补充,判断数据变化了就给02模式下指向的地址写入0x005a。
这样就不需要额外的用一个按键返回触发写指令的下发。
实现原理:将变量地址的数读到os寄存器,和之前的值比较是否相等,代码参考见附件。

附件为视频教学中用到的demo。

温馨提示,为了便于清晰查看代码,请选择高清以上模式观看。
教学视频链接
1、https://v.qq.com/x/page/s3075p82efs.html


2、https://v.qq.com/x/page/d3075xvj14l.html


“T5L Modbus文件-V7.rar”是基于使用了迪文T5L主芯片的智能屏使用modbus通讯架构的模板程序。





本帖子中包含更多资源

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

x
回复

使用道具 举报

25

主题

80

回帖

518

积分

高级会员

Rank: 4

积分
518
发表于 2020-3-4 09:18:42 | 显示全部楼层
视频 真好  全套视频呢,早看到的话得省下不少时间与客服聊天扯皮
回复

使用道具 举报

1

主题

9

回帖

108

积分

注册会员

Rank: 2

积分
108
发表于 2020-5-3 20:34:57 | 显示全部楼层
回复

使用道具 举报

0

主题

10

回帖

49

积分

新手上路

Rank: 1

积分
49
QQ
发表于 2020-5-20 16:49:19 | 显示全部楼层
您好,曲线的modbusmaster.bin文件怎么配置呢?
回复

使用道具 举报

0

主题

125

回帖

2081

积分

金牌会员

Rank: 6Rank: 6

积分
2081
发表于 2020-5-20 18:14:52 | 显示全部楼层
回复

使用道具 举报

2

主题

21

回帖

477

积分

中级会员

Rank: 3Rank: 3

积分
477
发表于 2020-7-27 09:44:24 | 显示全部楼层
本帖最后由 ceeu 于 2020-7-27 09:54 编辑

使用视频2,修改后自动触发02方式,现在我需要配置的参数比较多 已经用到R198了 RAM显然不够用


各路大神们有没有办法呢
回复

使用道具 举报

0

主题

3

回帖

41

积分

新手上路

Rank: 1

积分
41
发表于 2020-7-27 16:37:31 | 显示全部楼层
ceeu 发表于 2020-7-27 09:44
使用视频2,修改后自动触发02方式,现在我需要配置的参数比较多 已经用到R198了 RAM显然不够用

OS 寄存器为R0-R255。所有的需要由变量地址的,都要先交换给R0和R1处理,R4 R5 R6 R7 R9这几个是MOVXL指令会用到的,从R10可以开始作为自定义寄存器来用,进行屏的变量地址交换运算等处理,您可以观察前面使用过的寄存器,用的寄存器后面要再用可以写0之后复用。
回复

使用道具 举报

2

主题

21

回帖

477

积分

中级会员

Rank: 3Rank: 3

积分
477
发表于 2020-7-27 18:20:15 | 显示全部楼层
liying 发表于 2020-7-27 16:37
OS 寄存器为R0-R255。所有的需要由变量地址的,都要先交换给R0和R1处理,R4 R5 R6 R7 R9这几个是MOVXL指 ...

modbus 使用了一部分,其他又使用了一部分  我这边所需要设置的参数特别多差了很多
客服推荐使用OS寄存器分页形式使用,试用了一下会出问题,可能是定时器0中断服务里面有页切换的原因

我改成使用XRAM了
  1. TEXT2526:
  2.         LDWR    R0,0x2526                  ;0x1000放置的是屏上面要下发给设备寄存器的参数地址,例如数据录入
  3.         MOVXR   R50,1,1                        ;DGUS变量地址1000数据读到os R10,R11
  4.         LDWR    R0,0x25A6                  ;0x1000放置的是屏上面要下发给设备寄存器的参数地址,例如数据录入
  5.         MOVXR   R52,1,1                        ;DGUS变量地址1000数据读到os R10,R11
  6.         TESTS   R50,R52,2                ;
  7.         IJNE    R0,0,变化2526                ;R0=0就会往下执结束os,
  8.         GOTO    TEXTE2526                        ;
  9. 变化2526: LDWR    R0,0X25A6                ;用于配置的02模式下的地址写入0x005A
  10.         MOVXR   R50,0,1                  ;005A写入用于触发modbus写指令
  11.         LDWR    R0,0X2516                ;用于配置的02模式下的地址写入0x005A
  12.         LDWR    R10,005AH                ;
  13.         MOVXR   R10,0,1                  ;005A写入用于触发modbus写指令
  14. TEXTE2526: NOP
  15.     RET
复制代码



回复

使用道具 举报

2

主题

7

回帖

119

积分

注册会员

Rank: 2

积分
119
发表于 2020-7-31 16:02:54 | 显示全部楼层
你好我想按键后,修改指定变量的某一位,并将这一位发送至下位机,这个可以实现吗?
回复

使用道具 举报

0

主题

1276

回帖

5288

积分

论坛元老

Rank: 8Rank: 8

积分
5288
发表于 2020-7-31 19:49:48 | 显示全部楼层
如果是固定某一位,置0 或者置1, 可以用OS的逻辑运算指令操作 , 不过这要比较熟悉迪文的OS
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-22 02:59 , Processed in 0.082238 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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