什么是ヒストリカルカーブ控件?

経由ヒストリカルカーブ控件来记录某些データ在一段时间内的变化路径和曲线。本例程中介绍ヒストリカルカーブ控件常见的应用,结合工程中的画面介绍每一个应用的設定,常见的应用如下所示
- 记录温度的变化実装在一段时间内,外部MCU経由センサーは采集到的温度データ送信给屏幕,利用ヒストリカルカーブ控件在屏幕上表示出来
适用範囲:全系列
例程下载链接:《ヒストリカルカーブ控件应用》(点击跳转)
14.1 ヒストリカルカーブ属性
本章节重点介绍ヒストリカルカーブ控件的属性,属性窗口如下所示

采样点数
单个通道在整个控件宽度範囲内,总采用点数,若采样点数超过该值,则通道只保存最近的采样点。
使能采样
設定初期化时的ステータス是否允许采样,也可以経由指令控制。
data format
采样点的データ格式,送信データ给ヒストリカルカーブ时,采样值的前の高さ。,低バイト数在后,可設定格式如下所示

- UINT8:符号なし。,单バイト整数
- INT:記号付き。,单バイト整数
- UINT16:符号なし。,双バイト整数
- INT16:記号付き。,双バイト整数
- UINT32:符号なし。,四バイト整数
- INT32:記号付き。,四バイト整数
- FLOAT:単精度浮動小数点数
注:データ記録控件与ヒストリカルカーブ共用存储块在128K flash里面,开启データストア时,应設定存储アドレス
データストアアドレス計算:
データ控件存储大小 = 最大记录数*单件のレコード大小+24 (単位:byte)
ヒストリカルカーブ存储大小 = 通道个数*采样点数+30 (単位: byte)
采样周期
采样データ的時間の間隔,単位为:秒。
データストア
設定采样データ是否存储到屏幕的用户flash区。
maximum
采样值轴方向上顶端表示的最大值,デフォルト为100。
minimum
采样值轴方向上底端表示的最小值,デフォルト为0。
时间轴宽度
屏幕水平方向範囲内的采样点数,デフォルト为100,如下所示

曲线宽度
曲线线条的宽度,可选1、2、3、4级。
通道数
控件上表示的曲线通道数,一个控件最多可选8个通道,且每个通道的颜色可单独設定,如下所示

字体
表示数值和时间的字体大小。
表示边框
可設定是否表示边框,表示边框时可設定边框的宽度(可設定“1”和“2”2つ等级)和颜色。
表示背景
可設定控件背景颜色、水平延伸、垂直延伸,可選択“是”或“否”。設定表示背景→是,水平延伸→35,垂直延伸→35,如下所示

表示滚动条
可選択“是”或“否”,当开启滚动条,設定滚动条属性,运行虚拟屏,滚动条表示在上方,可以拖动表示すべての时间点的曲线,如下所示

网格颜色
設定网格的颜色,サポート单色設定

文字颜色
設定文字的颜色表示,包括Y轴的值、X轴的时间、以及右上角的日期
表示时间刻度
可选“否”、“下边表示”或“上边表示”,(开启表示时,可設定刻度数、是否表示网格、是否表示日期、是否表示时间)
表示垂直刻度
可設定是否表示垂直方向上的刻度值,表示垂直刻度时,可以設定刻度数和是否表示网格线
14.2 ヒストリカルカーブ功能
【ヒストリカルカーブ控件】画面,介绍用户如何設定ヒストリカルカーブ控件的基本属性和使用。
画面設定
在【ヒストリカルカーブ控件】画面的“背景图片”导入相应的美工图片。在该画面中追加ヒストリカルカーブ控件,如下所示

属性設定
ヒストリカルカーブ控件:設定【字体】为【ASC_CHS_16】、表示时间轴的【刻度数】为“4”,表示垂直刻度的【刻度数】为“5”,其他为デフォルト設定,設定如下所示

运行预览
运行虚拟屏,VisualTFT软件和虚拟屏用“バーチャルシリアルポート”建立联机,打开指令アシスタント,左侧导航栏選択【ヒストリカルカーブ】,設定“設定采样值”エリア的命令パラメータ。如例程中,設定画面ID0、control1、データ型为“UINT8”,通道数为“1”的采样值为“77”。表示效果如下所示

外部MCU控制
参照开发包keil程序中的him.dever.h文件函数声明以及him.dever.c文件中的定义。
MCU設定采样值
利用MCU来実装ヒストリカルカーブ的采样通道数,データ型和采样数值的设定。例如用户需実装例程中【ヒストリカルカーブ控件】的采样データ型为“UINT8”、通道数为“1”,設定采样值为“77”,直接调用ヒストリカルカーブ控件設定函数HistoryGraph_SetValueInt8 ( )即可,代码如下所示。
/************************************************************************
** Function name: void HistoryGraph_SetValueInt8 (uint16 screen_id,
** uint16 control_id,
** uint8 *value,
** uint8 channel);
** Descriptions : 히 스토 리 곡 선 샘플 링 값 설정
** 입력 매 개 변 수 : screen _ id : 화 면 ID
** control _ id : 컨트롤 ID
** * 값 : 설정 된 샘플 값
** 채널 채널 수
** 출 력 매 개 변 수 : 없음
** 반환 된 값 : 없음
************************************************************************/
{
......
History Gra ph _ Set V alue Int 8 (0, 1, 7 7, 1) ; // 화 면 0, 컨트롤 1, 채널 1 의 샘플 값 은 77 입니다 .
......
}
MC U 는 [ 역 사 곡 선 컨트롤 ] 의 샘플 링 을 금지 하고 활성화 합니다 .
예를 들어 , 사용자는 현재 화 면의 [ 역 사 곡 선 컨트롤 ] 의 샘플 링 금지 및 샘플 링 활성화 상태를 구현 해야 하며 , 직접 역사 곡 선 컨트롤 비 활 성 화 함 수 History Gra ph _ Ena ble S amp ling () 를 호출 하면 다음과 같은 코 드가 있습니다 .
/** **********************************************************************
** 함 수 이름 : vo id History Gra ph _ Ena ble S amp ling (u int 16 screen _ id ,
** u int 16 control _ id ,
** u int 8 enable)
** 설명 서 : 히 스토 리 곡 선 컨트롤 의 샘플 링 비 활 성 화 설정
** input paramet ers : screen _ id : 화 면 ID
** control _ id : 컨트롤 ID
** 값 : 비 활 성 화 또는 활성화 (0 은 비 활 성 화 , 1 은 활성화)
** 출 력 매 개 변 수 : 없음
** 반환 된 값 : 없음
************************************************************************/
{
......
History Gra ph _ Ena ble S amp ling (0, 1, 1) ; / / 화 면 0, 컨트롤 1 의 히 스토 리 곡 선 컨트롤 샘플 링 활성화
......
}
Leave a Reply