各位大佬好,初学代码,有很多疑问请教

wincc里变量从别的地方录入后,它的数值是在不断变化的,在变量归档后可以在表格控件里显示,

如果我想对表格里的某列数据进行运算操作,实际就是把某个变量的历史值做一次运算(类似加权平均),得到一个新的数值,按这样的数据操作再录入新变量以新表格显示,这样不会对原变量进入的数值造成影响,只是用新变量在原变量基础上做了个运算然后显示而已。

但是遇到的问题是,现在现成的在线表格没法对数据操作(也有可能是我太菜),所以我就想着把原变量的归档写入ssms的一个表里,在wincc全局脚本里用vbs做运算,连接语句写完了,到了光标使用的时候有又问题了,我原本是打算用两个光标,一个用来顺序执行脚本(wincc里的vbs用不了sleep,我又想让它数值一秒计算一次,所以我用定时器和一个内部变量read,write,数值加1做的定时器),然后我开始做循环,因为牵扯到加权平均的计算,所以当时想的是能不能拿第二个光标一边定位置一边field列来写入数值,读写都是可以实现的,但是为了触发定时循环这个功能,我就使用了wincc内部变量,这样的结果是加权平均每次计算不准,我觉得可能是wincc采集值和归档值的问题,最小只能设置到500ms,这样的误差让人难以接受,所以我不能用内部变量而只能用程序自建的虚拟的变量,但是没有sleep就无法定时循环,这样我在给新变量录入值时就会数值录得很快导致我的表格不能按1s一次数据得变化走,这地方的我后来想了下,想用双层循环类似九九乘法表的程序,但是虚拟变量不能存值啊,生存期就是这个程序,我的内部变量因为在wincc里所以值是会存储的,至此我发现做不下去了。

当下考虑最简单的实现方法,想着将我原始的变量的显示放在一个控件表格中(因为很多的控件其实都没用过也不知道该怎么用,不知道有没有这样的表格控件),这个表格有类似excel里函数关联两个单元格的操作,这样通过它的脚本我将该列数值录入我的新变量,功能就实现了,但是我太菜了,各位大佬有知道的或者更有效的方法实现这个功能吗?感谢!

ps:图片中,所有的Tag均为wincc内部变量,orecordset.move是第一个光标移动位置,b是用来做循环的变量,Tag2是wincc里面拿来做定时器的内部变量,w是VBS循环索引变量,x变量无实际意义,只是为了实现累加的一个过程变量,l变量是做完加权平均后的输出变量,Tag1是L录入的用在wincc里的新变量,也就是需要的用来显示在表格里的变量。Tag9是累加算法用的储存值和循环的wincc内部变量,Tag10仅仅是我在IO域用来判断程序是否出错的变量,无意义。

wincc里vbs脚本相关推荐

  1. WinCC 使用VBS脚本操作变量、控件总结

    WinCC的VBS脚本,变量的读写不用定义变量类型. 自读自写 Dim objvar Set objvar = HMIRuntime.Tags('WinCC_Tag') objvar.Read obj ...

  2. wincc C语言怎么连接变量,c脚本的变量如何对应到WINCC里的内部变量?

    刚接触wincc里C脚本,想做个简单的试验:在wincc里新建三个内部变量,a,b,c,a+b的值赋予c,画面编辑器里建三个输入输出域,分别对应这三个变量.在c脚本编辑器里新建一个项目函数: #pra ...

  3. 工控随笔_10_西门子_WinCC的VBS脚本_01_基础入门

    很多人都认为VB语言或者VBS脚本语言是一种很low的语言,从心里看不起VB或者VBS, 但是其实VBS不仅可以做为系统管理员的利器,同样在工控领域VBS语言大有用武之地. 西门子的WinCC提供了两 ...

  4. 博途中WinCC VBS 脚本的基础用法

    VBS 脚本可以用在 WinCC Comfort/Advanced Runtime.下面就是一些很实用技巧,希望对大家有所帮助! 1.为什么一个由内部变量的 "数值改变" 事件触发 ...

  5. wincc里c语言long int,WinCC V7.3_C脚本手册.pdf

    WinCC V7.3_C脚本手册 WinCC V7.3_C 脚本手册 函数说明 2014/9/10 注:本文说明wincc V7.3 版的所有C 函数的用法,这是一份查询手册,并不需要完全阅读.通常在 ...

  6. wincc逻辑运算符_工控随笔_11_西门子_WinCC的VBS脚本_02_运算符

    VBS脚本做为编程语言,提供了很多的运算符,通过这些运算符,可以实现不同的操作.运算符具有不同的类型 不同的运算符之间具有运算优先级. 一.运算符的分类 大体分为以下几类: 1.赋值运算符 2.算术运 ...

  7. vbs脚本延时_Wincc的脚本进程执行问题

    接到某同事B的电话,说是一段Wincc里面的VBS脚本出现了问题:A按钮和B按钮,要求A按钮点击后,对plc某变量写1并等待5s后写0,在这5s期间如果点击B按钮,同样是对另外一个变量如此操作,则pl ...

  8. VBS脚本 - 实现一键停止Oracle相关服务

    2019独角兽企业重金招聘Python工程师标准>>> 自从安装了Oracle数据库后,我电脑的运行速度满了很多.为此我想了一个办法,让我在不需要使用Oracle数据库的时候,可以轻 ...

  9. VBS脚本常用经典代码收集

    在网上查找资料的时候发现好多经典的vbs代码,收集起来也为了以后学习. VBS脚本用途很多: 1. 计算 2. 处理文件和文件夹 3. 管理Windows 4. 处理Word, Excel, Powe ...

最新文章

  1. ICLR 2020论文投稿2600篇,GNN、BERT、Transformer领跑热门研究方向
  2. 51nod 1256 乘法逆元(扩展欧几里得)
  3. C++ Iterators(迭代器)
  4. Tomcat配置JNDI数据源
  5. TensorFlow 学习指南 三、学习
  6. git-合并分支指定commits
  7. 实现财务自由-《富爸爸穷爸爸》读书语句摘抄
  8. 软考初级程序员---题目(三)
  9. 安卓引用思源黑体字体,出现标点“ ‘ ” 时候会显示成“)”
  10. google gflags 库完全使用
  11. 检测图片是否被PS过,代码案例demo
  12. MySQL 5.7详细下载安装配置教程
  13. 计算机ABC分类法的步骤,ABC分类法的具体步骤
  14. 计算机图形学流体仿真mac网格,正交网格下不可压缩流体的图形学模拟
  15. 数据仓库历史数据存储-拉链表
  16. 算法与产品:抖音、快手的“气质”成因
  17. 计算机管理usb出现问号,USB设备全部都是问号,求助?
  18. 取得df的列名的列表,取得df的列宽,把df的列融入成为其他df的列
  19. layer兼容性问题
  20. linux中grep的用法

热门文章

  1. 通过建站学运维(课时10)
  2. 韩顺平Java学习笔记_IO流专题
  3. IDEA集成GitHub
  4. 实战思考:从0到1搭建UGC社区系统
  5. Docker 进阶之镜像分层详解
  6. SCI,EI,ISTP,SSCI,INSPEC,SCIE,IEEE,CSCD
  7. 软件设计师备考 易错知识点(网络信息安全 法律法规)
  8. (2019年1月可用)官网下载免费版xshell5
  9. ADB WIFI 使用方法(三步超简单,实测可行,整理分享)
  10. java采集_Java实现一个小说采集程序的简单实例