很多人都认为VB语言或者VBS脚本语言是一种很low的语言,从心里看不起VB或者VBS,

但是其实VBS不仅可以做为系统管理员的利器,同样在工控领域VBS语言大有用武之地。

  西门子的WinCC提供了两种脚本语言,C脚本和VBS脚本,通过这两种脚本可以增强WinCC

的动态功能,可以实现一些复杂的功能。

  学习西门子WinCC的vbs脚本,可以不用全面学习微软的vbs脚本知识,待用到什么去查手册

即可,但是这样的话会影响使用vbs脚本的效果和效率。 所以建议可以先从微软的VBS学起。

  

一、VBS脚本

  在Windows系列的操作系统下,vbs的脚本是一个以 .vbs 为扩展名的文本文件,如下图所示

      

          vbs脚本文件

  Windows的VBS脚本通过WSH脚本宿主读取并执行,当我们执行脚本文件的时候,Windows系

统通过启动WSH脚本宿主程序,然后解释执行 .vbs 脚本。

       

  Windows的脚本宿主 :  wscript 和 CScript。 这两个都可以进行脚本的解释执行。 通常我们选择

CScript。

二、代码  

  因为代码里面包含注释,是自解释的,所以就不单独写文字了,看代码。以后也这样,直接

代码。

'我是注释
'vbs的注释是用单引号开始'option 选项要求所有的变量都要先定义/声明
Option Explicit'在VBS中利用Dim语句定义变量
Dim strName'变量在使用之前必须赋值(或者说必须初始化)
'字符串与C语言一样,利用双引号表示
strName = "volcanol"'可以调用vbs内置方法实现某些功能,
'例如调用msgbox方法弹出对话框
MsgBox strName'调用内置函数inputbox接受输入信息
'注意函数和方法的区别,函数返回值,方法不返回值
Dim strInput
strInput=InputBox("请输入相关信息","输入","你好!") Dim strMsg
'利用&符号可以将两个字符串连接起来
strMsg = strName & strInput
MsgBox strMsg '还可以将数字与字符串连接起来,注意必须用&连字符
Dim nYear
nYear = 10000
strMsg = strMsg & " 爱你" & nYear &"年!"
MsgBox strMsg'选择语句/分支语句
'vbs可以实现流程控制,最常用的是IF语句
'IF语句根据条件的真假来执行语句
'这里需要注意判断数值相等用的符号是 = 号
If 100=2*50 ThenMsgBox "100等于2*50"
ElseMsgBox "100不等于2*50"
End If'循环语句
'在VBS中也可以和其他语言一样实现循环功能
'1、FOR.....NEXT循环' for...next循环循环次数固定
'2、DO....loop While循环'DO...loop While循环循环次数不固定'利用for循环输出3个对话框
'For循环可以指定步进的大小,通过step关键字来实现,
'默认步进大小为 + 1 ,下面的循环就是默认步进,循环
'变量每次循环后自动加1
'需要注意的是循环变量的值在循环结束后与预设的值不一样
Dim nLoop
For nLoop = 1 To 3MsgBox "这是第 " & nLoop &" 个对话框"
Next
MsgBox nLoop'修改步进大小为 2, 下面会输出5个对话框
For nLoop = 0 To 10 Step 2MsgBox "这是第 " & nLoop/2 &" 个对话框",vbokonly,"step方式: +2"
Next
MsgBox nLoop'修改步进大小为-2
For nLoop = 10 To 0 Step -2MsgBox "这是第 " & nLoop/2 &" 个对话框",vbokonly,"step方式: -2"
Next
MsgBox nLoopMsgBox vbok'DO...loop while 循环
'如果while后面的条件一直为真,则循环一直继续
Dim nInput
DonInput = MsgBox("请选择",vbYesNo)
Loop While nInput= vbYes

三、代码风格

  代码风格决定代码的可读性,这里简单例举几条。

  1、代码里面采用匈牙利标注法,或者 下划线标注法, 我个人喜欢用匈牙利标注法

  2、变量类型自描述, 就是在变量的开始的1~3个字符描述变量的类型,然后后面直接

用匈牙利标注法。 例如  nYear,  这个 n 表示是整数,Year表示变量的作用。

  3、注释,很多人写注释描述代码的语法,而不描述代码的功能。例如

 nYear = 1000   ' 将1000赋值给nYear

  上面不是一个错误的注释,但是是一个毫无用处的注释,说的更直白一些就是一句废话。

注释应该描述功能,例如:

 nYear = 1000   ' 人的最大寿命为1000年

  4、注释些的位置,注释一般写在代码的上方, 但是如果是简短的注释,如上面就写在

左侧就行。

--------------------------------------------------------------分割线---------------------------------------------------------------

1、文章均为个人原创,欢迎转载,转载请保留出处:https://www.cnblogs.com/volcanol/

2、获取工控PLC、变频器、HMI、计算机、Windows、Linux、嵌入式资料点击:获取资料

3、如果您觉得文章对您有帮助可转至页面上半部分打赏,或移步:打赏 

4、或者在页面右下角点推荐哟!!!

--------------------------------------------------------------分割线--------------------------------------------------------------

转载于:https://www.cnblogs.com/volcanol/p/9999003.html

工控随笔_10_西门子_WinCC的VBS脚本_01_基础入门相关推荐

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

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

  2. 工控随笔_09_西门子_S7-200 Smart与V20 USS通信USS_RPM_R利用轮询的方式通讯异常

    工控随笔_09_西门子_S7-200 Smart与V20 USS通信USS_RPM_R利用轮询的方式通讯异常 参考文章: (1)工控随笔_09_西门子_S7-200 Smart与V20 USS通信US ...

  3. 工控随笔_04_西门子_解决Step 7软件因授权问题不能打开的方式和方法

    西门子的软件是授权软件,只有经过授权认证的用户才能使用,如果没有通过授权认证则不能 正常的使用软件的相关功能. 一.西门子授权不成功问题 如上图所示报故障代码: 000001-0505.报警文本为:未 ...

  4. 工控随笔_05_西门子_Step7软件仿真方法

    现在的PLC厂商提供的开发环境都具备仿真能力.无论是西门子.三菱.罗克韦尔还是ABB 或是其他一些厂商提供的产品都具有仿真功能. 仿真就是在没有硬件的情况下来测试程序功能,同时也为初学者提供了方便,即 ...

  5. 博图os更新_博图os更新_工控随笔_24_西门子TIA 博图硬件目录的更新

    西门子博图软件,不但体积庞大,功能也很复杂,与经典的Step7相比,如果不是经常使用,一般都会有一种很难使用的感觉. 而且相比原来的Step7操作有点不太一样.这里简单的说一下硬件目录的更新. 有两种 ...

  6. 工控随笔_16_西门子_S7-200.Smart软件安装兼容性说明和错误代码:error code hr=0x80070430...

    现在西门子的软件是更新换代太快了,前几年还是Step 7 Micro/Win,后来又出了S7-200 Smart PLC,理所当然的编程调试软件也水涨船高,出了新的Step 7  Micro/Win ...

  7. 工控随笔_01_西门子_安装西门子软件提示重启解决方法。

    方法一: 下载下面链接我自己写的REG修改文件,以管理员的身份运行即可. 链接:https://pan.baidu.com/s/1wDwUrkY0XOyI0HFXU7LJPg 提取码:n453 方法二 ...

  8. 构建虚拟工控环境系列 - 西门子虚拟PLC

    一. 概述 跟随着工控安全一路走来,工控安全市场今年明显有相当大的改善,无论从政策还是客户需求,都在逐步扩大中.但是,搞工控安全研究的人员却寥寥无几.一方面工控安全是个跨学课的技术,需要了解多方面的知 ...

  9. 2、零基础学工控——详细了解西门子PLC

    ☞☞☞点击查看更多优秀工控PLC博客☜☜☜ 大家好我是你们的朋友JamesBin,上节课我们只是浅显的认识了一下PLC,但是可能大家还是不知道PLC是什么,他是如何工作的,那么就让我们再来详细的认识一 ...

最新文章

  1. 用自定义代码分析来标准开发人员的开发规范
  2. 计算机组成原理第3章-存储系统
  3. 项目管理各管理内部重点
  4. IntelliJ IDEA下git版本回退,版本还原
  5. Java多态形式_Java多态
  6. 2-10 TreeView 控件
  7. 【MATLAB】QPSK调制与解调在MATLAB平台上的实现
  8. matlab仿真元件,matlab电力系统仿真元件[高等教育]
  9. 微信小程序 测试号 申请
  10. Android 插件化框架replugin replugin-host-library 源码解析
  11. netty系列之:真正的平等–UDT中的Rendezvous
  12. ANSI/ISO C++ Professional Programmer's Handbook 7
  13. 微信程序开发小程序交互
  14. windows10系统修改c盘user文件夹下的计算机名称
  15. 智能停车场车牌识别计费系统
  16. 4个单词,谷歌返回16个SQL注入漏洞
  17. 为什么人力资源部门一定要部署RPA
  18. 可自建中继服务器的远程桌面软件: RustDesk
  19. FatFS文件系统的使用(STM32)
  20. 酒店管理者必备的九大管理知识

热门文章

  1. oss文档存储类型:低频、标准、归档、冷归档
  2. linux系统安装pe,Linux下制作Linux+WINPE启动盘装机必备:
  3. 复位IC,低电压检测IC PJ809
  4. PDF编辑管理工具Cisdem PDFMaster Mac
  5. MobileNet V2 模型分析+解读
  6. 我的世界java版骷髅_我的世界:击杀凋灵骷髅,才会掉落“凋灵头”?听起来有些不靠谱...
  7. 1 0.99999的悖论_公交车总迟到?你大概掉进了“等待时间悖论
  8. HBase在滴滴出行的应用场景和最佳实践
  9. JAVA面向对象程序设计-FeiGe快递系统-封装
  10. 【保姆级教程】明明将【QQ】装在了D盘,却还疯狂占用C盘空间?