我无法连接到OPC服务器

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

对我来说,这是第一次使用OPC UA。我大步前进,我下载了OPCDAAuto.dll库,我重新注册了它,我复制了一些Codo来对其进行测试,但是我会犯错误。我尝试了其他方法,但得到了相同的结果。

我的代码,使用OPDAAuto.dll是:

 public partial class Form1 : Form
{
    OPCServer ObjOPCServer;
    OPCGroups ObjOPCGroups;
    OPCGroup ObjOPCGroup;
    string OPCServerName;

    public Form1()
    {
        try
        {
            InitializeComponent();
            OPCServerName = "opc.tcp://co15:62841/TVM_CNC_NY16006/uaPLUS";
            ObjOPCServer = new OPCServer(); //error appears at this point (*)
            ObjOPCServer.Connect(OPCServerName, "");
            ObjOPCGroups = ObjOPCServer.OPCGroups;
            ObjOPCGroup = ObjOPCGroups.Add("OPCGroup1");
            ObjOPCGroup.DataChange += new DIOPCGroupEvent_DataChangeEventHandler(ObjOPCGroup_DataChange);
            ObjOPCGroup.OPCItems.AddItem("{tag name or address (like {plc name on server}!%mw0)}", 1);
            ObjOPCGroup.UpdateRate = 10;
            ObjOPCGroup.IsActive = true;
            ObjOPCGroup.IsSubscribed = true;
        }
        catch (Exception e)
        {
            MessageBox.Show(e.ToString());
        }
    }

此时出现错误:ObjOPCServer = new OPCServer(); (*):

System.Runtime.InteropServices.COMException(0x800d0154):由于以下错误,无法为具有CLSID {序列号}的组件恢复COM类工厂:80040154 {REGDB_E_CLASSNOTREG}

有人可以帮助我吗?请

c# opc opc-ua industrial
1个回答
0
投票

基于您输入OPCServerName的URL,以及您在简介中所写的内容,您正在尝试连接到OPC UA服务器。

但是您正在使用的库用于OPC“经典”数据访问。它不能用于连接到OPC UA服务器。

您需要其他库。有一些免费的库(例如OPC Foundation形式的UA-.NETStandard存储库https://github.com/OPCFoundation/UA-.NETStandard)或一些商业库(例如QuickOPC的https://www.opclabs.com/products/quickopc/languages-and-tools/csharp)。免责声明:我是QuickOPC的作者。

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