WinCC上可以很方便的编写VB脚本和C脚本.docxVIP

  • 19
  • 0
  • 约4.5千字
  • 约 8页
  • 2023-08-06 发布于上海
  • 举报

WinCC上可以很方便的编写VB脚本和C脚本.docx

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,效果如下: 希望对大家有点用处。 下面内容来自网络,感谢原文作者。 Vbs 操作wincc 画面脚本总结一: 不使用变量单纯的操作界面 操作某个画面中控件的属性 如 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 更改画面窗口的对象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 个字符。 用WinCC 读取VB 的数据的方法一(DDE) ? ? ? ? ? ? ? ? ?? VB6.0 中的步骤: 1、新建一个“标准 EXE”工程 2、设置窗体Form1 的 LinkMode 属性为 1 - Source, ? ?一定要设定为 1 3、在Form1 上添加一个文本框控件Text1,将其Text 属性设为text1 4、保存工程:工程名为VBDDE.vbp 5、生成VBDDE.exe WinCC 的步骤: 1、新建一单用户项目 2、在变量管理器中添加Windows DDE 驱动 3、在DDE 下新建连接NewConnection,在其属性对话框中: Computer Name:不设置 Application:VBDDE Topic:Form1(VB 中窗体名) 其它不作改动 4、在此连接下新建一有符号 16 位整型变量Tag1,在其地址选择框中: 条目名称:Text1 ? ? 窗体控件名称? 数据类型(Data Type):SWORD(要与变量类型一致) 5、新建一个画面:DDE_Test.Pdl 6、在画面中添加一个 IO 域:与 Tag1 动态连接,更新周期为:根据变化, 输出格式为s9999 7、保存画面联机调试: 1、先运行VBDDE.EXE(或者在VB 设计器中运行工程) 2、后激活WinCC 项目 3、此时IO 域值与Text1 值总是保持一致(无论你在哪一方改动) 用WinCC 读取VB 的数据的方法二 (OLE) VB 文 本 框 的 代 码 : private sub text1_change() ? ? Dim wincc As Object ? ? ? ? ? ? ? ? ? ?

文档评论(0)

1亿VIP精品文档

相关文档