簡體   English   中英

Interop.OpcAutomation.dll 無法連接到遠程 Opc 服務器。 錯誤:訪問被拒絕

[英]Interop.OpcAutomation.dll not able to connect to Remote Opc server. Error : Access Denied

我正在嘗試使用 C# 從客戶端連接遠程 OPC 服務器。 我從 OPC 基金會獲得了 Interop.OpcAutomation.dll,它與本地 opc 服務器配合得很好,但是當連接遠程 opc 服務器時,它以某種方式顯示拒絕訪問(HRESULT:0x80070005(E_ACCESSDENIED))。

這是代碼:

this._reqServer = new OPCServer();
this._reqServer.Connect("OPC.SimaticNET.1", "MachineName"); //Here it throws exception

所以這里我已經嘗試過:

  1. 在 MyComputerProperties 和 OPCEnum 中配置 DCOM 中的權限。
  2. 我檢查了第三方客戶端,例如 OpcQuickClient,它可以從同一客戶端訪問遠程 opc 服務器,這迫使我得出結論,服務器端的配置是可以的。

所以有人試圖制作一些可以訪問遠程opc服務器的C#客戶端,請告訴我還需要做什么??

在您的計算機上創建一個本地用戶,該用戶的用戶名和密碼與服務器上的用戶名和密碼相同。 右鍵單擊visual studio並使用該用戶運行。

+1 代表大使的回答。 我在兩個不同的連接網絡上有兩台服務器(Win Server 2016 服務器)。 一台服務器在域中,另一台是獨立的。 我在它們之間建立了 OPC-DA 連接。 讓它們連接的唯一方法(在設置所有 DCOM、OPCEnum 等並刪除防火牆之后,以相同的 Windows 用戶(每個服務器上的本地用戶)登錄兩台機器,然后將客戶端連接到服務器。

我的方法是將服務器訪問權限授予本地組,在服務器端創建一個用戶並將該用戶定義為我創建的本地組的成員。 在客戶端機器上創建相同的用戶后,我在服務器端使用相同的密碼。 調整所有 DCOM 權限,重新啟動並嘗試連接。 不要忘記,不要在任何地方使用 NAT。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM