随笔分类 - VBS
摘要:前面的博客记录了怎么给一个TreeView控件填充数据,如果仅仅按照上面的代码,运行后所有的节点都是收缩的,你只看得到一个顶层节点,需要手动一个个展开,对最终使用的人不够友好。我们可以在语句最后添加这个语句: TV.nodes("Class0").expanded=True 也可以写成这样子 TV.
阅读全文
摘要:前面几篇博客记录了ListView控件的基本功能实现的方法,本篇开始记录TreeView控件的使用,先从空间初始化开始。在画面上放置一个TreeView,名字修改为TV,画面上放置一个按钮,在按钮的鼠标点击事件中添加如下VBS脚本: Sub OnClick(ByVal Item) Dim TV,No
阅读全文
摘要:前面的博客记录了如何在ListView控件插入一列checkbox,默认的效果是可以勾选多个,有时候我们希望选择是排他的,只能勾选其中一个。本文就记录如何实现这个功能。 假设画面上已经有了一个ListView控件,名字修改为LV,已经装入了一张数据表并且有了一列checkbox。在ListView控
阅读全文
摘要:前面的博客记录了在Wincc中ListView控件如何添加行列、内容,如何装入Sql数据表,如何修改单元格的内容,如何添加checkbox列,如何调整列顺序,如何点击列标题排序。有时候我们希望ListView控件列标题可以有图标,看起来更加生动活泼一点,本文就记录如何实现这个功能。 1. 假设画面上
阅读全文
摘要:我们使用ListView控件显示一张表的数据后,用户可能希望点击列标题的时候,能够实现升/降排序功能,这个功能也很好实现。 假设画面上有一个ListView控件,名字叫做LV,已经装入了一张数据表。在ListView控件的ColumnClick事件中添加以下vbs代码。 Sub ColumnClic
阅读全文
摘要:我们在使用ListView显示数据表的时候,有时候用户希望浏览的时候可以调整一下列的顺序,把感兴趣的列放到前面观察,每个用户可能兴趣点不一样,那么就需要把listview空间做得更加灵活一点。这个功能实际上很好实现,只需要在控件初始化装入数据的时候添加以下语句: lv.AllowColumnReor
阅读全文
摘要:前面的博客是通过脚本修改指定单元格的数据,有时候我们要修改的数据事先不知道是第几行,这时我们就多做一部分工作了。假设我们需要修改某一行第四列的数据,数据由用户输入。画面上有一个ListView控件,名字叫做LV,一个静态文本,名字叫做RowIndex(用于存放行序号),一个输入输出域(输入类型),名
阅读全文
摘要:前面博客记录了ListView增加行、列、显示sql数据表以及添加checkbox列的方法,本文记录修改ListView已有单元格数据的方法。假设画面上有一个ListView控件,名字叫做LV,已经导入了数据,现在想修改第三行第四列的数据,有一个按钮,按钮的鼠标点击事件添加以下vbs脚本: Sub
阅读全文
摘要:如果我们需要在ListView控件插入一个checkbox列,有两种方法,一个是编辑状态下双击控件,在弹出的属性对话框中勾选checkbox,或者在脚本中添加ctrlLV.Checkboxes =True语句。在画面上再添加一个按钮,鼠标点击事件中添加以下vbs代码,统计勾选了多少个checkbox
阅读全文
摘要:使用前面博客中建立的用户归档数据表来实验这个功能。在全局脚本中新建一个项目模块,用于读取数据表记录集,名字为GetSqlData,vbs代码如下: Sub GetSqlData(rs,DBName,ssql)Dim ocom,scon,connDim PCNameSet PCName=HMIRunt
阅读全文
摘要:listview控件在activex控件列表中,看介绍有强大的功能,决定逐步学习练习使用这个控件,并把学习过程中代码粘贴出来。 新建一个画面,放置一个listview控件,修改名字为LV,这是一个名牌:-) 。在页面的打开事件中添加以下vbs代码: Sub OnOpen() Dim ctrlLVSe
阅读全文
摘要:有时候我们需要对一个输入输出域不同的条件下关联不同的变量,也就是outputvalue属性需要动态化关联变量,可以这样做。 1.新建一个文本8位字符变量VarName,用于存储变量的名字 2.画面上的输入输出域假设名字叫做IO,OutputValue关联VarName变量,勾选后面的“间接”选项。
阅读全文
摘要:wincc的activex控件内容丰富,本文介绍其中ccdiskspace控件的使用,这个控件是用棒图显示磁盘空间使用情况。在画面上放置一个ccdiskspace控件,名字修改为Space。放置8个静态文本,名字修改为txt1至txt8。在画面打开事件中写入一下vbs脚本 Sub OnOpen()
阅读全文
摘要:前面的博客介绍了如何使用MSHFGrid和DataGrid把查询到的数据显示出来,有些情况下我们还需要对这些数据进行修改,并且把SQL Server相应记录也进行修改。本文就记录一下这两种控件如何进行数据修改以及sql数据表更新。 1. 我们还是以用户归档那张表为例子。假设用户归档名字为UA,已经有
阅读全文
摘要:我们在使用Wincc过程中,可能需要多次查询数据库,这些功能相似的代码其实可以做成function或者sub反复调用,节省代码编写时间,也便于统一修改 ,这种思路来自于和QQ群友Believe i can fly(244382639)的交流,在此对他表示感谢。funtion和sub代码参考借鉴了Be
阅读全文
摘要:前面的博客记录了使用MSHFGrid控件的各种操作,今天开始学习另一个数据库控件DBGrid。还是以用户归档的数据表为例子,假设用户归档已经建立好,数据模拟(随机函数)也已经写好,定期添加用户归档代码已经写好(这些功能代码参考其他博客),项目模块中数据表查询的代码也写好。相关代码请参考其他博客。 画
阅读全文
摘要:曾经写过一篇博客,记录使用MSHFGrid控件生成报表以及导出到excel的方法,里面有一段VBS脚本是定期把变量值存入一个自定义的sql数据表,然后在MSHFGrid显示查询到的记录集,最后把MSHFGrid结果导出到excel中。使用用户归档后,实际上定期存入变量值这一步可以变得更加简单,不需要
阅读全文
摘要:有时候,我们在wincc中有大量的需要重复书写的相同或者类似的脚本,这个时候我们可以把这些代码写成项目模块程序(function)或者过程(sub),在需要的地方调用就是了。 我们有时需要给人演示wincc界面效果,这个时候可能并没有连接PLC实际硬件,要模拟数值变化可以选择输入输出域、滑块(sli
阅读全文
摘要:一 任务背景描述 假设有这样一个车间,每天生产任务来自ERP系统任务表,现场控制计算机从系统中查询到任务表,然后根据设备实际情况选择任务表,并把这个配方任务每隔10秒逐条下载给控制系统,控制系统根据上级的指令完成生产任务。wincc查询、选择数据表的方法,前面的博客有较为介绍,本文不作重点介绍。 1
阅读全文
摘要:我们在画面中使用用户归档控件可以显示归档记录,有时我们并不需要浏览所有记录而是希望查看其中一部分记录,当然我们可以在控件属性设定对话框中约束条件,我们还可以在外部使用脚本条件过滤。本文介绍如何使用vbs做用户归档控件的条件过滤。 比如我们希望只显示压力>30的归档记录。项目管理器已经建立了永辉归档,
阅读全文