迪文科技论坛

 找回密码
 立即注册
搜索
查看: 438|回复: 4

【提问】动态曲线显示多条曲线 C51

[复制链接]

2

主题

2

回帖

89

积分

注册会员

Rank: 2

积分
89
发表于 2023-1-15 20:05:25 | 显示全部楼层 |阅读模式
本帖最后由 十五 于 2023-1-15 21:06 编辑

怎么用C51显示四条动态曲线?现在显示一条已经没问题了
回复

使用道具 举报

94

主题

138

回帖

1315

积分

超级版主

Rank: 8Rank: 8

积分
1315
发表于 2023-1-15 21:06:07 | 显示全部楼层
您好,第三小节是多通道,多条曲线显示。
http://inforum.dwin.com.cn:20080 ... thread&tid=4897
指南的187页有说明2条和8条指令示例。
http://inforum.dwin.com.cn:20080 ... wthread&tid=104
回复

使用道具 举报

0

主题

577

回帖

1万

积分

论坛元老

Rank: 8Rank: 8

积分
11366
发表于 2023-1-16 09:07:53 | 显示全部楼层
本帖最后由 Dearall 于 2023-1-16 09:10 编辑

如果需要四条动态曲线,楼主可以在同一位置叠加四个曲线控件,按照需求设置相应参数,并且选择不同的通道即可。

楼主可以先查看楼上分享的教学视频和开发指南。

附:
1、多条通道采用的话,还请注意变量地址的采用:
T5L 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 区间进行使用。


2.多条通道采用指令
案例一:
0x00 和 0x07 通道显示数据 0 和 1000
5A A5 13 82 0310 5AA5 0200 0002 0000 03E8 0702 0000 03E8
含义:0x5A A5 帧头;0x13 数据字节长度;0x82 写指令;
0x0310:曲线缓冲区数据写启动,系统变量硬件接口曲线固定地址;
0x5AA5:启动一次曲线缓冲区数据写操作,CPU 操作完清零;
0x0200:高字节 0x02 是数据块个数即占用了几个通道,如果一条指令写 8 个通道该字节需改为 08,低字节未定义
写 0x00。
0x0002:高字节 0x00 表示 0 通道,低字节 0x02 表示数据字长度个数,即 0x0000,0x03E8 这两个数据;
0x0000:为要显示的数据 0000,0x03E8 为要显示的数据 1000。
0x0702:高字节 0x07 表示 07 通道,低字节 0x02 为数据字长度个数,即 0x0000,0x03E8 这两个数据;
0x0000:为要显示的数据 0000,0x03E8 为要显示的数据 1000。
两条曲线的通道和数据字长度分开写。
案例二:0x06 和 0x07 通道显示两条交叉曲线且从右到左显示
指令 1:5A A5 13 82 0310 5AA5 0200 0602 0000 03E8 0702 03E8 0000
含义:指令 1 为形成一条交叉曲线,此处两条曲线最大值和最小值设置相反,以便曲线框中间交叉显示看到效果。
交叉曲线实为两条不同通道曲线,所以需要做两个曲线框,设置不同通道。
指令 2:5A A5 13 82 0310 5AA5 0200 0602 0064 01F4 0702 01F4 0064
含义:软件从右向左的设置屏上一开始是从左向右显示,待曲线框写满,再写指令 2,才会看到曲线是从右向左显
示。
案例三:0x00-0x078 个通道全部一起显示。
5A A5 37 82 0310 5AA5 0800 0002 0000 03E8 0102 0000 03E8 0202 0000 03E8 0302 0000 03E8 0402 0000 03E8 0502
0000 03E8 0602 0000 03E8 0702 0000 03E8
0x00-0x07 通道依次每个通道单独刷新可实现不同通道曲线同时刷新显示效果。

本帖子中包含更多资源

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

x
回复

使用道具 举报

2

主题

6

回帖

73

积分

注册会员

Rank: 2

积分
73
发表于 2025-1-22 17:01:32 | 显示全部楼层
大佬们,多通道的C51代码怎么弄呀?
回复

使用道具 举报

0

主题

209

回帖

1885

积分

金牌会员

Rank: 6Rank: 6

积分
1885
发表于 2025-1-24 10:39:33 来自手机 | 显示全部楼层
按楼上的指令编写对应的51代码即可,一条曲线,4条曲线都是写0x310地址,格式对照一下就行。一条曲线可以了,4条曲线只是多写几个字节而已。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-2 07:54 , Processed in 0.042682 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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