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下面找啊,昨天搗了一天。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章