前言 |
WINCC是西门子推出的过程可视化系统(SCADA),是基于PC的HMI系统,兼容WINDOWS各种系统,除了强大的图形系统之外,WINCC还具有在线历史趋势、报警记录、用户管理、用户归档等高级功能,而且WINCC还提供了Visual Basic Script(VBS)脚本、C语言脚本和Visual Basic for Applications(VBA)脚本的支持。其中VBS和C脚本可以在运行界面中执行脚本调试。
在写脚本过程中,经常会出现各种错误,特别是刚接触WINCC或者VBS不是很熟悉,VBS本身编译条件并本身很严禁有些错误不能通过编译计时发现而在脚本执行过程中无法正常执行,这样脚本的调试就很重要了,能让我们快速的发现问题所在提高效率。这里主要介绍使用脚本里面自带的Trace(VBS)Msgbox和printf(C)进行调试
博途工控人平时在哪里技术交流博途工控人社群
博途工控人平时在哪里技术交流博途工控人社群
注意事项:新建项目后先在计算机属性里面找到启动,勾选全局脚本运行系统。否则脚本无法运行
1、VBS脚本调试 |
1.1使用Trace函数可以在画面的脚本诊断窗口输出相应的内容。使用方法:HMIRuntime.Trace Hello,Hello就是想要输出的内容,不过内容仍然要遵守VBS脚本的语法规则。画面脚本诊断窗口的插入方法见附图:
智能对象里面选择:应用程序窗口,然后在画面编辑器工作区域拖动鼠标,选择一个合适的矩形大小,松开鼠标后弹出窗口内容对话框,选择全局脚本,点击确定,然后弹出模板对话框选择GSC Diagnostics 点击确定。然后在属性窗口里面设置相应的属性下面测试一下Trace函数:
新建按钮命名为Hello TRACE在单击鼠标选择VBS动作如下图:
通过脚本输出“Hello”文字:
下面的脚本是Hello Trace按钮的脚本,全局脚本诊断里面显示的就是关于脚本里面的vbCrlf,vbCrLf是Visual Basic(VB,一种编程语言)中的一个字符串常数,即“Chr(13) & Chr(10)”(回车符与换行符连接在一起),是换行的意思其他常用的常数:
保存,运行效果如下:
Msgbox指令的使用方法如下:
运行效果
2、C脚本调试 |
C脚本的诊断输出使用printf()函数,函数的使用格式如下:printf("<格式化字符串>", <参量表>);仍然上面的例子输出一行字符串:
在使用printf进行格式话输出的时候,在进行格式化输出的时候,都是“%”字符开始,使用的规定符如下:
3、总结 |
利用Trace和printf函数,可以在诊断窗口输出变量的值、对象的属性、函数返回结果、字符常量等,如果脚本有错误,在诊断窗口里面也能够输出相关信息,在上面的的文档里面有介绍。
在做比较复杂功能的时候,如果脚本代码较多,测试过程中无法正常执行,可以在不确定的代码行使用Trace(printf)输出一个内容做标记,看看执行到哪里不执行了,使用这种方法比使用msgbox(Messagebox)函数使用对话框来调试要方便很多。根据提示内容,可以看出出现错误的画面名称、函数对象、第几行,错误的内容等,这样就能很快的分析判断错误位置和原因,提高编