能否快速批量录入历史数据变量?能否动态增、删历史数据控件里数据?能否动态选择控件的时间区间?
(相关资料图)
总之,就是想,省时!高效!灵活!
本文以示例方式来介绍这个话题,包括:
示例功能介绍示例实现步骤示例源程序下载链接动态控制WinCC在线表格控件
1、选择参数组名称(变量组),向控件中添加多条数据
2-3、设定历史数据显示的时间范围
4、设置数据时间间隔
5、查询历史数据
创建变量
在WinCC变量管理中创建不同的变量
本例中,每个变量组下包含的变量如表所示:
创建变量归档
在WinCC变量记录下创建变量归档,并添加变量
变量归档下包含的归档变量同上
添加画面对象
本例中需要选择查询的参数以及查询的时间段,然后通过一个按钮来执行数据查询脚本,并把历史数据加载到在线表格控件上。
因此,需要在画面中添加以下对象:- 选项组控件:用来选择所查询的参数,其对应的所有归档变量将会被加载到历史数据控件中- 时间选择控件:用来设定历史数据的开始和结束时间- 历史数据控件:查询- 按钮:执行查询事件
画面中个对象的名称将会在查询脚本中被使用到,因此需要设定各个控件的名称。本例中各控件名称设置如下图所示。
选项组控件
<选项组控件用来选择需要查询的参数,并且为单选控件。本文中介绍两种添加选项组控件的方法:直接拖拽控件、从Excel表格中拖拽。1、直接拖拽控件选项组控件可以直接从“窗口对象”下拖拽到画面中,设定其框数量(属性:“几何”->“框数量”)为4,并为不同的索引设定相应的文本。
2、从表格中拖拽:下面介绍另外一种方法,可以直接从excel(必须是微软的excel不可以是wps)或者WinCC Configuration Studio中拖拽文本到WinCC画面自动创建选项组控件。首先,在excel中输入需要的文本。然后,在excel中选择所有文本,移动鼠标到选中区域的右下角,直到鼠标变成十字光标形状。按着鼠标右键拖拽文本到WinCC画面,松开鼠标,在弹出对话框中选择“插入选项组”。最后,选项组控件被插入到WinCC画面。
另外,也可以直接从WinCCConfiguration Studio中拖拽文本到WinCC画面自动创建选项组控件,方式和上面的从表格拖拽一致,也有右键拖拽。
时间选择控件
按如下步骤添加MicrosoftDate and Timer Picker Control控件到画面中。
首先,在ActiveX控件上右键,选择“添加/删除”,然后在OCX控件列表中选择Microsoft Date andTimer Picker Control。
然后,添加控件到画面,拖拽MicrosoftDate and Timer Picker Control控件到画面中。
最后,设置控件的“Format”属性为“3-dptCustom”,“CustomFormat”属性为”yyyy-MM-dd hh:mm”。
在线表格控件
添加在线表格控件到画面中,所有属性保持默认值即可。
根据选项组所选定的参数加载相应的多个归档变量到在线表格控件,根据设定的查询时间范围设定控件时间轴的开始时间及结束时间。注意:设定在线表格控件的时间范围之前,需要取消在线表格控件的“刷新”(Online)属性,否则设定的时间范围不起作用。本例中将通过脚本来设置在线表格控件的“刷新”(Online)属性。画面中“数据查询”按钮的脚本
以下是部分的VBS脚本如下:Sub OnLButtonUp(ByVal Item, ByVal Flags, ByVal x, ByVal y)Dim OP1,tbl1,colDim TableName(26),ValueColumnCount "定义每张表格数值上限为(可以自行增减) 定义变量个数Set tbl1 = ScreenItems("tbl1") "将在线表格控件名称赋值给tbl1tbl1.Online=False "停止数据刷新Dim iFor i=1 To tbl1.ValueColumnCounttbl1.ValueColumnIndex=i "引用已组态的数值列。使用此属性可以将其它属性的值分配给特定的数值列。
"介于 0 和 (ValueColumnCount - 1) 之间的值为“ValueColumnIndex”的有效值。属性“ValueColumnCount”定义已组态的数值列数。
"通过特性 ValueColumnRepos 可为“ValueColumnIndex”特性分配动态属性。数据类型为 LONG。
tbl1.ValueColumnRemove=tbl1.ValueColumnName "添加数据前先删除所有数据,否则数据没办法替换NextSet OP1=ScreenItems("OP1") "数据选择选项组控件名称 (注意设置好多选框名字为OP1)Select Case OP1.Process "根据选择项设定变量个数及各个归档变量名称Case 1 "选择第1项TableName(0)="测试\温度1"TableName(1)="测试\温度2"TableName(2)="测试\温度3"TableName(3)="测试\温度4"
valuecolumncount=4 "每个选择的个数赋值给计数变量Case 2 "选择第2项TableName(0)="测试\湿度1"TableName(1)="测试\湿度2"TableName(2)="测试\湿度3"TableName(3)="测试\湿度4"TableName(4)="测试\湿度5"
valuecolumncount=5
Case 4 "选择第3项TableName(0)="测试\压力1"TableName(1)="测试\压力2"TableName(2)="测试\压力3"valuecolumncount=3
" Case 8 "选择第4项"TableName(0)="EMS\A区DB_1A-2Q34气锁对1A-2Q30缓冲_相对_显示值""TableName(1)="EMS\A区DB_1A-2Q43气锁对1A-2Q39缓冲_相对_显示值""TableName(2)="EMS\A区DB_1A-2Q53微生物检验室对1A-2Q52更衣_相对_显示值""TableName(3)="EMS\A区DB_1A-2Q52更衣对1A-2Q51缓冲_相对_显示值""TableName(4)="EMS\A区DB_1A-2Q51缓冲对外走廊_相对_显示值""TableName(5)="EMS\A区DB_1A-2Q33退更对1A-2Q34气锁_相对_显示值""TableName(6)="EMS\A区DB_1A-2Q32气锁对1A-2Q31更衣_相对_显示值""TableName(7)="EMS\A区DB_1A-2Q31更衣对1A-2Q30缓冲_相对_显示值""TableName(8)="EMS\A区DB_1A-2Q30缓冲对外走廊_相对_显示值""TableName(9)="EMS\A区DB_1A-2Q49无菌检验室对1A-2Q48更衣_相对_显示值""TableName(10)="EMS\A区DB_1A-2Q48更衣对1A-2Q47缓冲_相对_显示值""TableName(11)="EMS\A区DB_1A-2Q47缓冲对外走廊_相对_显示值""TableName(12)="EMS\A区DB_1A-2Q41气锁对1A-2Q40更衣_相对_显示值""TableName(13)="EMS\A区DB_1A-2Q40更衣对1A-2Q39缓冲_相对_显示值""TableName(14)="EMS\A区DB_1A-2Q39缓冲对外走廊_相对_显示值"
需要完整程序可以私信老周获取
运行结果
在WinCC计算机属性的启动列表中启动“变量记录运行系统”,并激活WinCC项目。
激活项目,效果如首图
本文源程序 (软件版本:WinCC V7.5 SP2)
标签:
Copyright © 2015-2022 北冰洋物业网版权所有 备案号:沪ICP备2020036824号-3 联系邮箱:562 66 29@qq.com