VB操作wincc脚本心得

合集下载

VB操作wincc脚本心得

VB操作wincc脚本心得

V B操作w i n c c脚本心得集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#Vbs 操作wincc画面脚本总结一:不使用变量单纯的操作界面1.操作某个画面中控件的属性如(总窗体)下的画面窗口2(画面窗口)Sub OnClick(ByVal Item) Dim objCircleDim screennameDim pwnameSet objCircle= ScreenItems("圆1" )= 60Set screenname=("Home1") creenItems("画面窗口2")Set value=2.更改画面窗口的对象Sub OnClick(Byval Item)Dim opObjectSet opObject= ("Home1").ScreenItems("画面窗口2")=""End Sub3.设置文本Set titleTxt= ("Home1").ScreenItems("静态文本2")=+"EF" Dim objTagDim ATextSet objTag = ("a") vb 中Switch语句的变体Dim objTagDim ATextSet objTag = ("a") 你要求是有是和否两个按钮那么MyVar = MsgBox ("HelloWorld!", 65, "MsgBox Example")中的65改成4就可以了!vbs脚本中:if msgbox("确实要启动设备吗",4,"警告")=6 then("tag1").write 1end if。

vb程序心得体会(专业18篇)

vb程序心得体会(专业18篇)

vb程序心得体会(专业18篇)(经典版)编制人:__________________审核人:__________________审批人:__________________编制单位:__________________编制时间:____年____月____日序言下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。

文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!并且,本店铺为大家提供各种类型的经典范文,如职场文书、公文写作、党团资料、总结报告、演讲致辞、合同协议、条据书信、心得体会、教学资料、其他范文等等,想了解不同范文格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you!Moreover, this store provides various types of classic sample essays for everyone, such as workplace documents, official document writing, party and youth information, summary reports, speeches, contract agreements, documentary letters, experiences, teaching materials, other sample essays, etc. If you want to learn about different sample formats and writing methods, please pay attention!vb程序心得体会(专业18篇)心得体会是反映学习和工作过程中遇到的问题和解决办法的重要方式。

VB实训的实际应用——个人心得总结

VB实训的实际应用——个人心得总结

VB实训的实际应用——个人心得总结VB实训的实际应用——个人心得总结随着社会的不断发展,计算机技术已经成为影响和改变人们生活方式的重要因素之一。

VB语言作为一种基于事件驱动的编程语言,深受广大开发者喜爱,因其易学、易用、易扩展等优点,而被广泛应用于各个领域。

在接受VB实训后,我深刻地认识到VB语言具有广阔的应用前景和巨大的开发潜力,下面就是我在VB实战方面的一些心得总结。

一、VB实战开发的应用VB的应用领域非常广泛,如ERP、OA、CRM、MES、PLC等,而其中最为突出的应用领域就是控制和自动化领域,因为VB语言有着丰富的控件和函数库,并且具有高度模块化的特点,可以与多种硬件相配合,实现控制和监控功能。

例如,我们可以使用VB快速地开发一套监控系统,实现对机器设备的远程监控和控制,而不仅仅局限于显示实时数据,还能对它们进行分析处理、统计计算等,大大的提高了生产效率和安全性。

二、VB实战开发的难点VB实战开发的难点在于对语言的掌握和对业务的理解。

VB语言虽然易学,但是其学习曲线是渐进式的,需要掌握多种语法结构、数据类型、对象属性等,在实际应用中需要加强对语言的理解和应用,才能更好地完成开发工作。

同时,VB实践开发还需结合具体的业务场景,发挥语言的优势,实现特定功能,在理解业务的基础上对技术进行创新,充分体现VB语言的优越性。

三、VB实战实践中的一些技巧VB实战实践中的技巧可以说是开发中非常重要的一部分。

一些简单易懂的技巧能够大大的提高我们的开发效率和代码质量,下面就是我在实践过程中总结的一些技巧:1. 学习使用代码自动补全工具。

使用代码自动补全工具能够便捷地查找并且自动生成代码片段,大大提升我们的开发效率。

2. 规范开发风格和注释。

合理的注释和规范化的开发风格可以减少代码的出错率,提高代码的可读性,方便日后的查看和维护。

3. 多采用面向对象的思维方式编写代码。

面向对象的编程思维方式可以将程序划分为多个独立的模块,各模块之间相互配合,模块之间的依赖会被显式地定义并保证程序的可扩展性和易维护性。

wincc中常用的vb指令 -回复

wincc中常用的vb指令 -回复

wincc中常用的vb指令-回复WinCC中常用的VB指令WinCC是西门子公司开发的一款用于监控和控制自动化系统的软件平台。

它提供了丰富的功能和工具,用于创建和管理人机界面,以及实现实时数据采集和处理。

在WinCC中,VB(Visual Basic)指令常被用来编写逻辑和处理程序,以实现更加复杂和高级的功能。

本文将介绍WinCC中常用的VB指令,并逐步解释其用途和用法。

一、常用VB指令之MsgBoxMsgBox是一个常用的VB指令,用于显示一个简单的消息框,以向用户提供信息或提示。

它的基本用法如下:MsgBox "Hello, WinCC!"上述代码将在运行时弹出一个消息框,显示文本"Hello, WinCC!"。

你也可以在消息框中显示变量或表达式的值:Dim x As Integerx = 10MsgBox "The value of x is: " & x上述代码中,变量x的值被连接到文本"The value of x is: ",并显示在消息框中。

除了显示简单的信息,MsgBox还可以用于询问用户的选择。

例如:Dim result As Integerresult = MsgBox("Do you want to continue?", vbYesNo)上述代码将在运行时弹出一个询问框,显示文本"Do you want to continue?",并提供选项"Yes"和"No"。

用户的选择将存储在result变量中。

二、常用VB指令之If...Then...ElseIf...Then...Else是一个常用的VB指令块,用于根据条件执行不同的代码。

它的基本用法如下:Dim x As Integerx = 10If x > 5 ThenMsgBox "x is greater than 5"ElseMsgBox "x is less than or equal to 5"End If上述代码将根据变量x的值显示不同的消息框。

VB操作wincc脚本心得

VB操作wincc脚本心得

Vbs 操作wincc画面脚本总结一:不使用变量单纯的操作界面1.操作某个画面中控件的属性如(总窗体)下的画面窗口2(画面窗口)Sub OnClick(ByVal Item) Dim objCircleDim screennameDim pwnameSet objCircle= ScreenItems("圆1" )= 60Set screenname=("Home1") creenItems("画面窗口2")Set value=2.更改画面窗口的对象Sub OnClick(Byval Item)Dim opObjectSet opObject= ("Home1").ScreenItems("画面窗口2")=""End Sub3.设置文本Set titleTxt= ("Home1").ScreenItems("静态文本2")=+"EF" Dim objTagDim ATextSet objTag = ("a") vb 中Switch语句的变体Dim objTagDim ATextSet objTag = ("a") 你要求是有是和否两个按钮那么MyVar = MsgBox ("Hello World!",65, "MsgBox Example")中的65改成4就可以了!vbs脚本中:if msgbox("确实要启动设备吗",4,"警告")=6 then("tag1").write 1end if。

vb程序心得体会

vb程序心得体会

vb程序心得体会VB程序心得体会在学习和使用VB(Visual Basic)程序的过程中,我有许多的心得和体会。

VB是一种基于事件驱动的编程语言,它结合了可视化设计和面向对象的编程思想,使得开发者能够更轻松地构建桌面应用程序。

以下是我在学习和使用VB程序的过程中总结的心得体会。

首先,学习VB程序需要一定的编程基础。

虽然VB是一种相对容易学习的编程语言,但掌握基本的编程概念和语法对于编写高质量的程序非常重要。

在学习VB之前,我花了一些时间学习C语言和Java等其他编程语言,这为我后续学习VB打下了坚实的基础。

在掌握了编程基础之后,学习VB就变得相对容易了。

其次,VB程序的可视化设计是其独特之处。

VB提供了丰富的可视化工具和组件,使得开发者能够通过拖拽和放置的方式创建用户界面。

这大大减轻了开发者的工作负担,使得我们能够更专注于业务逻辑的编写。

在学习VB可视化设计的过程中,我发现掌握好各种控件的使用和属性的设置非常重要,这能使我们更高效地创建出符合用户需求的界面。

另外,VB程序的事件驱动也是其重要特征之一。

在VB中,我们可以通过事件处理程序对用户的操作进行响应。

这就要求我们需要深入理解各种事件和事件参数的含义,并能够合理地编写事件处理代码。

通过事件驱动的编程思想,我们能够更好地控制程序的流程,提高程序的可读性和易维护性。

在实际编写VB程序的过程中,我也遇到了一些问题和困难。

一个常见的问题是调试代码时出现的错误。

由于VB是一种弱类型语言,很容易出现类型不匹配的错误。

解决这个问题的办法就是加强对变量和数据类型的理解,并且在编写代码时要注意对变量进行类型转换。

另外,我还遇到了一些逻辑错误,这通常需要通过仔细查看代码和调试信息来找到错误的原因并进行修正。

在学习和使用VB程序的过程中,我也意识到编写程序不仅仅是写代码,还需要注重代码的可读性和可维护性。

VB是一种面向对象的编程语言,所以我们可以使用面向对象的设计原则来编写高质量的程序。

WINCC脚本技巧

WINCC脚本技巧

WINCC脚本技巧WinCC(Windows Control Center)是西门子公司开发的一款用于监控与控制系统的人机界面软件。

在WinCC中,脚本技巧是一种非常重要的技术,可以实现自动化控制和数据处理等功能。

本文将介绍一些WinCC脚本技巧,帮助您更好地使用和开发WinCC系统。

一、脚本语言简介在WinCC中,脚本语言主要使用VBScript(Visual Basic Scripting Edition)编写。

VBScript是一种微软开发的轻量级脚本语言,易于学习和使用。

通过编写脚本,可以实现界面操作、数据处理、报警管理等功能。

二、脚本的基本语法1. 变量和常量在脚本中,可以定义变量来存储数据,如:```Dim ii = 10```此处定义了一个名为i的变量,并将其赋值为10。

在脚本中,还可以使用常量来存储固定值,如:```Const PI = 3.14159```此处定义了一个名为PI的常量,并将其值设置为3.14159。

2. 条件语句条件语句可以根据特定条件来执行不同的操作,如:```If i > 0 ThenMsgBox "i大于0"ElseIf i = 0 ThenMsgBox "i等于0"ElseMsgBox "i小于0"End If```此处根据变量i的值来执行不同的提示。

3. 循环语句循环语句可以重复执行一段代码,如:```For i = 1 To 10MsgBox iNext```此处使用循环语句输出1到10的数字。

三、常用的脚本技巧1. 控件操作脚本可以实现对界面中的控件进行操作,如修改文本框内容、显示隐藏控件等。

通过控件的名称和属性,可以使用脚本进行相应的操作,提高人机交互的效果。

2. 数据处理脚本可以实现简单的数据处理,如对数据进行格式化、计算等。

通过获取界面中的数据,使用脚本进行相应的处理并显示结果,方便用户进行数据分析和决策。

vb程序实训心得体会范文「」

vb程序实训心得体会范文「」

VB程序实训心得体会范文引言随着信息技术的飞速发展,编程已经成为现代社会不可或缺的技能之一。

在众多编程语言中,Visual Basic(VB)以其易学易用、功能强大而受到广泛欢迎。

通过本次VB程序实训,我对VB编程有了更深入的理解和实践,以下是我的一些心得体会。

实训目标实训的主要目标是:掌握VB编程的基础知识和语法规则。

学习如何使用VB进行基本的程序设计。

了解VB在实际项目中的应用。

提高解决实际问题的能力。

实训内容1. VB基础在实训的开始阶段,我们首先学习了VB的基础知识,包括变量、数据类型、运算符、控制结构等。

这些基础知识为后续的程序设计打下了坚实的基础。

2. 界面设计随后,我们进入了界面设计的学习。

VB提供了丰富的控件,如按钮、文本框、列表框等,通过拖拽的方式即可快速构建用户界面。

我学习了如何使用这些控件,并理解了事件驱动编程的概念。

3. 程序逻辑程序逻辑是编程的核心。

在实训中,我通过编写不同的程序来锻炼我的逻辑思维能力。

我学习了如何使用循环、条件判断等控制结构来实现复杂的程序逻辑。

4. 数据库操作VB的一个重要应用是在数据库编程方面。

实训中,我学习了如何使用VB连接数据库,以及如何进行数据的增删改查操作。

这些技能对于实际的软件开发非常实用。

5. 实际项目开发最后,我们进行了一个实际项目的开发。

在项目中,我将所学的VB知识应用到实际中,解决了一些实际问题。

这个过程极大地提高了我的编程能力和问题解决能力。

心得体会1. 学习编程的乐趣通过本次实训,我体会到了编程的乐趣。

每当我成功运行一个程序,看到预期的结果时,都感到无比的兴奋和满足。

这种成就感激励我不断学习,不断进步。

2. 理论与实践相结合实训让我认识到,理论知识是基础,但只有将理论应用到实践中,才能真正掌握它。

在实训中,我通过编写实际的程序,加深了对VB知识的理解。

3. 团队合作的重要性在项目开发过程中,我体会到了团队合作的重要性。

与队友们一起讨论问题、解决问题,不仅提高了效率,也让我学会了如何与人沟通和协作。

使用VB脚本访问WinCC变量

使用VB脚本访问WinCC变量

如何从外部使用VB脚本访问WinCC变量?
字节

123456789101112131415
16
发送
报文
20E112BC00000047E00D9应答
报文
20E112BC000005FB31006C
如何从外部使用VBS脚本访问WinCC变量?
通过Windows 脚本宿主可以访问WinCC Tag,用这种方法可以非常简单的与WinCC运行系统交换数据。

我们已 Windows VBS 脚本为例说明这个功能的用法:
1. 首先,在WinCC中建立Tag 用于被外部VBS访问,比如:新建一个WinCC 内部 Tag:
a ,类型为 16位整型。

2. 在WinCC中新建一个画面用来显示Tag a的值,激活该画面。

3. 打开Windows中纯文本编辑器,比如:写字板。

保存为后缀为 .vbs文件,比如: tag.vbs 。

4. 双击执行tag.vbs这个文件 。

5. 在弹出对话框中输入WinCC Tag名:a,
6. 然后点击“OK”,会出另外一个对话框,输入要付给WinCC Tag的值,比如: 10。

点击“OK”。

7. 这时,WinCC画面的值会立刻变为 10:
该方法的使用方法,与WinCC的VBS类似,可以参考WinCC VBS的帮助文档。

这种通过外部脚本访问运行时WinCC变量的方法,同样可以用于Excel的VBA中。

使用VB或VBS访问WINCC6

使用VB或VBS访问WINCC6

使用VB或VBS访问WINCC6.0历史数据库从WINCC6.0开始,就开始采用SQL3000SP3做为WINCC的后台数据了.而这个SQL2000SP3是由SIEMENS为WINCC做了二次开发的,采用了一些独有的技术,一些是我们知道的,一些是我们所不知道的.所以当我们打开SQL管理器和用高级语言访问时,和常规的SQL访问的方法是有一些出入的.即使我们能够很轻易的访问ACCESS,普通的SQL2000的数据库,不见的你就能顺利的访问到WINCC的历史数据.官方的资料显示:1:WINCC的数据有设计时数据库和运行时数据库,分别放在相关的目录,对于数据使用者而言,我们知道就可以了.设计时数据库我们了解没有什么意义.但运行时数据库至少我们要知道它的名.他的名一般是"CC_工程名_年_月_日_时_分_秒R"的名,这个对于我们使用者而言,是很重要的的,无论你准备以DSN或OLEDB的方式访问数据库,你都需要它.如果你实在不知道它的名,你可以将WINCC激活,然后在'ODBC管理器"或"SQL企业管理器下的"DATABASE"可以看到它,它就蹲在那里.....2:运行时库的表的问题.其实,这个是很多的用户很关心的问题,包括我自己在内.常规的使用过高级语言访问SQL的技术人员都知道,很多的SQL语句,如SELECT ,INSERT INTO等等,都需要指明在某一库的表中对它进行操作.因此,这个表的问题可能就是你访问SQL的拦路虎.先告诉大家:WINCC6.0的SQL库操作是不需要表名的,因为他有自己定义的SQL语句.细节一会儿在描述.其实,WINCC在运行时,根据WINCC的设置,数据归档是以一定时间做为基准,形成数据片段. 大体上有三个用户需要了解的表.在数据片段下,有三个表是我们所关心的1:ARCHIVE(用户归档记录)2:TAGPRESSED(TAGUNPRESSED)(压缩/非压缩变量归档记录)3:MSARCLONG(报警记录)事实上,我们在操作数据时,还是并不能直接使用常规的SQL来操作这些表,甚至不允许修改它,MSARCLONG情况好一些,允许插入/修改等.TAGPRESSED的数据和WINCC内设置的变量管理下的归档是对应的,MSARCLONG的数据和WINCC内设置的报警记录下的设置是对应的.ARCHIVE的数据和WINCC内的用户归档数据是对应的.一般的,当我们使用WINCC制作在线表格和在线趋势使用的都是变量管理器下的归档.因此,我们打开TAGPRESSED的表,可以看到的一些都是变量记录的内容,通常也是在这里归档了用户的生产数据.因此,我们访问WINCC历史数据库,实际上是访问这里的变量记录3:访问历史数据库的方法/连接字符/SQL语句访问数据库的方法:A:WINCCOLEDB访问压缩归档,也可以访问非压缩归档B:MS ADO/OLEDB只能访问非压缩归档对于这种说法,我只严正了WINCCOLEDB的方法,后者没有测试.连接字符:WINCCOLEDB的连接字符为(本地):provider=winccoledbprovider.1,catalog=.\wincc,data source=数据库名,user id=DBA,password=SQL对于远程连接,因为没有条件测试,所以就不说了,希望有哪位朋友日后通过了测试,到这里告诉一下现在开始讲访问用户归档,过程值归档和消息归档的方法和语法:1:查询过程值归档和消息归档的连接字符串SET CON=Createobject("adodb.connection")con.openProvider=winccoledbprovider.1;catalog=cc_工程名_年_月_日_时_分_秒R,data source=.\wincc,user id=DBA,password=SQL说明:按照WINCC规定的连接字符串,创建到数据库的连接,并且打开这个连接.其中,我们经常需要修改的是Catalog的值,这个值根据不同的工程和创建的时间不同,我们可以在ODBC管理器下或SQL的库中看到.查询过程值归档和用户归档的SQL语句TAG:R,'变量名1','起始时间','终止时间' where条件说明:WHERE子句只对用户归档有效,对过程值归档无效.变量名:这个变量名要和WINCC下的变量管理器的过程值归档名要一致.其格式为:归档名/变量名.起始时间和终止时间可以用相对时间和绝对时间,一般绝对时间比较容易理解,就是从开始时间到终止时间就好了.例如,查询从2006/3/12 12:20:20秒到2006/3/13/ 12:20:20秒的数据,则应该写成'2006-3-12 12:20:20' '2006-3-13 12:20:20'就好了.当然拉,也可以用相对时间格式,就是比目前时间的相对值,有个前移后移的问题,很简单的.这里特别需要注意的是:记录到SQL数据库的时间都是格林威治时间,和中国的东8区有8个小时的时间差,也就是说记录的时间比本机PC时区晚8小时,这一点我们在测试是尤其重要.因为你是时间不正确,可能数据就没有显示,而导致你怀疑连接/命令/记录的有效性访问SQL数据库的方法过程描述.这和访问普通的数据库的方法大致上是相同,唯一的就是由于WINCC的数据是经过了压缩的.1:定义连接字符串,就是前面所讲到的.2:创建ADODB的CONNECTION对象,在VB中直接用CREATEOBJECT(ADODB.CONNECTION)函数,在ASP的VB脚本中,需要使用内置SERVER 对象创建CONNECTIONG对象.3:打开到数据库的连接,使用CONNECTION的OPEN函数4:创建COMMAND对象,并定义COMMAND对象采用用CMDTEXT方法,表明将要使用命令文本的方式来获取数据记录.5:创建RECORDSET对象,并用COMMAND对象的返回记录集填充这个记录集.6:RECORDSET对象的数据就可以被你任意的使用了查询过程值归档和用户归档的SQL语句TAG:R,'变量名1','起始时间','终止时间' where条件-----------------------------------------------这就是怪怪的SQL语句,在ADO下,会出错!解决了肯定设法要给200分的,关键有没有双料精英呀,这年头“计算机”与“工控”都会的不好找呀。

VB操作wincc脚本心得精选文档

VB操作wincc脚本心得精选文档

VB操作wincc脚本心得精选文档1. 理解VB语法和WinCC对象模型:在编写VB脚本之前,首先要熟悉VB语法和WinCC对象模型。

了解这些基础知识可以帮助我们更好地理解和应用脚本。

2. 使用合适的事件触发脚本:WinCC提供了多种事件触发的方式,如按钮点击事件、数值变化事件等。

我们需要根据具体的需求选择合适的事件来触发脚本的执行。

例如,如果需要在一些按钮被点击时执行一段脚本,我们可以选择按钮的点击事件。

3.合理使用变量:在脚本中,我们经常需要使用到各种变量。

在使用变量时,需要注意变量的命名规范和作用域。

为了避免混淆和错误,建议在脚本中使用有意义的变量名,并将变量的作用域限制在需要的范围内。

4. 错误处理和调试:在编写脚本时,难免会出现错误。

为了及时发现和解决问题,我们需要合理地处理错误和进行调试。

在编写脚本时,可以使用Try-Catch语句来捕获和处理异常。

同时,可以使用输出语句或调试工具来输出和查看调试信息,帮助我们找到问题的所在。

5. 高效使用WinCC提供的功能:WinCC提供了许多有用的功能和方法,我们可以充分利用这些功能来简化脚本的编写和提高脚本的效率。

例如,我们可以使用WinCC提供的图表功能来实现数据的可视化展示,使用WinCC提供的报警功能来实现报警的处理等。

6.编写可复用的脚本:在实际应用中,我们可能需要多次使用相同或类似的脚本。

为了提高代码的复用性,我们可以将一些常用的脚本封装成函数或子程序,以便在需要的时候调用。

这样不仅可以节省编写代码的时间,还可以提高代码的可维护性。

7.做好文档和注释:在编写脚本时,我们应该养成良好的文档和注释习惯。

在脚本中加入适当的注释可以帮助他人更好地理解和使用脚本。

同时,我们也应该编写清晰明了的文档,记录脚本的功能、用法和注意事项,以便他人参考和使用。

总结起来,编写VB操作WinCC脚本需要掌握VB语法和WinCC对象模型,合理选择事件触发脚本,合理使用变量,处理错误和进行调试,高效使用WinCC提供的功能,编写可复用的脚本,并做好文档和注释。

Wincc中使用使用VB脚本进行变量的读和写

Wincc中使用使用VB脚本进行变量的读和写

Wincc中使⽤使⽤VB脚本进⾏变量的读和写
问题详情
项⽬中需要实现通过Wincc输⼊输出域来改变海康威视的视频服务器IP、⽤户名、密码等参数的输⼊。

实现的思路是建⽴输⼊输出域并新建内部变量,将输⼊输出域与内部变量关联,再新建⼀个按钮,并在按钮点击脚本中读⼊内部变量,将读⼊值写进登录函数的参数中。

Wincc⽀持C和VB脚本,C脚本中通常有现成的函数GetTagWord(),SetTagWord()等来对变量进⾏读和写操作,VB中则使⽤Read和Write,⽰例如下。

⽰例
'写法1
Dim userTag,temp_Read '定义变量
Set userTag=HMIRunTime.Tags("变量名") '读取Wincc内部变量或者AS变量
temp_Read=userTag.Read '将读取值赋给temp
userTag.Write "字符串" '将字符串写⼊变量中
'写法2
Dim temp
temp=HMIRunTime.Tags("变量").Read
HMIRunTime.Tags("变量").Write "字符串"
总结
本⼈在实际应⽤过程中需要读取多个“内部变量”,开始使⽤了写法1,实际并没有成功,后来使⽤写法2成功获取内部变量;
亲测,写法2靠谱。

WINCC脚本个人经验总结

WINCC脚本个人经验总结

语音报警的组态在工业现场安全是极其重要的,无论从那个角度讲我们应该利用一切手段减少故障的发生。

在故障已经发生的时候,应该在第一时间以多种方式通知操作人员有故障发生。

现代微处理计算机的处理速度可以完全胜任对于图形,语音地同时处理。

所以我们可以利用计算机的声卡和音箱在有故障发生的时候产生语言报警,但是问题是WinCC本身并不能产生语音的功能,而且其内部的上千个函数也没有提供处理声音的函数。

解决这个问题的方法归功于微软开发的WinCC与操作系统地完美结合,因为在WinCC中可以直接调用Windows的API函数。

实现的具体C脚本代码如下:long _main(char* lpszPictureName, char* lpszObjectName, char*lpszPropertyName){#pragma code(\"Winmm.dll\")void WINAPI PlaySoundA(char *pszSound,char *hmode,DWORD dwflay);#pragma code()if(GetTagBit(\"112排泥备泵故障\"))PlaySoundA(\"d:\\\\\\\\winnt\\\\\\\\media\\\\\\\\Mircosoft sound.wav\",NULL,8);return 1020;}重新启动后,不使用登录窗口如何以一个缺省用户的身份自动登录?怎样确保运行期间有个缺省用户始终处于登入状态?即使另外一个用户已经预先退出。

解答:重新启动以及在运行期间,您希望HMI系统达到最小的实用性而不使用登录窗口。

然而,对于高级操作,登录功能应当保留。

此外,如果没有用户登录,则有一个缺省的用户自动登录。

缺省用户的权限可以在用户管理器中根据需要设定。

可使用下面的C脚本执行此项功能,请按照下列步骤进行:将附件中的函数“Silentlogin.pas”复制到项目中的“PAS”子文件夹中。

关于WINCC的C脚本的使用总结

关于WINCC的C脚本的使用总结

Wincc的脚本功能及其强大,可以通过C脚本实现各种功能,但是脚本比较繁琐,始终不得其道,经过对比研究,发现了一些规律
1.全局脚本的实现
打开全局脚本编辑器,在“动作”-“全局动作“-新建动作,出现脚本编辑器的正文
可以看到正文已经有一部分内容,这些内容包括自带的全局脚本的声明及注释内容,都需要更改,也更改不了。

在第一大括号后,我们可以自己编用户脚本了,用户脚本一般是这样的结构:首先对数据和变量进行声明,即对其数据类型进行声明;然后,对变量进行取属性,转换变量,用value1=GetTagDWord("AI0");(这是个例子),意思是把AI0的值取出给value1了,然后就可以对value1进行计算了,计算后再置属性,转换变量,用
SetTagDWord("AI0",value1);
其他的地方注意符号和空格,然后编译,编译过了之后保存,并生成头文件,然后就见证奇迹吧。

下图是依次点亮的脚本
下图是液位高高报警的脚本
欢迎您的下载,
资料仅供参考!
致力为企业和个人提供合同协议,策划案计划书,学习资料等等
打造全网一站式需求。

wincc中常用的vb指令 -回复

wincc中常用的vb指令 -回复

wincc中常用的vb指令-回复WinCC中常用的VB指令是一系列用于编写自定义脚本的命令。

这些指令可以帮助用户实现各种功能和操作,提高系统的灵活性和扩展性。

本文将详细介绍WinCC中常用的VB指令,并逐步解释其用法和应用场景。

第一步:导入VB库在开始之前,必须先导入VB库以启用VB脚本功能。

为此,请打开WinCC 软件并创建一个新项目。

然后,转到“项目设置”选项,找到“VB工程”选项卡,并勾选“启用VB脚本”选项。

第二步:创建VB脚本一旦VB库被导入,就可以开始创建VB脚本了。

在WinCC软件中,可以通过多种方式创建VB脚本。

最常见的方法是使用“脚本编辑器”或通过“双击”控件打开控件事件。

无论使用哪种方法,都需要选择VB脚本语言作为编程语言。

第三步:常用VB指令WinCC中有许多可用的VB指令,这里将介绍其中一些常用的指令和其应用场景。

1. MsgBox指令MsgBox指令用于显示消息框,并接收用户的响应。

它可以用于向用户显示提示、警告或错误消息,并根据用户的选择执行不同的操作。

示例:MsgBox("这是一个提示消息。

")2. SetQuality指令SetQuality指令用于设置变量或标记的质量。

它可以将变量或标记的质量设置为“Good”、“Bad”、“Uncertain”或“Unknown”,以指示变量或标记的可信度。

示例:SetQuality(Tag1, "Good")3. GetTagValue指令GetTagValue指令用于获取指定变量或标记的当前值。

它可以用于读取变量或标记的值,并在需要时进行处理。

示例:Value = GetTagValue(Tag2)4. SetTagValue指令SetTagValue指令用于设置指定变量或标记的值。

它可以用于修改变量或标记的值,并触发相应的操作或事件。

示例:SetTagValue(Tag3, 10)5. WriteLogMessage指令WriteLogMessage指令用于将指定的文本写入WinCC日志文件。

Wincc的VBS脚本使用

Wincc的VBS脚本使用

W i n c c的V B S脚本使用------------------------------------------作者xxxx------------------------------------------日期xxxx变量读写: Write和Read方法的语法:读:1 Dim objTag Set objTag=HMIRunTime.Tags("变量名")2 HMIRunTime.Tags("变量名").Read写:1 Dim objTag Set objTag=HMIRunTime.Tags("变量名")objTag.Write 1 '向变量写入数值12 HMIRunTime.Tags("变量名").Write 1中间变量的值写入:Dim objTag,valSet objTag=HMIRunTime.Tags("变量名")objTag.Readval=objTag.Value '中间变量val存放了变量的值VBS语言使用方法概述:VBScript的全称是:Microsoft Visual Basic Script Editon.(微软公司可视化BASIC 脚本版).正如其字面所透露的信息, VBS(VBScript的进一步简写)是基于Visual Basic的脚本语言.我进一步解释一下, Microsoft Visual Basic是微软公司出品的一套可视化编程工具, 语基于Basic. 脚本语言, 就是不编译成二进制文件, 直接由宿主(host)解释源代码并执行, 简单点说就是你写的程序不需要编译成.exe, 而是直接给用户发送.vbs的源程序, 用户就能执行了.一、入门: 1) 注释(以REM或'开头)行在程序中不起作用, 但能让别人更容易读懂你的程序. 2) 变量好像一个盒子, 或一个代号, 可以代表你想代表的东西. 变量赋值使用"="3)以""包裹起来的字符称之为"字符串"4)函数像一个"黑箱", 有参数和返回值, 用"="左边的变量可以接住返回值5) Inputbox函数弹出一个输入对话框,Msgbox则用于输出例:REM 输入并回显你的名字'使用InputBox和Msgbox函数Dim name,msgmsg="请输入你的名字:"name=Inputbox(msg,"名称")Msgbox(name)上例中,Dim用来声明一个变量, 在VBS中, 变量类型并不是那么重要, 就是说VBS中你不用考虑name储存的是一个整数还是一个小数(学名叫"浮点数"), 也不用考虑是不是字符串(一串字符, 比如:"Hello World"), VBS会自动帮你搞定. 所以第三行语句可以删除, 效果不会变.常量:格式是:const 常量名=常量值.例如: const PI=3.1415926 const NAME="记忆碎片"二、进阶数据类型转换:1)Dim a,b,ca=inputbox("a是:","输入半径")b=Inputbox("b是:","输入半径")c=a*2+b*2Msgbox(c)这个输入1、2时是62)Dim a,b,ca=inputbox("a是:","输入半径")b=Inputbox("b是:","输入半径")c=(a+b)*2Msgbox(c)这个输入1、2时是24为什么会不一样呢? 在数学上c=(a+b)*2 和 c=a*2+b*2是等价的, 在VBS中也是如此. 问题出在"+"上, 在VBS中, +不仅仅是加号的意思还表示把两个字符串连接起来, 例如"Hello"+"World"="HelloWorld" have you understood? 你还记得InoutBox函数的返回值吗? 是字符串! 这就看出问题了吧, 在编程中"1"不等于(<>)1, "1"是一个字符, 而1是一个数, 所以a,b都是字符串变量, "1"+"2"="12", 这就好像我们小时跟伙伴开玩笑问他们1+1=?一样, 我们总是笑着说"错啦,应该是11".但为什么, a可以*2却不发生错误呢? 这时VBS比较智能的一个表现, 如果这个字符串的内容是一个数且对他进行数学运算, 则把字符串强制转换成数参与运算如果字符串代表一个数, 但不参加数学运算, 而是参加字符串运算(合并)则当作字符串处理, 所以你看到a+b=12, 这时候a+b的结果是一个字符串, 当它要乘以2的时候就被强制转换成了数字12, 这样我就得到了结果24怎么修改这个程序呢? 我们需要用到另一个内建的函数:int, int函数的功能是将输入值转成整数值, 我们这样修改: c=(int(a)+int(b))*2四、循环结构for....nextdim i,jfor i=1 to 9for i=1 to 9str=str & i * j & " " '&是和并字符串的符号next '每个next对应一个fornext1)do..loop和exit do的用法2) while当表达式true的时候执行循环体,until反之3) for...next是计数循环, 每次执行计数器递加4) 嵌套循环的作用和写法 4.5) &用于连接字符串5) vbCrLf相当于键盘上的回车键五、数组定义:dim 数组名(元素数量), 这里大家要注意一点, 这里定义的元素数量总是比你要的要少一个, 因为一个数组的起点是0号数据而不是1, 所以大家一定要小心: 你需要10个数据, 就定义"9"。

在Wincc中通过VBS调用VB语言编写的DLL

在Wincc中通过VBS调用VB语言编写的DLL

VBS作为一种脚本语言有其局限性,同VB等高级语言比起来,其底层开发能力尤为弱小。

但是,VBS和VB是小弟与大哥的关系。

小弟有事情摆平不了,当然要请求大哥帮助,大哥的能力与作用将在这时展现出来。

动态数据链接库就提供了这样的一个机制,当有难题VBS解决不了的时候,我们可以通过把这个难题交给高级语言,然后在高级语言中生成动态链接库(DLL)来供其他语言调用。

这让我想到了上篇关于VBS编写读串口通讯的那篇文章,里面的某些函数和方法完全可以通过在VB脚本中来编写,然后生成DLL工Wincc调用。

下面来整理一下我的设计思路:
1.在VB中编写程序并声成DLL文件
首先,通过VB6.0新建一个ActiveX DLL项目,将工程名称改为“project”,类名改为“testdll”。

然后新建一个功能“output”,输入以下内容。

保存项目。

在文件菜单下选择“生成project.dll文件”。

保存路径为D:\Work space\VB_DLL
2.将DLL文件添加到注册列表
“开始”——“运行”——“cmd”切换到D:\Work space\VB_DLL,输入regsvr32 project.dll。

此时,会弹出下列对话框,说明注册成功。

3.编写Wincc侧的VBS程序,激活并测试
在Wincc中新建一个按钮并在单击事件中编写如下代码。

激活Wincc项目。

单击“DLL测试”按钮,弹出对话框,说明调用成功。

vb实训报告心得体会_vb实训个人经验总结范文

vb实训报告心得体会_vb实训个人经验总结范文

vb实训报告心得体会_vb实训个人经验总结范文vb是什么?Visual Basic是一种由微软公司开发的包含协助开发环境的事件驱动编程语言,vb实训是信息时代必须参加的一门培训课。

下面是带来的vb实训报告心得体会,仅供参考。

vb实训报告心得体会篇一为期两周的实训即将结束,通过这次的实训使我们学到了很多,同时也让我们意识到我们要学的更多。

本次实训的项目是“雏鹰”学生成绩管理系统,以小组的形式进行分工合作,我组共9个人,任务是用户模块的程序设计。

从程序的需求分析、可行性分析、设计到编写、调试、修改、完善、到最后的实训报告,每个人都付出了时间和精力去做好自己的任务并努力地去完善它。

实训的第一天接到任务时我们都觉得有点难度,很有挑战性,毕竟学生成绩管理系统是一个比较系统、完善、功能相对较齐全的管理系统,即使是用户模块也可以完成各种操作,如对用户的查询、添加.删除以及修改等。

因此程序编写也十分复杂,工作量较大,编写一定要认真。

一个小小的失误都可能使程序出现大的漏洞。

而我们只是学了点简单的vb程序编写,没有尝试过这种相对来说比较系统完善的系统。

所以在做项目的时候我们倍感压力、更加的团结协作,可即使如此我们还是出现了错误,我们的程序在编写上存在一些漏洞,导致调试时不能正常运行,后经过老师的指导、我们的调整,终于可以完美的运行,这里也耽误了我们很多宝贵的时间,直接导致了我们在项目调试上速度不够快。

本人很荣幸地担任组长一职,和另一位组长一起进行本小组成员的任务分配以及协调等。

我组要做的用户模块分为用户管理和修改密码两块内容。

用户管理中又包括用户的查询、添加、修改以及删除功能,它是只有具有管理员权限的情况下才能进入操作、而普通用户就只能修改自己的登录密码。

在实训过程中我们也认识了一些新的老师,他们对我们亲切认真负责,很有耐心地对我们进行讲解并指导我们解决遇到的难题。

老师们交会了我们很多简单实用的技巧。

也让我们意识到了要想全面完整地完成一个模块,首先要进行程序的设计,全面分析会用到的东西以及考虑可能会出现的情况,理清思绪、写出大致的要点后再上机编写程序以及操作。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Vbs 操作wincc画面脚本总结
一:不使用变量单纯的操作界面
1.操作某个画面中控件的属性如Home1.Pdl(总窗体)下的画面窗口2(画面窗口)
Sub OnClick(ByVal Item)
Dim objCircle
Dim screenname
Dim pwname
Set objCircle= ScreenItems("圆1" )
objCircle.Radius = 60
Set screenname=HMIRuntime.Screens("Home1") //获取要操作的窗体
Set pwname=screenname.ScreenItems("画面窗口2") //获取要操作的控件,这里填入你要操作的控件名
MsgBox(objCircle.Radius) //输出圆的半径
MsgBox (pwname.Picturename) //输出当前画面窗口2的名字
End Sub
注意当调用某窗体下的某控件的某个属性时,需要声明两个对象,一个接纳这个控件,一个接纳值例如
Dim object
Dim value
Set object =HMIRuntime.Screens("Home1").ScreenItems("画面窗口2")
Set value=object.picturename
2.更改画面窗口的对象
Sub OnClick(Byval Item)
Dim opObject
Set opObject=HMIRuntime.Screens ("Home1").ScreenItems("画面窗口2")
opObject.PictureName="Page1.Pdl"
End Sub
3.设置文本
Set titleTxt=HMIRuntime.Screens ("Home1").ScreenItems("静态文本2")
titleTxt.Text =titleTxt.Text+"EF" //获取文本的值并追加字符
4.vb 字符串函数
VB的字符串截取函数有Left(字符串,n),返回字符串前N个字符;Mid(字符串,p,n),从第p个字符开始,向后截取N个字符;right(字符串,n),返回字符串的最后n个字符。

获取下标
VB中的InStr()函数与InStrRev()函数:
都是在主字符串当中搜寻寻找子字符串,返回找到的子字符串在主字符串中出现的位置;不同在于;
InStr()函数,从左开始向右寻找,InStrRev()函数,从右开始向左寻找。

截取right 和left 获取长度Len
二:操作变量
1. Dim objTag
Dim AText
Set objTag = HMIRuntime.Tags("a") //获取变量
objTag.Read //执行读取
Set AText=ScreenItems("静态文本2") //获取控件
AText.Text=objTag.Value //给控件写入值
objTag.Value =100 //给目标变量写入值
objTag.Write //执行写入
2. vb 中Switch语句的变体
Dim objTag
Dim AText
Set objTag = HMIRuntime.Tags("a") //获取内部变量a的值
objTag.Read //必须要有这一步,这是读取操作,同理如果改写值必须要有ogjTag.write
Set AText=ScreenItems("静态文本2")
Select Case objTag.Value
Case 1
AText.Text="a"
Case 2
AText.Text="b"
Case Else
AText.Text=objTag.Value
End Select
三.弹出对话框
设置
buttons 参数可以有以下值:
常数值描述
vbOKOnly 0 只显示确定按钮。

vbOKCancel 1 显示确定和取消按钮。

vbAbortRetryIgnore 2 显示放弃、重试和忽略按钮。

vbYesNoCancel 3 显示是、否和取消按钮。

vbYesNo 4 显示是和否按钮。

vbRetryCancel 5 显示重试和取消按钮。

vbCritical 16 显示临界信息图标。

vbQuestion 32 显示警告查询图标。

vbExclamation 48 显示警告消息图标。

vbInformation 64 显示信息消息图标。

vbDefaultButton1 0 第一个按钮为默认按钮。

vbDefaultButton2 256 第二个按钮为默认按钮。

vbDefaultButton3 512 第三个按钮为默认按钮。

vbDefaultButton4 768 第四个按钮为默认按钮。

vbApplicationModal 0 应用程序模式:用户必须响应消息框才能继续在当前应用程序中工作。

vbSystemModal 4096 系统模式:在用户响应消息框前,所有应用程序都被挂起。

第一组值(0 - 5) 用于描述对话框中显示的按钮类型与数目;第二组值(16, 32, 48, 64) 用于描述图标的样式;第三组值(0, 256, 512) 用于确定默认按钮;而第四组值(0, 4096) 则决定消息框的样式。

在将这些数字相加以生成buttons 参数值时,只能从每组值中取用一个数字。

返回值
MsgBox 函数有以下返回值:
常数值按钮
vbOK 1 确定
vbCancel 2 取消
vbAbort 3 放弃
vbRetry 4 重试
vbIgnore 5 忽略
vbYes 6 是
vbNo 7 否
下面的例子演示了MsgBox 函数的用法:
Dim MyVar
MyVar = MsgBox ("Hello World!", 65, "MsgBox Example")
' MyVar contains either 1 or 2, depending on which button is clicked.
你要求是有是和否两个按钮那么MyVar = MsgBox ("Hello World!", 65, "MsgBox Example")中的65改成4就可以了!
vbs脚本中:
if msgbox("确实要启动设备吗?",4,"警告")=6 then
hmiruntime.tags("tag1").write 1
end if。

相关文档
最新文档