高级曲线控件
- 支持最多4条曲线
- 每条曲线支持最大512个点记录
- 可以随新送数据自动推动
- 可以进行文字等前景和后景叠加显示
- 自动量程,可根据数据自动变化量程和标尺
属性:
属性名 | 描述 | 默认值 | 备注 |
---|---|---|---|
x1 | 左上角X1坐标 | 0 | |
y1 | 左上角y1坐标 | 0 | |
x2 | 右下角X2坐标 | 200 | |
y2 | 右下角y2坐标 | 160 | |
status | 状态寄存器 | 128 | 这里设置定时值可以驱动随机数演示 |
status2 | 状态寄存器 | 0 | |
rtxt1 | 自动标尺1 | ... | 参见下面说明 |
rtxt2 | 自动标尺2 | ... | 参见下面说明 |
c1 | 1号曲线颜色值 | 1 | |
c2 | 2号曲线颜色值 | 2 | |
c3 | 3号曲线颜色值 | 3 | |
c4 | 4号曲线颜色值 | 4 | |
cb | 格子颜色值 | 21 | |
bc | 背景色 | 63 | |
xn | x方向格子数量 | 20 | |
yn | y方向格子数量 | 10 | |
lt | 左边标尺横向长度,单位:像素 | 40 | |
rt | 右边标尺横向长度,单位:像素 | 40 |
方法
方法名称 | 描述 | 备注 |
---|---|---|
set | 设置数据 | void set(int d1,int d2,int d3,int d4) |
create | 曲线的初始化设置 | |
clear | 曲线参数清零 |
使用方法:
方法一:基础用法
class c2=loadcom(curve); //加载控件
//继承c2控件的creat事件,用于决定启动几条曲线
void c2.create()
{
super.create(); //调用父类的creat事件,完成控件的基础初始化
//下面是曲线的初始化,需要用几条就初始化几条,目前最大四条
c2.t1=newbin(c2.max*2); //启动第一条曲线
c2.t2=newbin(c2.max*2); //启动第二条曲线
}
//在代码或者cmd事件中使用c2.set(d1,d2,d3,d4);送数据就可以实现显示推动
方法二:曲线背景上显示文字
class c2=loadcom(curve); //加载控件
//继承c2控件的creat事件,用于决定启动几条曲线
void c2.create()
{
super.create(); //调用父类的creat事件,完成控件的基础初始化
//下面是曲线的初始化,需要用几条就初始化几条,目前最大四条
c2.t1=newbin(c2.max*2); //启动第一条曲线
c2.t2=newbin(c2.max*2); //启动第二条曲线
}
//继承曲线控件的显示方法
void c2.show()
{ makelayer(); //设置控件为分层模式
ds(32,c2.x1+10,c2.y1+50,"曲线叠加(后置)ABC",15); //后置显示
sbc(c2.bc);
super.show();//调用曲线的父类完成曲线显示
ds(32,c2.x1+10,c2.y1+10,"曲线叠加(前置)ABC",1);//前置显示
}
//在代码或者cmd事件中使用c2.set(d1,d2,d3,d4);送数据就可以实现显示推动
有关自动量程和标尺的设置:
在案例中,rtxt1中的设置如下:
7000|6000|5000|4000|3000|2000|1000
14000|1.2W|1W|8000|6000|4000|2000
21000|1.8W|1.5W|1.2W|9000|6000|3000
35000|3W|2.5W|2W|1.5W|1W|0.5W
63000|5.4W|4.5W|3.6W|2.7W|1.8W|9000
通过以上设置可以看到下面的数据变化,注意数据的标尺的变化:
设置规则:
- 每一行一个标尺,用竖杠隔开
- 第一个数字为满量程对应的数值,注意,该数值不能超过65535,否则会产生意想不到的错误。
- 从第二格开始是yn-1个标尺显示字符串,可以自行定义(注意,标尺每行数量与yn有关)
- 量程的数字必须从小到大排列,也就是最前面的是小量程,后面的是大量程
其他说明
- 曲线支持2个标尺,可以分别对应不同的标尺比率
- 1号标尺对应1、3号曲线,2号标尺(右侧)对应2、4号曲线,使用时比如双路电压电流表,1、3号曲线显示两路电压 2、4号曲线显示两路电流;
- 在电压电流的测试中,一般我们采用千倍率,也就是电压单位为mv,这样显示范围是0.000V~65.535V;一般0~60V的量产足够;同样电流是0.000A~65.535A量程;