- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1
S7-200 OPC C++读写PC Access服务器
操作系统:Windows 7旗舰版
开发工具:VS2010?
开发语言:MFC
描述:对S7-200的VD100-VD220的31个双字寄存器进行写;
头文件:OPCComm.h
#pragma once
#include StdAfx.h
const LPWSTR g_szItemID[31] = {L2, VD100, real, L2, VD104, real, L2, VD108, real, L2, VD112, real, L2, VD116, real,
L2, VD120, real, L2, VD124, real, L2, VD128, real, L2, VD132, real, L2, VD136, real,?
L2, VD140, real, L2, VD144, real, L2, VD148, real, L2, VD152, real, L2, VD156, real,?
L2, VD160, real, L2, VD164, real, L2, VD168, real, L2, VD172, real, L2, VD176, real,//VD164?
L2, VD180, real, L2, VD184, real, L2, VD188, real, L2, VD192, real, L2, VD196, real,?
L2, VD200, real, L2, VD204, real, L2, VD208, real, L2, VD212, real, L2, VD216, real,?
L2, VD220, real};
class COPCComm
{
public:
COPCComm(void);
~COPCComm(void);
public:
DWORD m_dwAdvise;
OPCITEMDEF m_Items[31];
VARIANT m_ItemValues[31];
? ? LPWSTR m_ItemID[31];
OPCITEMATTRIBUTES *m_pItAttr;
IUnknown* m_pUnknown;
IOPCServer* m_IOPCServer;
IOPCItemMgt* m_IOPCItemMgt;
IOPCSyncIO* m_pOPCSync;
IOPCGroupStateMgt* m_IOPCGroupStateMgt;
IOPCAsyncIO2* m_IOPCAsyncIO2;
OPCITEMRESULT* m_ItemResult;
HRESULT* m_pErrors;
OPCHANDLE m_GrpSrvHandle;
MULTI_QI m_arrMultiQI[6];
DWORD m_TransactionID;?
OPCITEMDEF* m_pItems;
OPCITEMSTATE* bdg;
public:
bool ConnectSrv(void);
bool Disconnect(void);
bool AddGroup(void);
bool AddItem(DWORD NumItems);
bool Write(DWORD NumItems);
bool RemoveGroup(void);
bool RemovItem(DWORD NumItems);
float Read(DWORD NumItems);
};
源文件:OPCComm.cpp
#include StdAfx.h
#include OPCComm.h
COPCComm::COPCComm(void)
{
int i;
m_pItAttr = new OPCITEMATTRIBUTES[31];
for(i = 0; i 31; i++)
{
m_pItAttr[i].szItemID = L;
m_pItAttr[i].szAccessPath = L;
m_pItAttr[i].hClient = 0;
m_pItAttr[i].hServer = 0;
m_pItAttr[i].dwAccessRights = -1;
m_pItAttr[i].bActive = FALSE;
}
m_IOPCServer = NULL;
m_IOPCItemMgt = NULL;
}
COPCComm::~COPCComm(void)
{
if(m_pItAttr != NULL)
{
delete[] m_pIt
文档评论(0)