资源简介
OPC客户端应用程序的C++实现;在Visual C++或C++BUILDER环境中实现OPC客户应用程序,首先必须从OPC国际基金会官方网站下载OPC头文件("opcda_i.c"、"opcda.h" 、"opccomn_i.c"、"opccomn.h"),并在Visual C++工程的“Tool”→“Options”→“Directories”加载头文件。

代码片段和文件信息
//**************************************************************************
//
// Copyright (c) FactorySoft INC. 1996-1998 All Rights Reserved
//
//**************************************************************************
//
// Filename : ConnectionPoint.cpp
// $Author : Jim Hansen
//
// Description: Callback class for OPC Data Access 2.0
//
//
//**************************************************************************
#include “stdafx.h“
#include “IAdvsink.h“
//#include “ConnectionPoint.h“
#include “OPCClientDoc.h“
CComModule _Module; // just needed to keep ATL happy
extern OPCClientDoc* theDoc;
//**************************************************************************
// Called by the server at the update rate when data changes
STDMETHODIMP OPCCallback::OnDataChange(
DWORD Transid
OPCHANDLE grphandle
HRESULT masterquality
HRESULT mastererror
DWORD count
OPCHANDLE * clienthandles
VARIANT * values
WORD * quality
FILETIME * time
HRESULT * errors)
{
// If Transid != 0 this is a refresh
for( DWORD index=0; index {
if( SUCCEEDED(errors[index]) )
{
Item* pItem = (Item*)clienthandles[index];
if( pItem )
{
pItem->value = values[index];
pItem->quality = quality[index];
pItem->timestamp = time[index];
}
}
}
PostMessage(theDoc->data_hwnd WM_DATACHANGE 0 0);
return S_OK;
}
//**************************************************************************
// Called by the server to complete an ASyncIO2::Read
STDMETHODIMP OPCCallback::OnReadComplete(
DWORD Transid
OPCHANDLE grphandle
HRESULT masterquality
HRESULT mastererror
DWORD count
OPCHANDLE * clienthandles
VARIANT * values
WORD * quality
FILETIME * time
HRESULT * errors)
{
ASSERT( Transid == 3 ); // test only
for( DWORD index=0; index {
if( SUCCEEDED(errors[index]) )
{
Item* pItem = (Item*)clienthandles[index];
if( pItem )
{
pItem->value = values[index];
pItem->quality = quality[index];
pItem->timestamp = time[index];
}
}
}
PostMessage(theDoc->data_hwnd WM_DATACHANGE 0 0);
return S_OK;
}
//**************************************************************************
// Called by the server to complete an ASyncIO2::Write
STDMETHODIMP OPCCallback::OnWriteComplete(
DWORD Transid
OPCHANDLE grphandle
HRESULT mastererr
DWORD count
OPCHANDLE * clienthandles
HRESULT * errors)
{
ASSERT( Transid == 2 ); // test only
for( DWORD index=0; index {
if( FAILED(errors[index]) )
{
Item* pItem = (Item*)clienthandles[index];
PostMessage(theDoc->data_
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3645 2006-03-22 10:40 OPC+Client\OPC Client源码,可以同时连接多个本地或远程Server\CUS_OPCClient\ConnectionPoint.cpp
文件 2413 2005-01-14 14:28 OPC+Client\OPC Client源码,可以同时连接多个本地或远程Server\CUS_OPCClient\ConnectionPoint.h
文件 50584 2011-09-29 11:25 OPC+Client\OPC Client源码,可以同时连接多个本地或远程Server\CUS_OPCClient\CUS_OPCClient.aps
文件 7989 2011-10-05 05:20 OPC+Client\OPC Client源码,可以同时连接多个本地或远程Server\CUS_OPCClient\CUS_OPCClient.clw
文件 5283 2006-03-29 11:56 OPC+Client\OPC Client源码,可以同时连接多个本地或远程Server\CUS_OPCClient\CUS_OPCClient.cpp
文件 6418 2006-04-09 19:48 OPC+Client\OPC Client源码,可以同时连接多个本地或远程Server\CUS_OPCClient\CUS_OPCClient.dsp
文件 549 2006-03-21 10:00 OPC+Client\OPC Client源码,可以同时连接多个本地或远程Server\CUS_OPCClient\CUS_OPCClient.dsw
文件 1438 2006-03-22 21:38 OPC+Client\OPC Client源码,可以同时连接多个本地或远程Server\CUS_OPCClient\CUS_OPCClient.h
文件 361472 2011-10-05 10:37 OPC+Client\OPC Client源码,可以同时连接多个本地或远程Server\CUS_OPCClient\CUS_OPCClient.ncb
文件 188928 2011-10-05 10:37 OPC+Client\OPC Client源码,可以同时连接多个本地或远程Server\CUS_OPCClient\CUS_OPCClient.opt
文件 921 2011-10-05 02:39 OPC+Client\OPC Client源码,可以同时连接多个本地或远程Server\CUS_OPCClient\CUS_OPCClient.plg
文件 21296 2006-04-10 08:55 OPC+Client\OPC Client源码,可以同时连接多个本地或远程Server\CUS_OPCClient\CUS_OPCClient.rc
文件 262310 2011-10-04 22:24 OPC+Client\OPC Client源码,可以同时连接多个本地或远程Server\CUS_OPCClient\Debug\CMX_OPCClient.exe
文件 747448 2011-10-04 22:24 OPC+Client\OPC Client源码,可以同时连接多个本地或远程Server\CUS_OPCClient\Debug\CMX_OPCClient.ilk
文件 12758 2011-10-04 22:24 OPC+Client\OPC Client源码,可以同时连接多个本地或远程Server\CUS_OPCClient\Debug\ConnectionPoint.obj
文件 0 2011-10-05 02:39 OPC+Client\OPC Client源码,可以同时连接多个本地或远程Server\CUS_OPCClient\Debug\ConnectionPoint.sbr
文件 3769344 2011-10-05 02:39 OPC+Client\OPC Client源码,可以同时连接多个本地或远程Server\CUS_OPCClient\Debug\CUS_OPCClient.bsc
文件 29577 2011-10-04 22:24 OPC+Client\OPC Client源码,可以同时连接多个本地或远程Server\CUS_OPCClient\Debug\CUS_OPCClient.obj
文件 8600668 2011-10-04 22:24 OPC+Client\OPC Client源码,可以同时连接多个本地或远程Server\CUS_OPCClient\Debug\CUS_OPCClient.pch
文件 1238016 2011-10-04 22:24 OPC+Client\OPC Client源码,可以同时连接多个本地或远程Server\CUS_OPCClient\Debug\CUS_OPCClient.pdb
文件 23720 2011-10-04 22:24 OPC+Client\OPC Client源码,可以同时连接多个本地或远程Server\CUS_OPCClient\Debug\CUS_OPCClient.res
文件 0 2011-10-05 02:39 OPC+Client\OPC Client源码,可以同时连接多个本地或远程Server\CUS_OPCClient\Debug\CUS_OPCClient.sbr
文件 14572 2011-10-04 22:24 OPC+Client\OPC Client源码,可以同时连接多个本地或远程Server\CUS_OPCClient\Debug\GroupDialog.obj
文件 0 2011-10-05 02:39 OPC+Client\OPC Client源码,可以同时连接多个本地或远程Server\CUS_OPCClient\Debug\GroupDialog.sbr
文件 18115 2011-10-04 22:24 OPC+Client\OPC Client源码,可以同时连接多个本地或远程Server\CUS_OPCClient\Debug\IAdvsink.obj
文件 0 2011-10-05 02:39 OPC+Client\OPC Client源码,可以同时连接多个本地或远程Server\CUS_OPCClient\Debug\IAdvsink.sbr
文件 80677 2011-10-04 22:24 OPC+Client\OPC Client源码,可以同时连接多个本地或远程Server\CUS_OPCClient\Debug\ItemDialog.obj
文件 0 2011-10-05 02:39 OPC+Client\OPC Client源码,可以同时连接多个本地或远程Server\CUS_OPCClient\Debug\ItemDialog.sbr
文件 16438 2011-10-04 22:24 OPC+Client\OPC Client源码,可以同时连接多个本地或远程Server\CUS_OPCClient\Debug\ItemPropertiesDialog.obj
文件 0 2011-10-05 02:39 OPC+Client\OPC Client源码,可以同时连接多个本地或远程Server\CUS_OPCClient\Debug\ItemPropertiesDialog.sbr
............此处省略94个文件信息
- 上一篇:遥感图像拉伸代码
- 下一篇:车辆管理系统课程设计C++)
相关资源
- C++中头文件与源文件的作用详解
- C++多线程网络编程Socket
- VC++ 多线程文件读写操作
- 利用C++哈希表的方法实现电话号码查
- 移木块游戏,可以自编自玩,vc6.0编写
- C++纯文字DOS超小RPG游戏
- VC++MFC小游戏实例教程(实例)+MFC类库
- 连铸温度场计算程序(C++)
- 6自由度机器人运动学正反解C++程序
- Em算法(使用C++编写)
- libstdc++-4.4.7-4.el6.i686.rpm
- VC++实现CMD命令执行与获得返回信息
- 白话C++(全)
- C++标准库第1、2
- 大数类c++大数类
- C++语言编写串口调试助手
- c++素数筛选法
- C++ mqtt 用法
- 商品库存管理系统 C++ MFC
- c++ 多功能计算器
- C++17 In Detail
- 嵌入式QtC++编程课件
- 颜色识别形状识别STM103嵌入式代码
- c++ 邮件多附件群发
- c++ 透明代理(hookproxy)
- mfc 调用redis
- FTP客户端源码(c++)
- c++ 画图(14Qt-XPS)
- c++多边形交并差运算
- VC++基于OpenGL模拟的一个3维空间模型
评论
共有 条评论