• volcanol的工控博客


      很多人都认为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 Then
        MsgBox "100等于2*50"
    Else
        MsgBox "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 3
        MsgBox "这是第 " & nLoop &" 个对话框"
    Next
    MsgBox nLoop
    
    '修改步进大小为 2, 下面会输出5个对话框
    For nLoop = 0 To 10 Step 2
     MsgBox "这是第 " & nLoop/2 &" 个对话框",vbokonly,"step方式: +2"
    Next
    MsgBox nLoop
    
    '修改步进大小为-2 
    For nLoop = 10 To 0 Step -2
     MsgBox "这是第 " & nLoop/2 &" 个对话框",vbokonly,"step方式: -2"
    Next
    MsgBox nLoop
    
    MsgBox vbok
    
    'DO...loop while 循环
    '如果while后面的条件一直为真,则循环一直继续
    Dim nInput
    Do
        nInput = 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、或者在页面右下角点推荐哟!!!

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

  • 相关阅读:
    SQL SERVER数据库大型应用解决方案总结
    SQL Server 2005利用分区实现海量数据处理实例
    php验证码类
    软件开发项目进度控制浅谈
    栈和队列
    .Net多线程总结
    Silverlight 3 UI类结构
    C#全角半角转换函数
    转Silverlight Navigation(多页面切换、传值)
    Silverlight 学习笔记——应用程序模型
  • 原文地址:https://www.cnblogs.com/volcanol/p/9999003.html
Copyright © 2020-2023  润新知