Vb与组态王双向通讯
本文由李彦操编写并实验通过
要点:
组态王得到vb的数据:
  1、vb的工程名=组态王DDE设备的服务程序名  =vbking
  2、vb的Form的linkTopic属性=组态王DDE设备的话题名    ==form1
  3、vb窗体的linkmode=1              ==对
  4、vb中lable的名字=组态王-定义变量-项目名
  5、vb中lable的其他属性不用管
  6、 组态王DDE设备的连接对象名是在组态王内部用的名字=组态王-定义变量-连接设备
  7、vb窗体的名字无所谓,不用管
1:VB准备:
  ①启动VB并建立如图1所示文件:
  ②代码中写入:
    Private Sub Command1_Click()
      If Command1.Caption = "开始" Then
        Command1.Caption = "暂停"
      Text2.LinkMode = 1
      ElseIf Command1.Caption = "暂停" Then
        Command1.Caption = "开始"
        Text2.LinkMode = 0
      End If
    End Sub
  Private Sub Form_Load()
    Text2.LinkTopic = "view|tagname"
    Text2.LinkItem = "plc.STATIC100"
  End Sub
  Private Sub Text1_Change()
    dl.Text = Text1.Text
  End Sub
  ③然后设置VB窗体form1属性
        Lingmode=1
        Linktopic=form1
  ④设置工程属性:可单击VB中工程,然后在点击最下面的工程属性。再单击生成
把标题设置为vbking(用于组态王获取VB数据)
  ⑤VB设计完成,单击文件--生成文件
2:组态王准备:
①建立组态王工程,具体方法省略
②建立DDE连接,如图
  双击上图新建,弹出的对话框中
点击下一步,要求输入连接对象名,这个名字作为组态王内部使用的,在定义变量时使用,与VB设置没有联系,此处设置为vb,再单击下一步
设置服务程序名,此处对应于VB工程属性中的生成---应用程序--标题
设置话题名,此处对应于VB窗体的linktopic属性:form1.
设置数据交换方式为标准的Windows项目交换。
单击下一步
单击完成,OK,DDE设备定义完成。
③建立仿真PLC设备连接:
  双击组态王----设备----新建
 
在PLC中选择最下面的
然后下一步。输入逻辑名称:plc。然后下一步,设置串口,设置为COM1(这里应该随意),继续下一步,设置地址,输入1
单击下一步----(此处设置通讯参数,直接默认就可)下一步----完成。OK,方针PLC设置完毕。
④定义变量。
  单击数据库---数据词典---新建。设置两个变量:
  1:用于组态王获取VB数据的变量。如图
2:用于VB获取组态王数据的变量
⑤设置画面:
vb开始按钮代码
  点击文件---画面--新建,设置新画面名称为显示
 
双击上面的##,弹出的对话框中,单击模拟值输出,在弹出的对话框中设置表达式为\\本站点\电流\。
双击下面的##,弹出的对话框中模拟值输出设置同上,表达式设置为:\\本站点\控制1\
模拟值输入变量名设置为:\\本站点\控制1\
全部存,然后关闭画面。
点击系统配置---设置运行系统,弹出的对话框中切换到主画面配置,点击“显示“画面,然后确定。OK,全部搞定
3:运行试验。
①组态王接收VB:
先打开第一步生成的VB执行程序,然后再打开组态王。再VB输入数据那输入55,可以发现VB的传输到组态王的数据那显示55,切换到组态王,发现组态王得到数据那显示55