首页 > 范文大全 > 正文

脚本在WinCC中的应用

开篇:润墨网以专业的文秘视角,为您筛选了一篇脚本在WinCC中的应用范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:由WinCC、可编程控制器及相应传感器组成的自动化控制系统中,WinCC起到组态和监控的作用,可利用C,Visual Basic等语言编写WinCC各种界面的脚本,使得在wincc软件设计过程中更加方便。

关键词:WinCC;PLC;人机界面;C语言;Visual Basic语言

中图分类号:TP393文献标识码:A

文章编号:1009-2374 (2010)27-0080-02

0引言

随着工业自动化程度的日益提高,人机界面技术在工业生产中应用的越来越普及。组态软件的出现使得利用计算机可以更加高效地对现场数据进行处理,从而实现工业现场的优化控制。其中德国Siemens公司的Windows Control Center (简称WinCC)以其良好的操作性和强大的功能而著称,在工业领域得到了广泛应用。

1WinCC的C脚本

WinCC集成了C脚本功能,C脚本遵守标准C语言规范,并提供了基于C脚本规范的系统函数,支持组态工程师进行全开放的自由编程,进行深层次的二次开发。这为在WinCC中引进满足实际需求的各种算法提供了基础的编辑平台。

WinCC的全局脚本编辑器(Globe Script)为组态工程师提供了C脚本开发环境。它将函数分成项目函数、标准函数和内部函数三种类型,其中项目函数是组态工程师自己开发的符合C语言规范的函数,编译后的项目函数允许用户在整个项目内像调用C语言内部函数一样自由使用;标准函数是WinCC系统自带的在C语言基础上开发的若干组态常用函数,允许组态工程师对之进行更改;内部函数是C语言自带的系统函数,不允许组态工程师编辑修改。组态工程师可以在组态画面中利用函数,实现各组件的动态化。可见,编辑相应的项目函数是实现不同用户系统独立功能的一个主要途径和技术手段。

要将所有的设备都显示在一张画面里是不可能的,所以将设备按照处理工艺的功能分级在多张画面内,之间的切换使用按钮的鼠标动作来实现。用WinCC的脚本编程,在按钮动作中调用它的内部函数来实现.

1.1按住释放按钮

它的C脚本代码如下:

#include "apdefap.h"

void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y)

{#define Par1 "_CMD"//定义变量

SetTagBit(Par1,1);//置位变量为1}这是按住的按钮代码;

#include "apdefap.h"

void OnLButtonUp(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y)

{#define Par1 "_CMD"//定义变量

SetTagBit(Par1,0); //置位变量为0}这是释放的按钮代码.

1.2位反转按钮

它的C脚本代码如下:

#include "apdefap.h"

void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y)

{#define PAR1 "_CMD"//定义变量

if (GetTagBit(PAR1)==1)

SetTagBit(PAR1,0); //置位变量为0

else

SetTagBit(PAR1,1); //置位变量为1}

2WinCC的VB脚本

2.1VB脚本在配方参数保存与打开中的应用

它的VB脚本代码如下:

Sub OnLButtonDown(ByVal Item, ByVal Flags, ByVal x, ByVal y)

……

SelectPathNameTag.Write ""

End Sub

以上为保存按钮的VB脚本代码,中间相同部分已省略。它可以用来保存为txt文本文档存储到本地计算机硬盘中,需要打开时,只需找到文档存储路径调用出来即可把参数显示到相应的表格中,使用户操作十分方便。打开按钮的VB脚本代码如下:

Sub OnLButtonDown(ByVal Item, ByVal Flags, ByVal x, ByVal y)

DestinationPath = "D:\ZRecipe Depos\" & SelectPathNameTag.Read//打开路径

……

End Sub

工业生产中经常有配方程序,有许多参数需要预先设定好,然后让设备按照预定的参数生产。工艺工程师预先设好参数后,保存为命名好的文本文档,当要修改参数时调出文档找到需改参数对应的表格即可。

2.2VB脚本在数据导出中的应用

WinCC中经常会有大量归档数据需要导出,除了利用归档窗口中的打印控件导出数据外,利用VB脚本程序也可导出对应的数据并生成CSV格式的Excel文件可存放于计算机硬盘上,且导出数据的速度比归档窗口中的打印控件快。

只需在WinCC窗口界面中做一按钮,在按钮的属性->事件->鼠标动作中编写如下VB语言脚本代码:

Sub OnLButtonDown(Byval Item, Byval Flags, Byval x, Byval y)

DestinationPath ="D:\test.csv"//存储路径

……

End Sub

3结语

WinCC对象的属性可以进行设定或编程以实现对该对象的动画及事件的触发,内嵌的C语言减少了开发者的学习时间,并增加了其灵活性。进入21世纪后,工业自动化水平日益提高,人机界面技术在国内外的工业生产、自动化控制等领域已得到越来越多的认可,其中组态软件以其开发周期短、功能强大等特点在业界得以广泛的关注。本文通过实际项目简述了利用组态软件WinCC进行数据处理的基本思路和优化方法,指明了如何利用WinCC后台强大的脚本功能实现各种数据处理算法的一般过程。实践证明,该方法不仅有效节约了系统资源,而且能够实时显示和跟踪数据变化,满足现场使用的要求。

本文作者创新点:将人机界面引入自控系统,实现了良好的人机交互;利用计算机运行速度快、容量大的特点,把各类复杂的数据处理放在了WinCC中进行,提高了设备利用率,增快了响应速度。

参考文献

[1] Siemens AG .wincc v5 The Configuration Manual and the Communication Manual,Germany:Siemens,2000.

[2] Siemens AG .wincc SIMATIC WinCC 系统描述[P].Germany:

Siemens,2000.

[3] 西门子(中国)有限公司自动化与驱动集团.SIMATIC WinCC V5 基础手册[M].1997.

[4] 西门子(中国)有限公司自动化与驱动集团.SIMATIC WinCC V5 通讯手册[M].1997.

[5] 西门子(中国)有限公司自动化与驱动集团. SIMATIC WinCC V5 全局脚本手册[M].1997.