未在服务器中创建OPC项

问题描述 投票:1回答:2

我正在尝试创建一个连接到ofs opc服务器的opc客户端。

客户端代码如下。

此代码在服务器中成功创建了一个组,但是没有创建任何项目,并且没有错误。

    hr = CoCreateInstance(clsid, NULL, CLSCTX_ALL, IID_IUnknown, (LPVOID*)&pUnkn);

    if(SUCCEEDED(hr))
    {
        hr = pUnkn->QueryInterface(IID_IOPCServer, (LPVOID*)&m_pOpcServer);
        hr = pUnkn->QueryInterface(IID_IOPCBrowseServerAddressSpace,       (LPVOID*)&m_pOpcBrowse);   
        hr = m_pOpcServer->QueryInterface(IID_IConnectionPointContainer, (void**)&pCPC);

        OPCHANDLE hClientGroup = 0;
        DWORD dwUpdateRate = 0;
        hr = m_pOpcServer->AddGroup(L"Group1", true, dwUpdateRate, hClientGroup, 0,0, 0, &hClientGroup, &dwUpdateRate, IID_IOPCGroupStateMgt, (IUnknown**)&pInterface);


        OPCITEMDEF idef[1] = {{ /*szAccessPath*/ L"",
                                /*szItemID*/ ITEM_ID,
                                /*bActive*/ FALSE,
                                /*hClient*/ 1,
                                /*dwBlobSize*/ 0,
                                /*pBlob*/ NULL,
                                /*vtRequestedDataType*/ VT,
                                /*wReserved*/0
                             }};

        hr=0;
        hr = pInterface->QueryInterface(IID_IOPCItemMgt,  reinterpret_cast<LPVOID*>(&ptrItMgm));
        if(SUCCEEDED(hr))
        {
            hr = ptrItMgm->AddItems(1, idef, &pResults, &pErrors);
        }

'''

opc
2个回答
1
投票

您是否为Schnider OPC Factory Server配置了带有别名信息的符号表文件?如果您尝试添加未在服务器上配置的项目,则会收到错误消息(如果要检查的话)。如果您不检查错误,则不会发生任何事情。确保您的别名定义与您要添加的项目匹配。


0
投票

有3种在OPC服务器中创建项目的方法:

1。使用莳萝

2。使用数据记录

3。在C#,VB.NET中使用编程

必须使用Dll :(使用任何一个)1.opcdaauto.dll2.来自Kepware Technologies的ClientAce3.使用由硬件OPC供应商提供的dll

请提供OPC服务器名称。我将为您提供详细的解决方案。

© www.soinside.com 2019 - 2024. All rights reserved.