收藏 分享(赏)

Wincc的VBS脚本使用.docx

上传人:HR专家 文档编号:5153999 上传时间:2019-02-10 格式:DOCX 页数:6 大小:15.41KB
下载 相关 举报
Wincc的VBS脚本使用.docx_第1页
第1页 / 共6页
Wincc的VBS脚本使用.docx_第2页
第2页 / 共6页
Wincc的VBS脚本使用.docx_第3页
第3页 / 共6页
Wincc的VBS脚本使用.docx_第4页
第4页 / 共6页
Wincc的VBS脚本使用.docx_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、变量读写: Write 和 Read 方法的语法:读 :1 Dim objTag Set objTag=HMIRunTime.Tags(“变量名“) objTag.Read2 HMIRunTime.Tags(“变量名“).Read 写:1 Dim objTag Set objTag=HMIRunTime.Tags(“变量名 “) objTag.Write 1 向变量写入数值 1 2 HMIRunTime.Tags(“变量名“).Write 1中间变量的值写入 :Dim objTag,val Set objTag=HMIRunTime.Tags(“变量名“) objTag.Read val=ob

2、jTag.Value 中间变量 val 存放了变量的值 VBS语言使用方法概述:VBScript 的全称是:Microsoft Visual Basic Script Editon.(微软公司可视化 BASIC 脚本版). 正如其字面所透露的信息, VBS(VBScript 的进一步简写)是基于 Visual Basic 的脚本语言. 我进一步解释一下, Microsoft Visual Basic 是微软公司出品的一套可视化编程工具, 语基于Basic. 脚本语言, 就是不编译成二进制文件 , 直接由宿主(host) 解释源代码并执行, 简单点说就是你写的程序不需要编译成.exe, 而是直接

3、给用户发送.vbs 的源程序, 用户就能执行了. 一、入门: 1) 注释 (以 REM 或开头)行在程序中不起作用, 但能让别人更容易读懂你的程序. 2) 变量好像一个盒子, 或一个代号, 可以代表你想代表的东西. 变量赋值使用“=“3) 以“包裹起来的字符称之为“字符串“ 4) 函数像一个“黑箱“, 有参数和返回值, 用“=“左边的变量可以接住返回值5) Inputbox 函数弹出一个输入对话框,Msgbox 则用于输出例:REM 输入并回显你的名字使用 InputBox 和 Msgbox 函数Dim name,msgmsg=“请输入你的名字:“ name=Inputbox(msg,“名称“

4、) Msgbox(name) 上例中,Dim 用来声明一个变量, 在 VBS 中, 变量类型并不是那么重要, 就是说 VBS 中你不用考虑 name 储存的是一个整数还是一个小数( 学名叫“浮点数“), 也不用考虑是不是字符串(一串字符, 比如 :“Hello World“), VBS 会自动帮你搞定. 所以第三行语句可以删除 , 效果不会变.常量:格式是:const 常量名= 常量值. 例如: const PI=3.1415926 const NAME=“记忆碎片“ 二、进阶数据类型转换:1)Dim a,b,c a=inputbox(“a 是 :“,“输入半径“) b=Inputbox(“b

5、 是:“,“输入半径“) c=a*2+b*2Msgbox(c) 这个输入 1、2 时是 6 2) Dim a,b,c a=inputbox(“a 是 :“,“输入半径“)b=Inputbox(“b 是:“,“输入半径“)c=(a+b)*2 Msgbox(c) 这个输入 1、2 时是 24 为什么会不一样呢? 在数学上 c=(a+b)*2 和 c=a*2+b*2 是等价的 , 在 VBS 中也是如此. 问题出在“+“上, 在 VBS 中, +不仅仅是加号的意思还表示把两个字符串连接起来, 例如“Hello“+“World“=“HelloWorld“ have you understood? 你还

6、记得 InoutBox 函数的返回值吗? 是字符串! 这就看出问题了吧, 在编程中“1“不等于()1, “1“是一个字符, 而 1 是一个数, 所以 a,b 都是字符串变量, “1“+“2“=“12“, 这就好像我们小时跟伙伴开玩笑问他们 1+1=?一样, 我们总是笑着说“错啦,应该是 11“.但为什么, a 可以*2 却不发生错误呢 ? 这时VBS 比较智能的一个表现, 如果这个字符串的内容是一个数且对他进行数学运算 , 则把字符串强制转换成数参与运算如果字符串代表一个数, 但不参加数学运算, 而是参加字符串运算(合并)则当作字符串处理, 所以你看到 a+b=12, 这时候 a+b 的结果是

7、一个字符串, 当它要乘以 2 的时候就被强制转换成了数字 12, 这样我就得到了结果 24怎么修改这个程序呢? 我们需要用到另一个内建的函数:int, int 函数的功能是将输入值转成整数值, 我们这样修改 : c=(int(a)+int(b)*2 四、循环结构fornext dim i,jfor i=1 to 9for i=1 to 9str=str & i * j & “ “ &是和并字符串的符号next 每个 next 对应一个 for next 1) doloop 和 exit do 的用法2) while 当表达式 true 的时候执行循环体 ,until 反之3) for.next

8、 是计数循环, 每次执行计数器递加4) 嵌套循环的作用和写法 4.5) &用于连接字符串5) vbCrLf 相当于键盘上的回车键五、数组定义:dim 数组名 (元素数量), 这里大家要注意一点, 这里定义的元素数量总是比你要的要少一个, 因为一个数组的起点是 0 号数据而不是 1, 所以大家一定要小心: 你需要 10 个数据, 就定义“9“ 。六、函数结构:funciton 函数名(参数 1, 参数 2.参数 n) 列表可以是空的 , 但括号不能省略, 参数之间用“,“分割. exit funciton 结束函数, 不是必需的. end function 有时候我们并不需要返回什么值, 这个时

9、候我们可以使用一种称之为“子程序“ 的结构. 子程序或称之为过程与函数的差别就在于:1) 没有返回值, 2) 使用 sub 关键字定义, 3) 通过 Call 调用. 具个例子: dim ynamename=inputbox(“请输入你的名字 :“) call who(yname)sub who(cname)msgbox(“你好“ & cname)msgbox(“感谢你阅读我的课程“) msgbox(“这是基础部分的最后一课“) end sub 按钮翻转程序Sub OnClick(Byval Item) Dim tag1 Set tag1=HMIRuntime.Tags(“Q02“) tag1

10、.read If tag1.Value=1 Then tag1.write 0 Else tag1.Write 1 按按钮增数程序:Dim tag1 Set tag1=HMIRuntime.Tags(“旋转 1“) tag1.Readtag1.Value=tag1.Value + 1 tag1.Write End If End Sub按下按钮一个脉冲触发:Dim mytime,bsSet bs=HMIRuntime.Tags(“b“) bs.Write(1) mytime = Timer+2 Do Until Timer=mytime Loop bs.Write(0) 循环程序While t = 1Dim mytime,bs Set bs=HMIRuntime.Tags(“b 旋转“) bs.Write(1)mytimE = Timer +2 DO until TimEr=mytime loop bs.Write(0) Wend

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 网络科技 > Visual Basic

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报