【问题标题】:OPC items not getting created in server未在服务器中创建 OPC 项目
【发布时间】:2013-09-02 08:39:24
【问题描述】:

我正在尝试创建一个连接到 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);
        }

'''

【问题讨论】:

  • 你没有检查 AddItems 的错误(hr 和 pErrors 都没有),你怎么知道?
  • 你也应该看看CComPtrCComQIPtr,它们会让你的生活更轻松。您是否首先使用了一些 OPC 客户端(例如 matrikon explorer)来测试路径等?

标签: opc


【解决方案1】:

您是否为 Schnider OPC 工厂服务器配置了包含别名信息的符号表文件?如果您尝试添加未在服务器上配置的项目,您将收到错误(如果您检查它们)。如果你不检查错误,你不会看到任何事情发生。确保您的别名定义与您尝试添加的项目相匹配。

【讨论】:

  • 感谢您的回复。照你说的做后就可以了
【解决方案2】:

在 OPC Server 中创建项目有 3 种方法:

1.使用DLL

2.使用数据记录

3.使用C#、VB.NET编程

必须使用 Dll :(使用任何一个) 1.opcdaauto.dll 2.Kepware Technologies 的ClientAce 3.使用硬件OPC厂商提供的dll

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-17
    • 1970-01-01
    • 2011-07-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多