Visual C++ 6.0/2008 (Console)

<< 点击显示目录 >>

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

Visual C++ 6.0/2008 (Console)

PviSimpleCon 编程实例显示了在一个简单的控制台应用程序(无窗口的Windows应用程序)中读取变量数据。该程序是用C函数构建的。

变量数据和变量对象的状态以及CPU对象的状态(CPU连接状态)通过控制台的标准输出设备(stdout)输出。

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

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

File

描述

PviSimpleCon.dsp,

PviSimpleCon.dsw

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

PviSimpleCon.vcproj,

PviSimpleCon.sln

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

PviSimpleCon.cpp,

PviSimpleCon.h

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

额外的文件用于保存程序资源,并由Visual Studio管理。

编程实例的核心部分是类型为T_PVIOBJ_CONFIG的配置表g_PviObjList。 该表包含所有使用的PVI对象的名称和参数。

下面的函数作为例子:

Function

Description

main

1. PVI initialization:

PviInitialize 函数被调用时,客户端实例被注册,与PVI管理器建立连接。全局事件 POBJ_EVENT_PVI_ARRANGEPOBJ_EVENT_PVI_DISCONN 被激活,以表明连接状态。

2. Central program loop:

每次 调用PVICOM PviGetNextResponse 函数时,都会读取下一条 PVI 用户信息。如果没有找到用户信息,在wParam中返回值0。有了有效的用户信息,用户参数IParam和hMsg也被读取。用户参数IParam是一个指向对象条目(Typ T_PVIOBJ_CONFIG)的指针。用户参数hMsg在这个编程例子中被用作一个函数指针。该函数指针决定了任务或事件的信息传递函数。

3. PVI deinitialization:

PviDeinitialize 函数被调用时,客户端实例被删除。与PVI管理器的连接被终止,所有 链接对象 和临时 进程对象 被启用。

OnPviArrangeEvent

这个消息传递函数用于全局事件 POBJ_EVENT_PVI_ARRANGE

示例程序的 所有 链接对象 和临时 进程对象 是使用异步函数 PviCreateRequest 创建的 。

OnPviCreateResponse

这个消息传递函数用于响应请求函数 PviCreateRequest

用户参数IParam是一个指向对象条目(Typ T_PVIOBJ_CONFIG)的指针。响应数据中报告的错误意味着在PVI管理器中无法创建对象(例如,无效的对象名称,对象描述中的语法错误,等等)。

OnPviDisconnEvent

这个消息传递函数用于全局事件 POBJ_EVENT_PVI_DISCONN

PVI连接的错误状态会在控制台窗口输出。

OnPviDataEvent

这个消息传递函数用于错误状态或所有创建的PVI对象的数据。

用户参数IParam是一个指向对象条目的指针(Typ T_PVIOBJ_CONFIG)。变量数据以32位整数格式提供(格式在配置中定义)。CPU或变量对象或变量数据的错误状态将显示在控制台窗口中。

如果没有为链接对象指定数据格式(与本例不同),变量数据将以PLC变量的格式提供。如果PLC变量的格式发生变化,必须对应用程序进行相应调整。应用程序总是可以使用 POBJ_EVENT_DATAFORM 数据格式事件来获得关于当前数据格式的信息。