PVICOM 机制
说明: 基于 VC/VB 的 PVI 通讯,需要掌握 PVI help/PVI base system/PVICOM interface 这一章内容
PVICOM interface
•PVICOM 接口(客户接口)建立了对 PVI 的最低层的访问。这代表了 "最紧凑的",而且就性能而言, 是“最理想“的 PVI 接口。PVICOM 接口也被所有其他基于 Windows 的 PVI 组件所使(PVI OPC、PVI DDE、PVI 服务等)。
•通过 PVICOM 接口的通信是由 PVI 通信库 "PviCom.dll"(32 位版本)或 "PviCom64.dll"(64 位版本)中的功能处理的。PVI 通信库是一个基于 Windows 的标准 DLL(动态链接库)。如果应用程序使用DLL 的函数,那么 DLL 必须按该函数说明的那样准确调用,或将静态库 "PviCom.lib "或 "PviCom64.dll "捆绑到程序中(隐式加载)。此过程可以在各自的编程手册中找到。
PVICOM函数
具体请查看此处
Function |
说明 |
初始化PVICOM接口并建立PVICOM通信实例。 |
|
结束与PVI管理器的通信连接并释放PVICOM通信实例 |
|
为PVICOM通信实例的一个全局事件指定一个用户信息。 |
|
要求用一个链接对象来设置一个静态进程对象或一个临时进程对象 |
|
从PviCreateRequest指令中读取一个响应。通过这个响应,一个ID被传递给应用程序中的链接对象。 |
|
PviCreateRequest/PviCreateResponse功能的同步变体 |
|
删除一个(静态)进程对象的请求 |
|
读取一个PviDeleteRequest响应 |
|
PviDeleteRequest / PviDeleteResponse功能的同步变体 |
|
请求设置一个链接对象 |
|
读取一个PviDeleteRequest响应。通过这个响应,一个ID被传递给应用程序中的链接对象。 |
|
PviLinkRequest / PviLinkResponse功能的同步变体 |
|
请求释放一个链接对象 |
|
读取一个PviUnlinkRequest响应 |
|
PviUnlinkRequest / PviUnlinkResponse功能的同步变体 |
|
请求改变事件数据的用户信息 |
|
读取一个PviChgLinkRequest响应 |
|
PviChgLinkRequest / PviChgLinkResponse功能的同步变体 |
|
释放所有被指定为用户消息的某个Windows句柄或回调指针的链接对象 |
|
请求对一个现有的PVI对象进行读取访问。读取访问的类型是由访问类型决定的。 |
|
请求对一个现有的PVI对象进行带参数数据的读取访问。读取访问的类型是由访问类型决定的。 |
|
读取一个PviReadRequest或PviReadArgumentRequest响应或PVICOM事件的事件数据 |
|
PviReadArgumentRequest / PviReadResponse功能的同步变体 |
|
请求对一个现有的PVI对象进行写入访问。写入访问的类型是由访问类型决定的。 |
|
读取一个PviWriteRequest响应 |
|
读取一个带有结果数据的PviWriteRequest响应 |
|
PviWriteRequest/PviWriteResponse功能的同步变体 |
|
读取关于响应或事件数据的信息 |
|
读取下一个响应或事件数据的用户信息(仅针对PVIFUNCTION用户信息)。 |
|
读取PVICOM的版本字符串 |
Application 与 Pvi Manager 之间 Client/Server 机制
VC/VB 应用程序是一个 Windows 程序(Application Instance), 是这个关系的 Client 端;
Pvi Manager 是另一个 Windows 程序, 是这个关系的 Server 端. 二者通过消息来传递数据. 交互的过程如下:
•
WPARAM 参数和 LPARAM 参数
•WPARAM 是 PVI manager 发来的缓冲区地址;
•LPARAM 是对应某 PVI Object 的事件名;