WinCC上可以很方便的编写VB脚本和C脚本
.-- WinCC 上可以很方便的编写 VB 脚本和 C 脚本,但是调试起来还是比较费劲的。 下面介绍一下个人的应用体会。 1,VB,最好安装 VB6,先在 VB6 里面编写程序,然后再放到 WinCC 的脚本中, 事半功倍,毕竟 VB 的调试非常方便。 a,插入引用 注意选择 OLE Automation 和 WinCC *****; b,可以直接在 VB 里面调用 WinCC 的全部变量,部,外部全可以: 如下: .可修编 .-- c,在 VB 里面监视 WinCC 的变量: d,调试完毕,程序拷贝到 WinCC 的脚本中。 2,C 语言 系统提供了一个应用程序窗口,如下,只要把他拖到画面窗口即可: .可修编 .-- 2,使用 Printf 函数,把需要调试的容打印出来; .可修编 .-- 3,效果如下: 希望对大家有点用处。 下面容来自网络,感原文作者。 wenku.baidu./link?url=vEykUwHY3kamu6EGqrO8WX1XVc6_IMzRfnfkcwe5JpmjmPLUH msod1xIDeQUpd1MJgUMD9IlS8bcIsH6GWpHwjuq76wAjG6NjSkndSrQK 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 个字符。 blog.sina/s/blog_4aee288a0102vavt.html 用 WinCC 读取 VB 的数据的方法一(DDE) VB6.0 中的步骤: 1、新建一个“标准 ”工程 2、设置窗体 1 的 LinkMode 属性为 1 - Source,一定要设定为 1 3、在 1 上添加一个文本框控件 Text1,将其 Text 属性设为 text1 4、保存工程:工程名为 VBDDE.vbp 5、生成 VBDDE. WinCC 的步骤: 1、新建一单用户项目 2、在变量管理器中添加 Windows DDE 驱动 3、在 DDE 下新建连接 NewConnection,在其属性对话框中: puter Name:不设置 .可修编 .-- Application:VBDDE Topic:1(VB 中窗体名) 其它不作改动 4、在此连接下新建一有符号 16 位整型变量 Tag1,在其地址选择框中: 条目名称:Text1窗体控件名称 数据类型(Data Type):SWORD(要与变量类型一致) 5、新建一个画面:DDE_Test.Pdl 6、在画面中添加一个 IO 域:与 Tag1 动态连接,更新周期为:根据变化,输出 格式为 s9999 7、保存画面 联机调试: 1、先运行 VBDDE.(或者在 VB 设计器中运行工程) 2、后激活 WinCC 项目 3、此时 IO 域值与 Text1 值总是保持一致(无论你在哪一方改动) 用 WinCC 读取 VB 的数据的方法二(OLE) VB 文本框的代码: private sub text1_change() Dim wincc As Object 定义 wincc 为对象 Dim Var As Integer 定义 wincc 变量 Set wincc = CreateObject(“WinCC-Runtime-Project“) 创建 wincc 运行对象 .可修编 .-- Call wincc.SetValue(“Var“, text1.text) 将 VB 变量值写入 WINCC 变量 ,变量名 称要与 WINCC 变量名称完全一致,要区分大小写 end sub 在 WINCC 中建立部变量 var,类型要与 VB 一致,在画面中加入 IO 显示即可。 blog.sina/s/blog_6e70b2d5010198x7.html WinCC 脚本应用 脚本的应用给 WinCC 项目带来了极大的灵活性和开放性。通过使用脚本可以完 成一些 WinCC 基本组态无法实现的功能。 从版本 V6 起, WinCC 同时提供了 C 和 VB 两套脚本系统, 使脚本功能更加丰富、 易用。 首先 C 脚本功能实在是太强大了, 除了系统提供的标准函数和系统函数外, 还可 以直接调用 API 函数,再加上可以直接使用 ODK 函数,,就连 VBS 中的 调用也可以通过特别的办法实现,可谓是无所不能。当然缺点也是有的,不支持 自动列出函数或者方法,编写程序多有不便。 自版本 V6 起又增加了 VB 脚本,它使用起来较为简单,而且入门很快。VBS 自身 的功能并不强,除了一些基本的函数和 WinCC 自身的对象(比如 .可修编 .-- HMIRuntime.Tags),剩下的功能全部都得通过组件进行扩展,比如我们很熟悉 的 Excel、fso、ws cript.shell 等等,通过这些组件使得 WinCC 访问 Windows 的接 口得以增加,但是访问 WinCC 底层东西却没