Visual C++ 6.0/2008 (Console)

<< 点击显示目录 >>

主页  PVI通信 > PVI帮助信息 > PVI实例 > PVICOM > PviVarList >

Visual C++ 6.0/2008 (Console)

PviVarList 编程实例显示了控制台应用程序(无窗口Windows应用程序)中的请求/响应过程。该程序是用C函数构建的。

变量信息使用控制台的标准输出设备(stdout)输出。

对于PVICOM 用户信息 使用的SET_PVIFUNCTION 类型  。

该编程实例包含以下文件。

File

描述

PviVarList.dsp,

PviVarList.dsw

Visual C++ 6.0的工作区和项目文件。(32位PVI)。

PviVarList.vcproj,

PviVarList.sln

Visual C++ 2008的解决方案和项目文件。(32和64位PVI)。

PviVarList.cpp,

PviVarList.h

这些文件包含定义和C函数。

附加文件用于保存程序资源,并由Visual Studio管理。

程序顺序。

1.进行PVI初始化,激活全局事件。

 

2.在  收到全局 POBJ_EVENT_PVI_ARRANGE 事件数据后  。

所有PVI对象(链接对象 和临时 进程对象)直到CPU对象都被创建。相应的请求通过 PviCreateRequest 函数发送到 PVI 管理器  。

 

3.一旦  收到步骤2中CPU对象的PviCreateResponse 响应数据。

使用 PviReadRequest 函数为读取所有全局 PLC 变量(POBJ_ACC_LIST_PVAR)和读取 CPU 对象上的 所有 PLC 任务(POBJ_ACC_LIST_TASK) 各发送一个请求 。

 

4.一旦  收到步骤3的PviReadResponse 响应数据任务列表。

对于列出的所有任务,使用 PviCreateRequest 函数创建相应的PVI任务对象  。

 

5.一旦  收到步骤4中任务对象的PviCreateResponse 响应数据。

使用 PviReadRequest 函数对相应任务对象的所有本地 PLC 变量(POBJ_ACC_LIST_PVAR)发送读取请求  。

 

6.一旦  收到步骤3或步骤5的PviReadResponse 响应数据变量列表。

对于列出的所有变量,使用 PviCreateRequest 函数创建相应的PVI变量对象  。

 

7.一旦  收到步骤6的变量对象的PviCreateResponse 响应数据。

使用 PviReadRequest 函数对相应变量对象的 所有变量信息(POBJ_ACC_TYPE_EXTERN) 发送一个读取请求

 

8.一旦  收到步骤7的PviReadResponse 响应数据变量信息。

对该变量信息进行解释并输出。

 

9.进行PVI去初始化。

所有不再需要的PVI对象被立即释放(PviUnlinkRequest 函数)。程序的结束是由一个计数器控制的。每一个配置的任务或变量对象都会增加该计数器。每一个被释放的任务或变量对象都会减少该计数器。如果计数器达到0,程序就结束了。

对于在PVI管理器中配置的每个任务或变量对象,在管理数据缓冲区(类型:T_PVIOBJ_CTRL)中创建一个例子。当 PVI 对象被释放时,该缓冲区也被释放。

用访问类型 POBJ_ACC_TYPE_EXTERN 提供的信息 指的是PLC变量(AR变量)。然而,过程图像(过程对象)中的数据格式可能与PLC变量不同(例如,由于结构的对齐方式不同)。访问类型 POBJ_ACC_TYPE或数据格式事件 POBJ_EVENT_DATAFORM 总是由过程图像中的数据格式提供。