什么是仪表控件?

表盘可以反映用户マスター上的データ变化,满足用户使用的仪器仪表界面。常用于速度、电压等参数的体现,我司提供以下两种方法実装
仪表控件:如上图,适合すべてのプラットフォーム,仪表控件可以実装表盘的表示
适用範囲:仪表控件,全系列
例程下载链接:《シリアルポート屏表盘应用》(点击跳转)
4.1 仪表控件属性介绍
本章节介绍仪表控件的属性,属性窗口如下所示

initial value
仪表量程最小的数值,最小为“0”
终止值
仪表量程最大的数值,最大为“360”,也是指向0°
初期値は
指针一开始指向的数值,当初期値は設定为“45”时,如下所示

表示数值
表盘上的刻度值。可选“是”或者“否”,当且仅当【表盘タイプ】为“自绘表盘”时该选项才生效。如下所示

字体大小
設定表盘的刻度值大小,如設定为16,如下所示

数值颜色
設定表盘的刻度值颜色,如設定为黄色,如下所示

表盘タイプ
分为“自绘表盘”、“背景图片”、“透明”,如下所示
自绘表盘
デフォルト表盘タイプ是“自绘表盘”,可表示刻度值,如下所示

背景图片
背景图片:当表盘タイプ“背景图片”时,可插入表盘图片
【透明】
- 起始角:指针初始指向角度,如設定起始角为180°
- 终止角:指针表盘最终指向角度,如設定终止角为0°(360°)
- 旋转方向:分为“顺时针”和“逆时针“1.顺时针:指针沿顺时针的方向走2.逆时针:指针沿逆时针的方向走
刻度(自绘表盘モード)
表示背景色
表示表盘その背景は色。可选“是”或者“否”
背景颜色
为表盘設定纯色背景。当“表示背景色”Choice“是”时サポート该项参数設定
表示主线
主线是仪表最外围的那个圆圈,Choice“是”或者“否”
主线颜色
設定主线单色颜色,如設定为蓝色
主线宽度
設定主线的宽度,如設定为“4”
刻度
設定大刻度个数,デフォルト为4个刻度
刻度颜色
設定刻度的单一颜色,デフォルト为红色
刻度宽度
設定刻度的宽度,デフォルト为2
表示子刻度
Choice“是”或者“否”
子刻度
設定子刻度个数,デフォルト为9个刻度
子刻度宽度
設定刻度的单一颜色,デフォルト为红色
子刻度颜色
設定刻度的宽度,デフォルト为2
表针タイプ
可以对表针的タイプ进行設定,分为“直线”、“三角形”、“四边形”。デフォルト为“三角形”,如下所示

表针颜色
表针的颜色。デフォルト为红色
中心颜色
指针中心的颜色。デフォルト为灰色
4.2 仪表控件应用
画面設定
在【仪表控件】画面的“背景图片”导入相应的美工图片,画面中追加1个仪表控件(controlID:1)和1个文本控件(controlID:2),如下所示

属性設定
在仪表控件的属性窗口中,設定【initial value】为“0”、【终止值】为“110”、【初期値は】为“45”、【表示数值】为“否”、【表盘タイプ】为“透明”、【起始角】为“180”、【终止角】为“360(0)”、【指针タイプ】为“四边形”,属性設定如下所示

运行预览
运行虚拟屏,VisualTFT软件和虚拟屏用“バーチャルシリアルポート”建立联机。open【指令アシスタント】,選択左侧导航栏【progress bar/仪表/滑块】,設定“更新プログレスバー/仪表/滑块”命令パラメータ。如例程中,控制画面(画面ID:0)中的仪表控件(controlID:1),填写“numerical value”为“60”,click“send”;或者拖动指令アシスタント中的滑动条,也可設定仪表控件值。同理,設定文本控件的值为“60”。运行效果如下所示

单片机程序
用户单片机控制仪表控件更新的程序,参照开发包keil程序中的him.dever.h文件函数声明以及him.dever.c文件中的定义。keil程序中的函数定义声明,如下所示
/**********************************************************************
** Function name: void SetMeterValue (uint16 screen_id,
** uint16 control_id,
** uint32 value)
** Descriptions:設定仪表值
** input parameters: screen_id: 画面ID
** control_id: 控부품 ID
** 값 : 설정 해야 하는 컨트롤 값
** 출 력 매 개 변 수 : 无
** 반환 된 값 : 无
*********************************************************************/
{
……
Set M eter V alue (0, 1, 60); / / 설정 화 면 0, 컨트롤 1 미 터 컨트롤 값 60
……
}
Leave a Reply