昆仑通态触摸屏MCGSPro组态软件之配方
一、功能概述
配方构件实现配方的展示、选择及编辑功能。数据的可视化展示,配方的点击选中,以及双点击编辑是其主要功能。配方构件可以通过组态设置,选择自己喜欢的展示风格。可以设置是否允许用户编辑配方内容。配方构件的方法,可以满足大部分配方操作需求。
二、构件加载
配方构件为外挂构件,其使用方法与内置构件略有不同。首先检查构件工具箱,观察是否存在配方构件图标(如下图)。
若没有则点击组态软件菜单项“工具”|“动画构件管理”弹出如下图所示对话框,选中配方构件并点击“增加”按钮将构件添加到工具箱中。使用时从构件工具箱中拖动构件进行绘制。
三、组态配置
组态时用鼠标双击配方构件,弹出构件的属性设置对话框。本构件包括基本属性、数据显示、可见度属性三个属性页。
(1)基本属性页
这里设置构件的基本显示情况,如下图:
1)表格标题-背景颜色:标题行背景颜色,支持透明色;
2)表格标题-字符颜色:标题行字符颜色,不支持透明色;
3)表格标题-字体设置:标题行字体、字形、大小设置;
4)数据区域-表格行高:表格每行高度,包括标题行(有效取值范围 1~ 65535);
5)数据区域-字符颜色:表格除标题行的字符颜色,不支持透明色;
6)数据区域-奇行颜色:表格奇数行背景颜色,支持透明色;
7)数据区域-偶行颜色:表格偶数行背景颜色,支持透明色;
8)数据区域-网格线色:表格线颜色,支持透明色;
9)数据区域-是否显示滚动条:运行时构件是否绘制滚动条;
10)选中焦点-行背景:焦点行背景颜色,支持透明色;
11)选中焦点-单元格:焦点单元格背景颜色,支持透明色;
12)选中焦点-字符颜色:焦点行字符颜色,不支持透明色。
(2)配方数据显示页
配方数据页见下图所示:
1)配方组选择:下拉框选择构件关联配方组。
2)复位:关联配方显示配置初始化。
3)显示配置-标题名:配方项显示名称,多语言时根据语言切换,无法修改。
4)显示配置-显示:控制指定列是否显示。
5)显示配置-列宽:控制指定列列宽(有效取值范围0~65535)。
6)显示配置-可编辑:控制指定列(序号列除外)是否可在运行时点击编辑。
7)显示配置-对齐方式:控制指定列文本对齐方式(左对齐/居中/右对齐)。
8)显示配置-小数位数:控制指定列数值显示时的小数位数。
9)全显示:全部列均显示或不显示。
10)全编辑:除序号列外全部列在运行时可以或者不可以点击编辑。
(3)可见度属性页
用户可以在可见度属性页中关联表达式,用以控制标准按钮构件的是否可见,当配方构件不可见时,在指定区域的鼠标点击动作不会生效。配方构件的可见度属性页见下图;
1)表达式:本项中输入一个表达式用于控制按钮是否可见,或者通过“?”从显示的表达式列表中选取,不置任何表达式时,构件始终可见。
2)按钮可见:当表达式的为非0时,按钮可见。
3)按钮不可见:当表达式的值为非0时,按钮不可见。
四、构件方法
Refresh()
函数意义: 刷新配方构件数据
参 数: 无
返 回 值: 无
实 例: 配方测试.控件0.Refresh()
SetEditable(列索引, 编辑标志)
函数意义: 设置配方构件指定列是否可编辑
参 数: 列索引,整数,序号列索引为0
编辑标志,整数,0不可编辑,非0可编辑
返 回 值: 整数
= 0,设置成功
= -1,列索引越界
= -2,序号列不可设置
实 例: 配方测试.控件0.SetEditable(1,0)
注意事项: 列索引为-1时表示设置列为除序号列外的所有列,比如关闭点击编辑可以使用:配方测试.控件0.SetEditable(-1,0)来操作。
SetColumnWidth(列索引,列宽)
函数意义: 设置配方构件指定列列宽
参 数: 列索引,整数,序号列索引为0
列宽,整数,需要设置的列宽度(有效取值范围0~65535)
返 回 值: 整数
= 0,设置成功
= -1,列索引越界
= -2,列宽值不在有效取值范围内
实 例: 配方测试.控件0.SetColumnWidth(1,100)
注意事项: 列索引为-1时表示设置列为除序号列外的所有列,比如统一设置列宽可以使用:配方测试.控件0.SetColumnWidth(-1,100)来操作。
SelectCell(行索引,列索引)
函数意义: 设置构件选中配方行与单元格
参 数: 行索引,整数,选中行
列索引,整数,选中列
返 回 值: 整数
= 0,选择成功
= -1,行索引越界
= -2,列索引越界
实 例: 配方测试.控件0.SelectCell(3,4)
注意事项: 选中操作时界面会定位到当前配方
GetName()
函数意义: 获取当前配方的配方名称
参 数:无
返 回 值: 字符型,配方名称
实 例: 配方测试.控件0.GetName()
注意事项: 空配方组返回字符串为空
EditCell()
函数意义: 编辑构件当前选中单元格
参 数: 无
返 回 值: 整数
= 0,操作成功
= -1,选中单元格所在列不支持编辑
实 例: 配方测试.控件0.EditCell()
注意事项: 此方法适于热键操作
PageUp()
函数意义: 上翻页
参 数: 无
返 回 值: 整数
= 0,翻页成功
= -1,翻页失败
实 例: 配方测试.控件0.PageUp()
PageDown()
函数意义: 下翻页
参 数: 无
返 回 值: 整数
= 0,翻页成功
= -1,翻页失败
实 例: 配方测试.控件0.PageDown()
Save()
函数意义: 配方数据存盘
参 数: 无
返 回 值: 整数
= 0,存盘成功
= -1,存盘失败
实 例: 配方测试.控件0.Save()
ReadFromData()
函数意义: 读取配方关联变量当前数据写入构件光标所在配方数据
参 数: 无
返 回 值: 整数
= 0,读取成功
= -1,读取失败
实 例: 配方测试.控件0.ReadFromData()
WriteToData()
函数意义: 将构件光标所在配方数据写入配方关联变量中
参 数: 无
返 回 值: 整数
= 0,写入成功
= -1,写入失败
实 例: 配方测试.控件0.WriteToData()
Add()
函数意义: 配方末尾新增配方
参 数: 无
返 回 值: 整数
= 0,新增成功
= -1,新增失败
实 例: 配方测试.控件0.Add()
Insert()
函数意义: 配方构件光标所在配方前插入配方
参 数: 无
返 回 值: 整数
= 0,插入成功
= -1,插入失败
实 例: 配方测试.控件0.Insert()
Copy()
函数意义: 配方构件光标所在配方拷贝后插入到下一条配方,并定位
参 数: 无
返 回 值: 整数
= 0,拷贝成功
= -1,拷贝失败
实 例: 配方测试.控件0.Copy()
MoveUp()
函数意义: 配方构件光标所在配方前移一个位置
参 数: 无
返 回 值: 整数
= 0,移动成功
= -1,移动失败
实 例: 配方测试.控件0.MoveUp()
MoveDown()
函数意义: 配方构件光标所在配方后移一个位置
参 数: 无
返 回 值: 整数
= 0,移动成功
= -1,移动失败
实 例: 配方测试.控件0.MoveDown()
Delete()
函数意义: 删除配方组处于构件光标位置的配方
参 数: 无
返 回 值: 整数
= 0,删除成功
= -1,删除失败
实 例: 配方测试.控件0.Delete()
Import()
函数意义: 从csv文件中导入配方数据
参 数: 无
返 回 值: 整数
= 0,导入成功
= -1,导入失败
实 例: 配方测试.控件0.Import()
注意事项: 导入文件名为配方组名称,文件中数据结构需要与配方结构一致,否则均会失败,触摸屏上文件路径为U盘路径,Windows模拟运行环境上,文件应该位于../安装目录/Program/export目录下。
Export()
函数意义: 导出配方数据到csv文件
参 数: 无
返 回 值: 整数
= 0,导出成功
= -1,导出失败
实 例: 配方测试.控件0.Export()
注意事项:导出文件名为配方组名称,触摸屏上文件路径为U盘路径,Windows模拟运行环境上,文件应该位于../安装目录/Program/export目录下。
ImportFromFile(文件名,文件类型)
函数意义: 从指定文件导入配方数据
参 数: 文件名,字符串,文件名以”$MCGS_DIR_USER/”开头表示触摸屏用户目录下的文件,其他情况表示U盘目录下的文件,例如”Dir/test.csv”
文件类型,整数,指定导入文件的类型,目前仅支持0(csv文件类型)
返 回 值: 整数
= 0,导入成功
= -1,导入失败
实 例: 配方测试.控件0.ImportFromFile(“$MCGS_DIR_USER/test.csv”,0)
注意事项:导入U盘文件只需要文件名为U盘下的目录文件即可,U盘根目录下直接写入文件名即可。
ExportToFile(文件名,文件类型)
函数意义: 导出配方数据到指定文件
参 数: 文件名,字符串,文件名以”$MCGS_DIR_USER/”开头表示触摸屏用户目录下的文件,其他情况表示U盘目录下的文件,例如”Dir/test.csv”
文件类型,整数,指定导出文件的类型,目前仅支持0(csv文件类型)
返 回 值: 整数
= 0,导出成功
= -1,导出失败
实 例: 配方测试.控件0.ExportToFile(“$MCGS_DIR_USER/test.csv”,0)
注意事项:导出到U盘根目录直接写入文件名即可。
五、构件属性
StartIndex:
属性意义: 设置或获取配方构件显示起始列行号
属性类型: 整数
读写属性: 读写
注意事项: 起始行号从序号0开始,不超过最后一行值。
CurIndex:
属性意义: 设置或获取当前配方行号
属性类型: 整数
读写属性: 读写
注意事项: 当前行号从序号0开始,不超过最后一行值。