VB获取WebAccess点值的方法 点击:162 | 回复:0



PLC酷客

    
  • [版主]
  • 精华:9帖
  • 求助:31帖
  • 帖子:1460帖 | 7990回
  • 年度积分:457
  • 历史总积分:59176
  • 注册:2004年7月13日
发表于:2013-09-18 14:17:22
楼主

VB获取WebAccess点值的方法

许多场合中,客户需要自己写程序来获取WebAccess的点值,常见的如编写VB程序、VC程序等。那么如何获取点值呢,本文介绍一种VB获取WebAccess点值的方法。

1.
新建VB工程,设计界面,此例中设计两个按钮,[ReadValue]按钮从WebAccess中读取点值到三个Lable中,[WriteValue]按钮则将三个文本框的数值写到WebAccess中:


2.
引入Viewdll.bas,用于与WebAccess数据交互。点击菜单栏中的[工程],在弹出的下拉菜单中选择[添加文件],打开添加文件窗口,如下图,在该窗口中选中Viewdll.bas。

3.
在程序初始化时,需要初始化viewdll并获取IO点对应ID,代码如下:
Private Sub Form_Load()

Dim lRet As Long

lRet = VdBroadWinKrlInit

If lRet <= 0 Then

Exit Sub

End If

Dim taglist(3) As String

taglist(0) = "Tag_01"

taglist(1) = "Tag_02"

taglist(2) = "Tag_03"

m_lGroup = VdBroadWinInitTagGroupClosed(taglist)

For i = 0 To 2

VdBroadWinGetId m_vTagID(i), taglist(i)

Next
End Sub
3.1
在调用任何viewdll函数之前,必须先调用VdBroadWinKrlInit;
3.2
将点名依次复制到一个字符串数组中;
3.3
调用VdBroadWinGetId,传入点名字符串数组,获取ID;

4.
ReadValue按钮读取点值,显示到Lable上,代码如下:
Private Sub CmdReadValue_Click()

Dim sValue As String

For i = 0 To 2

Dim lRet As Long


lRet = VdBroadWinGetValueText(m_vTagID(i), sValue, nAlarm)

If lRet <= 0 Then

Exit Sub

End If

LblValue(i) = sValue

Next
End Sub

其中,VdBroadWinGetValueText可以获取点值;

5.
WriteValue按钮将文本框的值写入到点值,代码如下:
Private Sub CmdWriteValue_Click()

For i = 0 To 2

VdBroadWinSetValueText m_vTagID(i), TxtValue(i)

Next
End Sub

其中,VdBroadWinSetValueText可以写入点值到WebAccess中;

6.
在程序结束时,需要释放viewdll资源,代码如下:
Private Sub Form_Terminate()
VdBroadWinFreeTagGroupClosed m_lGroup
VdBroadWinKrlFree
End Sub

 



楼主最近还看过


热门招聘
相关主题

官方公众号

智造工程师