PviSimple 编程实例显示了在一个简单的MFC(Microsoft Foundation Classes)应用程序中读取变量数据。
源代码是为Unicode(2字节的字符)准备的。随之而来的项目文件被预设为1字节的字符。
该编程实例包含以下文件。
File |
描述 |
PviSimple.dsp, PviSimple.dsw |
Visual C++ 6.0的工作区和项目文件。(32位PVI)。 |
PviSimple.vcproj, PviSimple.sln |
Visual C++ 2008的解决方案和项目文件。(32和64位PVI)。 |
PviSimple.cpp, PviSimple.h |
类CPviSimpleApp(Windows应用程序对象)。 |
PviSimpleDlg.cpp, PviSimpleDlg.h |
类CPviSimpleDlg。 样品程序中的对话框对象。所有的PVI通信都是通过这个对象进行的。 |
附加文件用于保存程序资源或作为AFX接口,并由Visual Studio管理。
如果用Visual C++ 2008打开示例项目(解决方案文件PviSimple.sln),并对其进行修改和再次保存,以后可能无法用Visual C++ 6.0打开(工作区文件PviSimple.dsw)或生成它。因此,建议在开始之前先备份原件。
本编程范例的核心部分是类型为T_PVIOBJ_CONFIG的配置表g_PviObjList,该表包含所有使用的PVI对象的名称和参数以及与之相连的对话框。可视化是由表中的条目控制的。
下面的成员函数可以作为例子。
Function |
描述 |
CPviSimpleDlg::OnInitDialog |
这个消息传递函数在对话框初始化时被运行。 进行PVI初始化。当 PviInitialize 函数被调用时,客户端实例被注册,建立与PVI管理器的连接。全局事件 POBJ_EVENT_PVI_ARRANGE 和 POBJ_EVENT_PVI_DISCONN 被激活,以表明连接状态。 |
CPviSimpleDlg::OnClose |
这个消息传递功能在主对话框关闭时运行。 进行PVI去初始化。当 PviDeinitialize 函数被调用时,客户端实例被删除。与PVI管理器的连接被终止,所有 链接对象 和临时 进程对象 被启用。 |
CPviSimpleDlg::OnPviArrangeEvent |
这个消息传递函数被用作 全局事件 POBJ_EVENT_PVI_ARRANGE的PVI 用户消息。 使用异步函数 PviCreateRequest 创建示例程序的 所有 链接对象 和临时 进程对象。配置表中相应对象条目的指针包含在PVI 用户消息的用户参数 中。 |
CPviSimpleDlg::OnPviCreateResponse |
这个消息传递函数被用作PVI 用户消息 ,用于响应请求函数 PviCreateRequest。 用户参数IParam是指向对象条目(Typ T_PVIOBJ_CONFIG)的指针。响应数据中报告的错误意味着在PVI管理器中无法创建该对象(例如,无效的对象名称,对象描述中的语法错误,等等)。在这种情况下,错误会显示在各自变量的文本字段中。 |
CPviSimpleDlg::OnPviDisconnEvent |
这个消息传递功能被用作 全局事件 POBJ_EVENT_PVI_DISCONN的PVI 用户消息。 PVI连接的错误状态会显示在所有配置的文本字段中。 |
CPviSimpleDlg::OnPviDataEvent |
这个消息传递函数被用作PVI 用户消息 ,用于错误状态或所有创建的PVI对象的数据。 用户参数IParam是一个指向对象条目的指针(Typ T_PVIOBJ_CONFIG)。错误状态或变量数据显示在文本字段中。变量数据以字符串格式提供(格式在配置中定义)。 如果没有为链接对象指定数据格式(与本例不同),变量数据将以PLC变量的格式提供。如果PLC变量的格式发生变化,必须对应用程序进行相应调整。应用程序总是可以使用 POBJ_EVENT_DATAFORM 数据格式事件来获得关于当前数据格式的信息。 |