工控随笔_10_西门子_WinCC的VBS脚本_01_基础入门
很多人都认为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 =
strMsg = strMsg & " 爱你" & nYear &"年!"
MsgBox strMsg '选择语句/分支语句
'vbs可以实现流程控制,最常用的是IF语句
'IF语句根据条件的真假来执行语句
'这里需要注意判断数值相等用的符号是 = 号
If =* 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 = To
MsgBox "这是第 " & nLoop &" 个对话框"
Next
MsgBox nLoop '修改步进大小为 2, 下面会输出5个对话框
For nLoop = To Step
MsgBox "这是第 " & nLoop/ &" 个对话框",vbokonly,"step方式: +2"
Next
MsgBox nLoop '修改步进大小为-2
For nLoop = To Step -
MsgBox "这是第 " & nLoop/ &" 个对话框",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赋值给nYear
上面不是一个错误的注释,但是是一个毫无用处的注释,说的更直白一些就是一句废话。
注释应该描述功能,例如:
nYear = ' 人的最大寿命为1000年
4、注释些的位置,注释一般写在代码的上方, 但是如果是简短的注释,如上面就写在
左侧就行。
--------------------------------------------------------------分割线---------------------------------------------------------------
1、文章均为个人原创,欢迎转载,转载请保留出处:https://www.cnblogs.com/volcanol/
2、获取工控PLC、变频器、HMI、计算机、Windows、Linux、嵌入式资料点击:获取资料
3、如果您觉得文章对您有帮助可转至页面上半部分打赏,或移步:打赏
4、或者在页面右下角点推荐哟!!!
--------------------------------------------------------------分割线--------------------------------------------------------------
工控随笔_10_西门子_WinCC的VBS脚本_01_基础入门的更多相关文章
- 工控随笔_21_西门子_WinCC的VBS脚本_10_对象_01
最近有点小忙,各种事情,心情也不是很好,烦心事特别多,因此最近更新的比较慢. 不敢再松懈了,今天正好有点时间,就继续看了一下VBScript中关于对象的一些内容. 一.对象 OOP是编程规模发展到一定 ...
- 工控随笔_13_西门子_WinCC的VBS脚本_04_变量类型之二
上一个随笔说了一些关于vbs变量类型的内容,这一篇我们继续说说变量类型相关的内容. 一.NULL补充内容 '需要注意的是,NULL不能简单通过 = 来进行比较,而必须通过 'IsNull函数来实现 ' ...
- 工控随笔_20_西门子_WinCC的VBS脚本_09_常量和流程控制_02
vbs不但提供了分支结构,还提供了丰富的循环形式.一共有3种循环: 1.for循环 2.do...loop循环 3.while循环 各种循环有各自的特点,在使用的时候可以进行转换. 前面已经描述过Fo ...
- 工控随笔_19_西门子_WinCC的VBS脚本_08_常量和流程控制_01
在编程的过程中,有时候我们会使用一些固定的值,例如圆周率,或者某个人的生日,或者家庭住址等等, 这些信息对于一个对象来说一旦确定就不会改变,因此我们在编程的时候也不希望这些信息会改变,在VBS里面 也 ...
- 工控随笔_18_西门子_WinCC的VBS脚本_07_变量作用域和传值、传址
在vbs脚本中也存在和其他编程语言一样的概念,那就是变量的作用域,变量的作用域决 定在什么范围内可以访问. 同样的在vbs脚本中对于变量也有一个生命周期, 变量的生命周期决定了变量的存续时间 这个主要 ...
- 工控随笔_17_西门子_WinCC的VBS脚本_06_过程和函数
和其他语言一样,vbs提供了过程和函数机制,通过函数和过程可以优化代码结构和实现代码复用, 减少代码的编写量. 一.代码 具体不再多说,看实例代码. ' vbs的函数和过程 '1.过程式编程是一大编程 ...
- 工控随笔_15_西门子_WinCC的VBS脚本_05_变量类型之三_VBS数组
数组是一种复杂数据类型,不但有数组本身的数据类型: 数组,还有数组元素中存储的数据的类型. 一.vbs中的数组类型 在VBS中提供了两种数组类型,一种是固定数组,一种是动态数组. 1.固定数组 就是在 ...
- 工控随笔_12_西门子_WinCC的VBS脚本_03_变量类型
说到编程语言,总是绕不开数据类型,因为数据类型决定了数据可以进行什么样的操作.同时数据类型 从广义上来说是一种数据结构,在过程式编程的过程中,曾经有过这样一种说法: 程序 = 数据结构 + 算法 可见 ...
- 工控随笔_11_西门子_WinCC的VBS脚本_02_运算符
VBS脚本做为编程语言,提供了很多的运算符,通过这些运算符,可以实现不同的操作.运算符具有不同的类型 不同的运算符之间具有运算优先级. 一.运算符的分类 大体分为以下几类: 1.赋值运算符 2.算术运 ...
随机推荐
- Python 常见字符串常量和表达式
常见字符串常量和表达式 操作 解释 s = '' 空字符串 s = "spam's" 双引号和单引号相同 S = 's\np\ta\x00m' 转义序列 s = "&qu ...
- 大数据 - hadoop三台linux虚拟服务器 - 初始化部署
搭建hadoop环境 1.解压Hadoop的安装包,解压到modules文件夹中.(安装包下载地址:http://archive.apache.org/dist/hadoop/core/hadoop- ...
- python中用psutil模块,yagmail模块监控CPU、硬盘、内存使用,阈值后发送邮件
import yagmailimport psutildef sendmail(subject,contents): #连接邮箱服务器 yag = yagmail.SMTP(user='邮箱名称@16 ...
- 赚钱快的app
赚钱快的app目前强力推荐6款都是很不错的 宝石星球下载地址:http://www.baoshixingqiu.com/redPacket?key=548341 雪梨网APP下载地址 http://w ...
- 微信小程序登录(包括获取不到unionid的情况)
我们一般都是先获取到微信的 unionid,然后再通过 unionid 去登录自己的网站,就可以关联到用户在自己网站上的 user_id,但是在小程序登录中,有时候可以获取到 unionid,有时候获 ...
- python 7
一.数据类型的补充 1.元组 tu1 = ('大海') tu2 = ('大海',) print(tu1, type(tu1), tu2, type(tu2)) 大海 <class 'str'&g ...
- CSS-图片占位的技巧
图片占位技巧,防止动态获取图片 网络慢,页面一跳一跳的情况发生 .food .image-header { position: relative; width: 1 ...
- HTML5网页制作(3)
今天,就开始嵌入图片以及创建图片分区的学习吧! 这两张图片其实是我用HTML5写的(纯粹当做笔记来记了),以上就是今天要学的一些内容 下面是我今天敲的代码: [冒泡]林北的爸爸 2019/4/29 ...
- PTA——数组平移
PTA 7-52 数组元素循环右移问题 #include <stdio.h> int main(){ ]; int n,m,t,c; scanf("%d%d",& ...
- pycharm的快捷键
一.编辑(Editing) Ctrl+Space 基本的代码完成(类.方法.属性) Ctrl+Alt+Space 快速导入任意类 Ctrl+Shift+Enter 语句完成 Ctrl+P 参数信息(在 ...