请选择 进入手机版 | 继续访问电脑版

迪文科技论坛

 找回密码
 立即注册
搜索
查看: 35833|回复: 33

【开发资料】T5动态曲线、 趋势图

[复制链接]

537

主题

158

回帖

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
10328
发表于 2019-5-22 14:13:22 | 显示全部楼层 |阅读模式
项目开发中,有时会用到曲线功能,如下为T5系列迪文屏(T5 CPU系列)曲线指令详解及演示。

1. 曲线设置说明




2. 系统变量接口地址定义
0x0300-0x030F:8 个通道曲线缓冲区的状态反馈(建议用户只读),每通道占2 个字:
高字存储曲线数据的存储指针位置(0x0000-0x07FF)
低字存储曲线缓冲区有效数据长度(0x0000-0x0800)。把曲线缓冲区有效数据长度写0x0000 将导致曲线不显示。
例,5A A5 05 82 0301 0000曲线0通道会不显示曲线,如果重新写点个数值会恢复

0x310-0x311:曲线缓冲区数据写启动。
D3:D2:0x5AA5 启动一次曲线缓冲区数据写操作,CPU 操作完清零。
D1:数据块个数,0x01-0x08。
D0:未定义,写0x00。
0x312-0x37F:需要写入曲线缓冲区的数据块,数据是16bit 无符号数。
单个数据块定义为 数据通道ID(0x00-0x07)+数据字长度(0x01-0x6E)+数据。

3. 指令测试说明
单独向0通道写入100,
5A A5 0B 82 0310 5AA5 0100 0001 0064
单独向0通道写入200,
5A A5 0B 82 0310 5AA5 0100 0001 00C8
单独向0通道写入100,200,
5A A5 0D 82 0310 5AA5 0300 0002 0064 00C8
单独向1通道写入300,400,
5A A5 0D 82 0310 5AA5 0300 0102 012c 0190
单独向2通道写入500,600,
5A A5 0D 82 0310 5AA5 0300 0202 01f4 0258
向曲线0 1 2三个通道分别写入100 200; 300 400 ; 500 600的值,
5A A5 19 82 0310 5AA5 0300 0002 0064 00c8 0102 012c 0190 0202 01f4 0258

T5系列DGUS屏曲线8通道的显示,一共8个通道,每个通道可以存放2048和字,
启用动态曲线显示后,从0x1000 开始,按照每通道2Kwords 为每条曲线建立数据缓冲区。
CH0 缓冲区为0x1000-0x17FF,CH1 缓冲区为0x1800-0x1FFF,
CH2 缓冲区为0x2000-0x27FF,CH3 缓冲区为0x2800-0x2FFF,
CH4 缓冲区为0x3000-0x37FF,CH5 缓冲区为0x3800-0x3FFF,
CH6 缓冲区为0x4000-0x47FF,CH7 缓冲区为0x4800-0x4FFF,
不使用的曲线缓冲区可以用作用户变量区。用户也可以直接改写曲线缓冲区,
例如直接改写变量地址5A A5 05 82 1000 0065...曲线对应通道的值会跟着改变。
如果用户需要用到8条通道,其他显示控件的变量地址和描述指针从0x5000~0xFFFF区间进行使用。

info:
在串口发送指令显示时,建议检测0x0310变量位置的0x5AA5标记清零,确保GUI已经处理后再发新数据。

本帖子中包含更多资源

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

x
回复

使用道具 举报

82

主题

149

回帖

2453

积分

超级版主

Rank: 8Rank: 8

积分
2453
发表于 2021-7-12 10:31:49 | 显示全部楼层
本帖最后由 神秘の宅叔 于 2023-6-1 15:06 编辑

曲线放大和缩小功能演示方法:利用描述指针配合按键在屏上面自主完成。(描述指针使用请搜索“描述指针相关帖子说明或者迪文详细指导相关文档。”)迪文的曲线功能能极大的减少单片机的代码交互。
测试demo和指令,请下载压缩包自行参考。
声明:附件素材为网络图片参考制作,如有雷同或者侵权,请联系发帖者删除。




其他应用案例:
迪文科技论坛»论坛首页智能屏T5/T5L_DGUS II提问专区【分享】实时数据曲线显示不同的颜色


本帖子中包含更多资源

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

x
回复

使用道具 举报

0

主题

23

回帖

201

积分

中级会员

Rank: 3Rank: 3

积分
201
发表于 2019-9-4 13:09:23 | 显示全部楼层
收藏了!
回复

使用道具 举报

0

主题

15

回帖

191

积分

注册会员

Rank: 2

积分
191
发表于 2019-9-5 09:19:23 | 显示全部楼层
如果曲线可以从左到右刷新,当刷新的最右边的时候,重新返回左边往右刷新,示波器就是这样刷新的。  有这样效果的刷新就好了,而不是现在的左移或者右移刷新
回复

使用道具 举报

0

主题

178

回帖

1095

积分

金牌会员

Rank: 6Rank: 6

积分
1095
发表于 2019-9-5 11:08:05 | 显示全部楼层
如果这样的话,可以考虑 刷满之后 ——清除曲线——再写即为从左到右
回复

使用道具 举报

0

主题

15

回帖

191

积分

注册会员

Rank: 2

积分
191
发表于 2019-9-5 15:20:07 | 显示全部楼层
shirap12peng 发表于 2019-9-5 11:08
如果这样的话,可以考虑 刷满之后 ——清除曲线——再写即为从左到右

从左到右刷满之后,不要清除曲线,继续从左到右刷,示波器和监护仪都是这样的啊,你把示波器速度调慢,就可以看到了,他是从左到右一边擦除一边写新的曲线点
回复

使用道具 举报

45

主题

254

回帖

3197

积分

论坛元老

Rank: 8Rank: 8

积分
3197
发表于 2019-9-26 17:25:46 | 显示全部楼层
东方不败000 发表于 2019-9-5 15:20
从左到右刷满之后,不要清除曲线,继续从左到右刷,示波器和监护仪都是这样的啊,你把示波器速度调慢,就 ...

如何判断曲线是否刷满框?不记得如何判断
回复

使用道具 举报

0

主题

64

回帖

1435

积分

金牌会员

Rank: 6Rank: 6

积分
1435
发表于 2019-9-26 20:37:35 | 显示全部楼层
根据设置的曲线框的大小和横轴间隔算出满框能显示多少个点,计算显示了多少个数据,如果超过了最大可显示数据个数,发一条清除曲线的指令
回复

使用道具 举报

6

主题

11

回帖

160

积分

注册会员

Rank: 2

积分
160
发表于 2019-9-27 21:31:40 | 显示全部楼层
问一下各位大佬,我现在曲线数据发送,只能发送2个数据吗?一个是曲线最大值,一个是最小值;我的理解是发送100,200,300三个数据,应该显示的是一条斜线,但是我发送出去,显示的并不是我要的斜线,是怎么回事??请各位大神赐教。
回复

使用道具 举报

0

主题

239

回帖

1754

积分

金牌会员

Rank: 6Rank: 6

积分
1754
发表于 2019-9-28 15:21:23 | 显示全部楼层
Fusron 发表于 2019-9-27 21:31
问一下各位大佬,我现在曲线数据发送,只能发送2个数据吗?一个是曲线最大值,一个是最小值;我的理解是发 ...

按照这个帖子发送数据,应该是DGUS II系列的。
可以看楼主的例子,单独向0通道写入100,200
(这个取决于你要发送的通道和数据个数,下面的0002,00意思就是写0通道,02表示2个数据)
5A A5 0D 82 0310 5AA5 0300 0002 0064 00C8  
如果写三个数据就是
5A A5 0F 82 0310 5AA5 0300 0003 0064 00C8  012C

如果是发送出去数据不是斜线,那需要检查曲线框采集范围和设置是否正确。可以根据附件先设置正确后再试。

本帖子中包含更多资源

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

x
回复

使用道具 举报

0

主题

3

回帖

13

积分

新手上路

Rank: 1

积分
13
发表于 2019-11-25 16:23:02 | 显示全部楼层
这个指令存在很大缺陷:不能发送一个点的数据,或者两个一样的数据送去动态曲线显示。会形成一片大框。这两种情况都不能正常显示。请客服回答。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 22:36 , Processed in 0.105581 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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