
控件的应用与控制——数据记录控件(上)
数据记录控件是表格式的控件单元,类似于Excel办公软件。HMI系统中,它将系统中所有相关联的数据信息进行归类,整理后,以表格的形式呈现在触控屏幕上。数据记录控件以表格的形式,系统且规范的显示控件中的信息内容,呈现出数据之间的关系,关联等。例如,在自动化的生产线的控制方面,可以利用表格的形式,将每条生产线上的每一项运行参数以这样的表格形式来呈现,清晰且容易看懂,方便生产中的控制与监督。如,生产线上的温度,速度,压力,流量等数据参数信息,按顺序摆列显示,也方便各项参数内容的对比分析。
相比较其它控件而言,数据记录控件所涉及到的显示控制内容繁多,包括了字库,文本,图片,字体,排列,滑动,选择,编辑等。数据记录控件的设计应用功能几乎包含了前面所有控件的基本显示功能。并综合体现在一个数据记录控件中,因此,不论是显示设置,还是操作控制方法都会复杂很多。
数据记录控件是显示记录信息的控件,它依靠系统中自动生成的数据表格文件(.data)提供支持。作为数据库信息文件,最大的问题是大量的字节空间的占用。所以,HMI系统中,将数据库文件的存储空间建立在外部存储区SD卡中。通过与SD卡的通信过程实现控件对数据库文件(.data)的建立、存储和调用。
数据记录文件的信息内容是以条目的形式,经过整理、排列后进行存储,调用的数据。控件对其属性变量的设置形式实现对控件条目的增减,修改,删除等操作过程,已经不再能够满足操作控制的需求。人机界面HMI系统的程序基础是面向对象的程序设计方法与逻辑。面向对象程序设计的组成就是由属性与方法共同构建的,所以在数据记录控件的操作功能设计中,引入了“方法”的概念。“方法”在程序中的理解就是可以完成某种特定功能的子程序(函数程序)。

数据记录控件是唯一使用了“方法”功能的控件单元。“方法”中提供了4种针对数据记录表格操作的基本实现方法。通过代码指令的形式,调用控件中的“方法”,实现对控件的功能操作,以及按钮,显示等其它控件的联动操作。
数据记录控件功能相对较多,应用相对复杂,所以我们在讲解过程中,采用针对某一事项或问题进行分段式的专项说明。以求达到更好的描述效果,便于理解,便于学习和掌握。具体内容在事件功能说明区块中进行详细分述。
属性功能说明:

type-控件类型编号,固定值,可读取不可写入。
id-当前页面中的ID编号。
objname-控件名称。
vscope-内存占用。1为全局,数据记录控件只有一种全局类型形式,没有私有类型。
drag-拖动功能支持。0为否,不支持拖动,1为是,支持拖动。
aph-不透明度。取值范围在0~127之间,0为完全透明,127为完全不透明。
effect-加载方式。0为立即加载,1~10为10种加载特效。
sta-背景填充方式。数据记录控件一共提供4种背景加载方式。
(1) 切图-数据记录控件的背景由切图图片来显示,切图图片的大小与主显示框尺寸相一致。切图图片并不在页面中全部显示出来,图片只在数据记录控件的有效区域内呈现。图片不随控件的移动而移动,切图是固定不动的。切图图片的选择通过picc子项来完成,属性变量值为0。
picc-背景切图图片。用于选择切图的全屏图片与页面背景图的选择方式完全相同。
(2) 单色-数据记录控件的背景由单一颜色来填充。属性列表中增加背景色选择项bco和style主框区窗口样式选项。属性变量值为1。
bco-背景色。背景色的选择可以选择历史颜色,也可以由select处进入颜色图谱中进行选择。
style-显示风格。主框区窗口显示样式。
主框区窗口显示风格选项中包括了4种类型。
平面-主框区以图片的形式呈现文字和背景。
边框-主框区的周围以线条边框的形式设定,增加borderc变量设定边框颜色,增加b orderw变量设定边框粗细,取值范围在 0~255之间,0为无边框。
3D_DOWN-主框区呈现3D凹面形态。
3D_UP-主框区呈现3D凸面形态。
(3) 图片-数据记录控件的背景由指定图片来填充。此时控件的形状和大小由图片来决定。大小可以利用鼠标进行等比例的缩放调整,以适应页面的摆放。但外观形状无法改动。如正方形图片,就会始终保持正方形形态。长方形图片就会始终保持长方形形态。属性变量值为2。
pic-背景图片。
(4) 透明-数据记录控件无背景效果。只显示文本内容。数据记录控件的窗口区间大小不会发生改变,属性变量值为3。
font-字库。数据记录控件中,主框区中的文本信息,下拉框区中的文本信息,采用的都是同一个字库类型。不存在两个框区字库显示不一样的情况。该属性变量代表的是控件中所有文本信息的字库类型。改动只能是全体文本类型的整体改动。
pco-字体色。数据记录控件中文本信息的使用颜色。属性变量值即颜色值。
xcen-水平对齐。文本信息在控件所有表格中的水平摆放位置。0代表左对齐,1代表居中摆放,2代表右对齐。数字即为属性变量数值。
path-绑定数据文件路径。用于指定外部存储器SD卡中的数据记录文件位置。所指定的文件是控件自动生成的data文件。内容格式为“sd0/x.data”。
lenth-当前绑定数据记录文件中每条记录最大字节数。该属性变量指的是一项条目信息的总字节数量,而非每一个表格框中的字节数量。
maxval-当前绑定数据记录文件可存入的最大行数,超出之后的新增记录将循环覆盖老数据。条目数量超出该变量值,则从头开始进行覆盖显示。
dez-当前绑定数据记录文件中设置的字段数量(最小1,最大12)。指的是表格中列项的数量值,范围在1~12之间。
format-字段宽度自定义(直接输入字段宽度值,多个字段使用^分隔,如:100^100)。条目中,每一个表格的宽度可以自行定义,也可以不写,默认将总宽度按列项的数量进行平均分配宽度。
dir-表头名称自定义(多个字段使用^分隔)。表格表头各项的名称定义项,各表头名称之间用^分隔,两个^分隔之间没有内容表示该项内容为空。
mode-是否允许自动创建文件(path路径无效时):0-不允许;1-允许。
dis-是否允许触摸选中记录项:0-不允许;1-允许。
order-显示顺序:0-新数据在前,即正序排列;1-新数据在后,即倒序排列。
qty-当前数据文件总记录数。即条目总数量,该属性变量为只读变量,可读取,不可被修改。
spax-字符横向间距(最小0,最大255)。
hig-显示记录的行高度(最小1,最大255)。也是每一条目行的点阵像素高度。
left-是否显示进度条。当条目足够多,超出了窗口的显示范围时,在控件右侧边缘,有一个纵向移动的灰色进度条。它的显示由该项属性变量控制,共有3种状态显示控制方式。数值为0-不显示;1-操作时显示;2-持续显示。
gdc-表格线颜色。表格四周边界线的颜色设置。
gdw-横向表格线粗细。表格横向边界线的宽度设置。理论数值在0~255之间选择。0代表无表格线。
gdh-纵向表格线粗细。表格纵向边界线的宽度设置。理论数值在0~255之间选择。0代表无表格线。
bco1-表头背景色。每项列表表头名称条目的背景颜色设置。颜色值即属性变量数值。
pco1-表头字体色。每项列表表头名称条目的字体颜色设置。颜色值即属性变量数值。
bco2-选中项背景色。当条目项被点击选中时,呈现出来的选中状态。该项为条目选中时的背景颜色选项。
pco2-选中项字体色。当条目项被点击选中时,呈现出来的选中状态。该项为条目选中时的字体颜色选项。
val-当前选中行记录ID。条目项从上到下按ID号进行编制,从0开始计。数值为-1时,代表表头项。当条目项被点击选中时,val的数值便随选中条目项的ID数值变化。并且每变化一次,txt属性将重新加载此ID的行记录内容。
txt-行记录内容。该项为只读单元,不可被人为修改。txt中的内容随val变量的ID数值选项中的文本内容进行跟随对应变化。
ch-滑动惯性力度(0-32,0为无惯性)。在数据记录控件中,对选项的拖动过程有快有慢,系统可以根据用户操作的动作速度,来实现惯性滑动的过程。即,当用户的拖动动作完成,并离开屏幕以后,数据记录控件中的选项还会沿着用户的操作方向继续向前移动一定的距离。移动距离的多少,主要是由用户操作过程中对选项的控制移动速度来决定的。

maxval_y-最大纵向滑动值(运行中根据字符内容自动改变,只可读取不可设置)。该属性变量根据控件的点击拖动操作自动识别纵向移动的数值信息。也就是控件向上移动到不能够再向上移动的位置时,控件此时的纵向滑动值也就是其最大移动值。该值与控件的窗口尺寸大小息息相关。当窗口相对大时,显示的信息就多些,则文本信息的上下拖动距离就小,则最大纵向滑动值就小。当窗口显示区相对较小时,上下拖动的距离就会变大,则最大纵向滑动值就增大。
val_y-当前纵向滑动值(最小0,最大maxval_y)。数据记录控件的文本信息在控件窗口中,停留时的显示位置,此时文本信息向上移动的相对距离,对比初始显示位置而言。
maxval_x-最大横向滑动值(运行中根据字符内容自动改变,只可读取不可设置)。该属性变量根据控件的点击拖动操作自动识别横向移动的数值信息。也就是控件向右移动到不能够再向右移动的位置时,控件此时的横向滑动值也就是其最大移动值。该值与控件的窗口尺寸大小息息相关。当窗口相对大时,显示的信息就多些,则文本信息的左右拖动距离就小,则最大横向滑动值就小。当窗口显示区相对较小时,左右拖动的距离就会变大,则最大横向滑动值就增大。
val_x-当前横向滑动值(最小0,最大maxval_x)。数据记录控件的文本信息在控件窗口中,停留时的显示位置,此时文本信息向右移动的相对距离,对比初始显示位置而言。需要注意的是,当属性变量为空值,即默认字段宽度自定义时,系统根据控件宽度与表格列数自动平均分配字段宽度数值,形成满格的横向宽度显示。此时,表格的横向滑动功能是无效的。
x,y-坐标位置。指的是数据记录控件左上角的坐标起点位置。每一个控件都以其左上角的端点作为该控件的坐标原点来定义其在页面中的位置。
w-宽度。数据记录控件在页面中所占的点阵宽度。
h-高度。数据记录控件在页面中所占的点阵高度。
方法功能说明:
“方法”在HMI系统的设计应用相当于调用函数、子程序。即调用具有一定专项功能的函数,并且是带参数和返回值功能的函数子程序。
“方法”的使用只能通过代码程序的设计形式进行。所以在系统中,“方法”的设计被安排在各个控件的事件中,“方法”的调用通过方法名称,“方法”名称相当于一条指令的指令名称,再加入相应的各项参数,共同组成一条“方法”的调用功能指令。想要在哪个控件的运行中加入“方法”,就可以在该控件的事件中加入相应的调用指令。

insert-追加一条记录(成功返加在,失败返回0)
delete-删除数据(成功返加在,失败返回0)
up-修改一条记录(成功返加在,失败返回0)
clear-清除所有数据记录