C# WINFORM OPC

昨天用kepserver准备做PLC的通讯。C#中引用了OPC的Interop.OPCAutomation.dll文件。但是遇到了问题:

  KepServer = new OPCServer();

一直报错:检索 COM 类工厂中 CLSID 为 {28E68F9A-8D75-11D1-8DC3-3C302A000000} 的组件失败,原因是出现以下错误: 80040154 没有注册类 (异常来自 HRESULT:0x80040154 (REGDB_E_CLASSNOTREG))。

昨天找了好久,弄了好久,因为感冒了脑子不转,没弄出来。早上继续查资料,结合昨天的经历,知道了问题所在。解决方法现总结如下:

1、电脑64位。安装完kepserver之后,opc的大部分dll都在C:\Windows\SysWOW64下面。需要以下几个dll文件:

  1. OPCDAAuto.dll
  2. opc_aeps.dll
  3. OpcCmdPs.dll
  4. opcdaauto.dll
  5. opcproxy.dll

2、在C:\Windows\SysWOW64下面,找到cmd.exe,右键“以管理员身份运行”,必须得用管理员,不然还会报错。

3、在打开的cmd窗口里,输入REGSVR32 OPCDAAuto.dll,等等,即可。如下:

Microsoft Windows [版本 10.0.17134.829](c) 2018 Microsoft Corporation。保留所有权利。

C:\WINDOWS\system32>REGSVR32 OPCDAAuto.dll

C:\WINDOWS\system32>REGSVR32 opc_aeps.dll

C:\WINDOWS\system32>REGSVR32 OpcCmdPs.dll

C:\WINDOWS\system32>REGSVR32 opcdaauto.dll

C:\WINDOWS\system32>REGSVR32 opcproxy.dll

C:\WINDOWS\system32>

然后就不再报错了,各位切记,64位电脑,调用cmd.exe要在C:\Windows\SysWOW64下面找啊,昨天捣了一天。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值