龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > VB开发 >

VB 在远程管网数据传输中的应用[组图](3)

时间:2009-12-30 15:42来源:未知 作者:admin 点击:
分享到:
接收数据: Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) Winsock1.GetData Tdata() 二、VB与上位机INTOUCH的通信 动态数据交换(简称 DDE)是一种开放的、与语言无关

  接收数据:

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)

Winsock1.GetData Tdata()

  二、VB与上位机INTOUCH的通信

   动态数据交换(简称 DDE)是一种开放的、与语言无关的、基于消息的协议,它是应用程序通过共享内存进行进程间通信的一种形式。服务器程序与客户程序之间的数据交换被称做为一个“会话”,其中客户程序是初始化链接和发送数据请求的应用程序,而服务器程序则是通过执行自身的命令或发送数据来响应客户程序的应用程序。DDE协议将控制通信对象划分为应用程序名(Application)、主题名(Topic)和项目名(Item)。每次 DDE会话 由应用程序名和主题名唯一确定。客户应用程序可以通过 DDE协议和服务器应用程序的一个或多个项目建立数据链接。

   在本例的DDE通信中VB应用程序为客户端,INTOUCH为服务器端。在VB里设置如下:

  数据的LinkTopic项属性 设置  服务器名应用程序名|主题名,本例为: serverview|tagname

  LinkItem项属性 设置为 INTOUCH中的标记名

  LinkTimeout连接等待时间 50

  Linkmode(连接模式)1

   最后在程序中调用LINKPOKE 即可完成数据的传送。

  具体程序代码如下(仅选取一个测压点为例):

Private Sub Command9_Click()

On Error GoTo ec

Winsock8.Close

Winsock8.LocalPort = 14571

Winsock8.Listen

Dim i As Integer

For i = 0 To 1

ctcy(i).LinkMode = 0

ctcy(i).LinkMode = 1

ctcy(i).Caption = 0

Next i

Exit Sub

ec:

精彩图集

赞助商链接