⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dasvrsdk.bas

📁 OPC 开发工具包2.0 OPC工具包是用来简化OPC规范服务器开发的工具包
💻 BAS
字号:
Attribute VB_Name = "DASVRSDK"
Option Explicit

Global Const ClsID = "{2528E841-0DD3-4A5C-B425-D18910D47D1F}"
Global Const ProgID = "OPC.ASVBDEMO.1"
Global Const Description = "Agilewill co.ltd"

Global Const OPC_STATUS_RUNNING = 1
Global Const OPC_STATUS_FAILED = OPC_STATUS_RUNNING + 1
Global Const OPC_STATUS_NOCONFIG = OPC_STATUS_FAILED + 1
Global Const OPC_STATUS_SUSPENDED = OPC_STATUS_NOCONFIG + 1
Global Const OPC_STATUS_TEST = OPC_STATUS_SUSPENDED + 1

''''''''''''''''''''''''''''''''''''''''''''''''''''
'函数名称:  CreateServer
'功能    :  创建OPC服务器
'参数说明:  pClass  类标识  必须是一个合法的GUID
'          ServerRate 服务器标签刷新速率
''''''''''''''''''''''''''''''''''''''''''''''''''''
Public Declare Function CreateServer Lib "ASOPCDA.DLL" (ByVal pClass As String, ByVal ServerRate As Long) As Long

''''''''''''''''''''''''''''''''''''''''''''''''''''
'函数名称:  FreeServer
'功能    :  释放OPC服务器
''''''''''''''''''''''''''''''''''''''''''''''''''''
Public Declare Function FreeServer Lib "ASOPCDA.DLL" () As Long

''''''''''''''''''''''''''''''''''''''''''''''''''''
'函数名称:  ActiveCode
'功能    :  用户名/序列号激活服务器
''''''''''''''''''''''''''''''''''''''''''''''''''''
Public Declare Function ActiveCode Lib "ASOPCDA.DLL" (ByVal lpName As String, ByVal lpCode As String) As Long


''''''''''''''''''''''''''''''''''''''''''''''''''''
'函数名称:  ShutDown
'功能    : 强行断开所有客户端连接
''''''''''''''''''''''''''''''''''''''''''''''''''''
Public Declare Sub Shutdown Lib "ASOPCDA.DLL" Alias "ShutDown" ()


''''''''''''''''''''''''''''''''''''''''''''''''''''
'函数名称:  SetServerState
'功能    :  设置服务器运行状态
'参数说明:   State  服务器运行状态 见OPC_STATUS常量声明
''''''''''''''''''''''''''''''''''''''''''''''''''''
Public Declare Function SetServerState Lib "ASOPCDA.DLL" (ByVal State As Integer) As Long

''''''''''''''''''''''''''''''''''''''''''''''''''''
'函数名称:  SetServerInfo
'功能    :  设置服务器版本信息
'参数说明:   VendorInfo  厂商名称
'           wMajor      主版本号
'           wMinor      副版本号
'           wBuild      编译版本号
''''''''''''''''''''''''''''''''''''''''''''''''''''
Public Declare Function SetServerInfo Lib "ASOPCDA.DLL" (ByVal VendorInfo As String, ByVal wMajor As Integer, ByVal wMinor As Integer, ByVal wBuild As Integer) As Long

''''''''''''''''''''''''''''''''''''''''''''''''''''
'函数名称:  RegServer
'功能    :  注册服务器
'参数说明:   pClass      类标识  必须是一个合法的GUID
'           Name        应用程序标识
'           Descr       服务器注册说明
'           ExePath     服务器可执行文件的路径
''''''''''''''''''''''''''''''''''''''''''''''''''''
Public Declare Function RegServer Lib "ASOPCDA.DLL" (ByVal pClass As String, ByVal Name As String, ByVal Descr As String, ByVal ExePath As String) As Long

''''''''''''''''''''''''''''''''''''''''''''''''''''
'函数名称:  UnregServer
'功能    :  注销服务器
'参数说明:  pClass      类标识  必须是一个合法的GUID
'           Name         应用程序标识
''''''''''''''''''''''''''''''''''''''''''''''''
Public Declare Function UnregServer Lib "ASOPCDA.DLL" (ByVal pClass As String, ByVal Name As String) As Long

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'函数名称:  RegTagEx
'功能    :  向服务器地址空间增加标签
'参数说明:  Handle          上级标签句柄(用于树型地址空间,如果平面型地址空间值为0)
'           Name            标签名称
'           DataType        标签数据类型
'           IsWriteable     标签可写标志  true - 可以写入  false - 只读
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Public Declare Function RegTagEx Lib "ASOPCDA.DLL" (ByVal Handle As Long, ByVal Name As String, ByVal DataType As Integer, ByVal AccessRight As Integer) As Long

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'函数名称:  RegTag
'功能    :  向服务器地址空间增加标签
'参数说明:  Handle          上级标签句柄(用于树型地址空间,如果平面型地址空间值为0)
'           Name            标签名称
'           Value           初始化标签值
'           InitialQuality  初始化标签值质量
'           IsWriteable     标签可写标志  true - 可以写入  false - 只读
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Public Declare Function RegTag Lib "ASOPCDA.DLL" (ByVal Handle As Long, ByVal Name As String, ByVal Value As Variant, ByVal InitialQuality As Integer, ByVal AccessRight As Integer) As Long

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'函数名称:  UnregTag
'功能    :  从服务器地址空间删除标签
'参数说明:   Handle        标签句柄
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Public Declare Function UnregTag Lib "ASOPCDA.DLL" (ByVal Handle As Long) As Long

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'函数名称:  AddTagProperty
'功能    :  增加标签属性
'参数说明:  TagHandle        标签句柄
'           PropertyID      属性索引
'           Description     标签属性说明
'           Value           属性值
'返回值:   如果成功,返回标签的句柄,失败返回-1
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Public Declare Function AddTagProperty Lib "ASOPCDA.DLL" (ByVal Handle As Long, ByVal PropertyID As Long, ByVal Description As String, ByVal Value As Variant) As Long

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'函数名称:  AddTagProperty
'功能    :  增加标签属性
'参数说明:  TagHandle        标签句柄
'           PropertyID      属性索引
'           Description     标签属性说明
'           DataType        属性数据类型
'返回值:   如果成功,返回标签的句柄,失败返回-1
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Public Declare Function AddTagPropertyEx Lib "ASOPCDA.DLL" (ByVal Handle As Long, ByVal PropertyID As Long, ByVal Description As String, ByVal DataType As Integer) As Long

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'函数名称:  SetTagProperty
'功能    :  设置标签属性
'参数说明:  TagHandle        标签句柄
'           PropertyID      属性索引
'           Description     标签属性说明
'           Value           属性值
'返回值:   如果成功,返回标签的句柄,失败返回-1
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Public Declare Function SetTagProperty Lib "ASOPCDA.DLL" (ByVal Handle As Long, ByVal PropertyID As Long, ByVal Value As Variant) As Long

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'函数名称:  SetTagQualifier
'功能    :  设置树型地址空间标签的分隔符
'参数说明:  Qualifier       标签分隔符
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Public Declare Function SetTagQualifier Lib "ASOPCDA.DLL" (ByVal Qualifier As String) As Long

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'函数名称:  UpdateTagWithTimeStamp
'功能    :  更新服务器地址空间标签数据
'参数说明:   Handle        标签句柄
'           Value           标签值
'           Quality         标签值质量
'           timestamp       标签值时间
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Public Declare Function UpdateTagWithTimeStamp Lib "ASOPCDA.DLL" (ByVal Handle As Long, ByVal Value As Variant, ByVal Quality As Integer, ByVal timestamp As FILETIME) As Long

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'函数名称:  UpdateTag
'功能    :  更新服务器地址空间标签数据
'参数说明:  Handle        标签句柄
'           Value           标签值
'           Quality         标签值质量
'标签时间按照服务器时间设置
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Public Declare Function UpdateTag Lib "ASOPCDA.DLL" (ByVal Handle As Long, ByVal Value As Variant, ByVal Quality As Integer) As Long
    
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'函数名称:  SetWriteCallBack
'功能    :  设置服务器写数据回调函数
'参数说明:  lpCallback      写回调函数指针
'           格式 WriteTag(ByVal Handle As Long, ByVal pNewValue As Variant, ByRef pDeviceError As Integer)
'               Handle:标签句柄
'               pNewValue:值
'               pDeviceError: 写入成功标志
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Public Declare Function SetWriteCallback Lib "ASOPCDA.DLL" (ByVal lpCallback As Long) As Long

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'函数名称:  SetWriteCallBackEx
'功能    :  设置服务器写数据回调函数
'参数说明:  lpCallback      写回调函数指针
'           格式 WriteTag(ByVal Handle As Long, Byval PropID as long, ByVal pNewValue As Variant, ByRef pDeviceError As Integer)
'               Handle:标签句柄
'               PropID:  属性编号
'               pNewValue:值
'               pDeviceError: 写入成功标志
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Public Declare Function SetWriteCallbackEx Lib "ASOPCDA.DLL" (ByVal lpCallback As Long) As Long

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'函数名称:  SetReadCallBack
'功能    :  设置服务器读数据回调函数
'参数说明:  lpCallback      读回调函数指针
'           格式 ReadTag(ByVal Handle As Long, ByRef pNewValue As Variant, ByRef pQuality as Integer, byRef Timestamp as FILETIME)
'               Handle:标签句柄
'               pNewValue:值
'               pQuality :质量
'               Timestamp:时间戳
                
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Public Declare Function SetReadCallback Lib "ASOPCDA.DLL" (ByVal lpCallback As Long) As Long

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'函数名称:  SetReadCallBackEx
'功能    :  设置服务器读数据回调函数
'参数说明:  lpCallback      读回调函数指针
'           格式 ReadTag(ByVal Handle As Long, Byval PropID as Long, ByRef pNewValue As Variant, ByRef pQuality as Integer, byRef Timestamp as FILETIME)
'               Handle:标签句柄
'               PropID:  属性编号
'               pNewValue:值
'               pQuality :质量
'               Timestamp:时间戳
                
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Public Declare Function SetReadCallbackEx Lib "ASOPCDA.DLL" (ByVal lpCallback As Long) As Long

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'函数名称:  SetServerNotify
'功能    :  设置服务器实例建立、删除回调函数
'参数说明:  lpCallback      写防范回调函数指针
'           格式 ServerNotify(hServer as Long, wOperateType as Integer)
'                hServer - 服务器句柄
'                wOperateType:0-建立连接   1-断开连接
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Public Declare Function SetServerNotify Lib "ASOPCDA.DLL" (ByVal lpCallback As Long) As Long

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'函数名称:  SetGroupNotify
'功能    :  设置组操作回调函数
'参数说明:  lpCallback      组操作回调函数指针
'           格式 GroupNotify(hServer as Long, hGroup As Long, Name as string, wOperateType as Integer)
'                hServer:服务器句柄
'                hGroup:组句柄
'                Name:组名称
'                wOperateType:0-建立组   1-删除组
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Public Declare Function SetGroupNotify Lib "ASOPCDA.DLL" (ByVal lpCallback As Long) As Long

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'函数名称:  SetItemNotify
'功能    :  设置OPC标签映射增加、映射激活和映射删除回调函数
'参数说明:  lpCallback      标签映射操作调函数指针
'           格式 ItemNotify(hServer as Long, hGroup As Long, hTag as Long, Active as Long, wOperateType as Integer)
'                hServer:服务器句柄
'                hGroup:组句柄
'                hTag:标签句柄
'                Active:激活标志
'                wOperateType:0-映射标签   1-删除映射    2-激活/取消
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Public Declare Function SetItemNotify Lib "ASOPCDA.DLL" (ByVal lpCallback As Long) As Long

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'函数名称:  SetTagNotify
'功能    :  设置客户端增加服务器地址空间中不存在的标签时调用函数
'参数说明:  lpCallback      写防范回调函数指针
'           格式 TagNotify(hTag as Long, name as string, path as string; ByRef pError as long )
'                hTag:服务器句柄
'                name:标签名称
'                path:访问路径
'                pError: 错误标志   0-成功   1-失败
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Public Declare Function SetTagNotify Lib "ASOPCDA.DLL" (ByVal lpCallback As Long) As Long

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'函数名称:  SetLogNotify
'功能    :  设置服务器工具包输出信息回调函数
'参数说明:  lpCallback      写防范回调函数指针
'           格式 LogNotify(msg as string)
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Public Declare Function SetLogNotify Lib "ASOPCDA.DLL" (ByVal lpCallback As Long) As Long

    

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -