linux 使用opc协议,基于OPC协议的上位机PLC通讯 (二) 异步回调部分

本文介绍了在Linux操作系统中,基于OPC协议的上位机与PLC进行异步通信的实现,详细讲解了COPCDataCallback类的回调方法,包括OnDataChange、OnReadComplete等,以及错误处理和品质值转换为字符信息的函数GetQualityText。
摘要由CSDN通过智能技术生成

//---------------------------------------------------------

// OPC Custom 2.0 Sample

// Asynchronous IO with MFC and ATL

// (c) Siemens AG 2000

//---------------------------------------------------------

//

// Callback.h : Declaration of callback class and definition of minor methods

//

#include "OPCRes.h"

class COPCDataCallback :public CComObjectRoot,public IOPCDataCallback

{

public:

COPCDataCallback() {};

BEGIN_COM_MAP(COPCDataCallback)

COM_INTERFACE_ENTRY(IOPCDataCallback)

END_COM_MAP()

// IOPCDataCallback

STDMETHODIMP  OnDataChange(

/* [in] */ DWORD dwTransid,

/* [in] */ OPCHANDLE hGroup,

/* [in] */ HRESULT hrMasterquality,

/* [in] */ HRESULT hrMastererror,

/* [in] */ DWORD dwCount,

/* [size_is][in] */ OPCHANDLE __RPC_FAR *phClientItems,

/* [size_is][in] */ VARIANT __RPC_FAR *pvValues,

/* [size_is][in] */ WORD __RPC_FAR *pwQualities,

/* [size_is][in] */ FILETIME __RPC_FAR *pftTimeStamps,

/* [size_is][in] */ HRESULT __RPC_FAR *pErrors);

STDMETHODIMP  OnReadComplete(

/* [in] */ DWORD dwTransid,

/* [in] */ OPCHANDLE hGroup,

/* [in] */ HRESULT hrMasterquality,

/* [in] */ HRESULT hrMastererror,

/* [in] */ DWORD dwCount,

/* [s

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值