當前位置:首頁 » 密碼管理 » 遠程訪問opc

遠程訪問opc

發布時間: 2023-05-21 04:22:02

⑴ 使用Matrikon連接遠程OPC伺服器報錯,是什麼原因

樓主你這種問題是因為 在 MatrikonOPC Explorer 添加組時默認的純盯是非同步傳輸,非同步傳輸建立組時, 客戶端向服務端發起組建立申請後,服務端馬上會反向建立一個埠是135的連接。
你這個報錯是Could not establish data callback connection on group 因為客戶端的DCOM沒有配置好,相信你用MatrikonOPC Explorer 添加組是選用同步傳輸模式,就不會報錯,我也是OPC小白,最近剛研究,你的問題我也遇做友和到過,表述的也不好,大概就是這個意思
------------------------------------------------------
過去3年多了,早就不搞OPC了。發現還陸續有人咨詢,最後我的環境定位原因是 兩台電腦的計算機名一樣。 因為使用的虛擬環境,告叢測試機都是直接克隆過來的。 當計算機名相同時不能非同步通信,改名就正常了

⑵ ifix opc開放給其他opc遠程訪問,怎麼做

1、安裝ifix 在服務端計算機、客戶端計算機安裝ifix
2、配置Dcom 需要配置opc 伺服器端的opc,具體配置可網路,有很多,起始主要是開放幾個許可權;
3、配置計算機密碼,xp的話最好要配置一樣的用戶名密碼;
4、先用客戶端網上鄰居訪問一次服務端,輸入好用戶名密碼,
5、啟動伺服器端的ifix,測試的話可以在伺服器端建立幾個內部變數,
6、啟動客戶端的opc client進行數據讀取測試,opcclinet可以是任意支持opc的組態軟體或者vb程序或者可以用kepware、wincc opc等進行測試,測試的時候選擇網路的伺服器的計算機然後選擇這個伺服器上的ifix 的opc server程序
7、瀏覽數據,
關鍵點是配置dcom和設置統一的用戶名密碼;win2000的話opc,不需要設置一樣的用戶名密碼,因為2000的安全機制要低,xp的話最好設置一樣的用戶名密碼,不然很可能通訊有問題,設置一樣的用戶名密碼是最簡單的過程。

⑶ 新人求助,OPC遠程連接拒絕訪問

opc通訊需要配亂蘆胡置dcom,
確認一下dcom是否調通。嘩亂
而報的錯誤大概是192.168.0.5這嘩攔台機器上根本沒有opc服務或組件。

⑷ 組態王OPC遠程連接問題

重新安裝組態王。另外dcom沒配置完全。你按照組態王的dcom配置說明書做。

⑸ 如何配置遠程運行的OPC伺服器

主要軟體版本: 7.1 主要軟體修正版本:次要軟體: N/A 解答: 如果你正在通過DataSocket,使用opc的網頁地址(URL)連接一個鎮租虛OPC伺服器並且得到拒絕訪問的錯誤的話,你可以使用windows應用工具,dcomcnfg.exe將OPC伺服器配置成為遠程運行模式。如果你使用dcomcnfg.exe並選擇了一個遠程伺服器的話,該伺服器只能在本地計算機或者遠程的計算機上運行一個版本。你不能在多御燃台計型銷算機上運行同樣的伺服器。 如果你正在通過DataSocket,使用opc的網頁地址(URL)連接一個OPC伺服器,可以按照以下的步驟完成OPC伺服器的配置。 1. 查找並運行dcomcnfg.exe。 2. 單擊「應用」標簽。 3. 從列表中選擇OPC伺服器。 4. 單擊屬性按鈕調出屬性對話框。 5. 單擊「位置」標簽。 6. 取消「在本機運行應用程序」復選框的選擇,同時選擇「在以下的計算機上運行應用程序」的復選框。 7. 輸入遠程計算機名或者單擊」瀏覽」按鈕,選擇你的遠程計算機。 8. 單擊「確定」按鈕。 9. 單擊「默認屬性」標簽,設置以下選項。 1. 選擇「在本機上使能DCOM功能」。 2. 設置「默認的簽證等級」為連接。 3. 設置「默認的身份模擬等級」為識別。 10. 單擊「默認安全」標簽。 11. 單擊「編輯默認」按鈕。確保你想要運行OPC伺服器的計算機允許你的計算機的訪問。這對於遠程計算機訪問你的計算機上的DSC模塊以存儲OPC數值,是十分必要的。 12. 單擊「確定」按鈕。

⑹ opc客戶端如何遠程訪問opc伺服器的c#代碼

public void ListAll(Guid catid, out OpcServers[] serverslist)
{
serverslist = null;
Dispose();
Guid guid = new Guid("13486D51-4821-11D2-A494-3CB306C10000");
Type typeoflist = Type.GetTypeFromCLSID(guid);
OPCListObj = Activator.CreateInstance(typeoflist);
ifList = (IOPCServerList)OPCListObj;
if (ifList == null)
Marshal.ThrowExceptionForHR(HRESULTS.E_ABORT);

ifList.EnumClassesOfCategories(1, ref catid, 0, ref catid, out EnumObj);
if (EnumObj == null)
Marshal.ThrowExceptionForHR(HRESULTS.E_ABORT);

ifEnum = (IEnumGUID)EnumObj;
if (ifEnum == null)
Marshal.ThrowExceptionForHR(HRESULTS.E_ABORT);

int maxcount = 300;
IntPtr ptrGuid = Marshal.AllocCoTaskMem(maxcount * 16);
int count = 0;
ifEnum.Next(maxcount, ptrGuid, out count);
if (count < 1)
{ Marshal.FreeCoTaskMem(ptrGuid); return; }

serverslist = new OpcServers[count];

byte[] guidbin = new byte[16];
int runGuid = (int)ptrGuid;
for (int i = 0; i < count; i++)
{
serverslist[i] = new OpcServers();
Marshal.Copy((IntPtr)runGuid, guidbin, 0, 16);
serverslist[i].ClsID = new Guid(guidbin);
ifList.GetClassDetails(ref serverslist[i].ClsID,
out serverslist[i].ProgID, out serverslist[i].ServerName);
runGuid += 16;
}

Marshal.FreeCoTaskMem(ptrGuid);
Dispose();
}

⑺ 如何通過代碼連接遠程OPC伺服器

第62行的代碼,DCOM既然是遠程伺服器,那它就應該是可以運行在另外一台機器上,然後被其他機器的客戶端所使用。所以C++的客戶端代碼里,你可以通過編程的方式指定伺服器的名稱,但是對於C#來說,因為連接到DCOM伺服器並激活COM對象的操作是由CLR完成的,沒有辦法在代碼里指定。不過不用著急,指定DCOM伺服器還有另外一個方式,就是修改注冊表的鍵值,告訴本機的COM運行庫,伺服器在另外一台機器上,請把下面的鍵值添加到客戶端機器的注冊表裡:

HKEY_CLASSES_ROOT\APPID\{5e9ddec7-5767-11cf-beab-00aa006c3606}\RemoteServerName=<機器名>

下面的是我的代碼
public void ListAll(Guid catid, out OpcServers[] serverslist)
{
serverslist = null;
Dispose();
Guid guid = new Guid("13486D51-4821-11D2-A494-3CB306C10000");
Type typeoflist = Type.GetTypeFromCLSID(guid);
OPCListObj = Activator.CreateInstance(typeoflist);
ifList = (IOPCServerList)OPCListObj;
if (ifList == null)
Marshal.ThrowExceptionForHR(HRESULTS.E_ABORT);

ifList.EnumClassesOfCategories(1, ref catid, 0, ref catid, out EnumObj);
if (EnumObj == null)
Marshal.ThrowExceptionForHR(HRESULTS.E_ABORT);

ifEnum = (IEnumGUID)EnumObj;
if (ifEnum == null)
Marshal.ThrowExceptionForHR(HRESULTS.E_ABORT);

int maxcount = 300;
IntPtr ptrGuid = Marshal.AllocCoTaskMem(maxcount * 16);
int count = 0;
ifEnum.Next(maxcount, ptrGuid, out count);
if (count < 1)
{ Marshal.FreeCoTaskMem(ptrGuid); return; }

serverslist = new OpcServers[count];

byte[] guidbin = new byte[16];
int runGuid = (int)ptrGuid;
for (int i = 0; i < count; i++)
{
serverslist[i] = new OpcServers();
Marshal.Copy((IntPtr)runGuid, guidbin, 0, 16);
serverslist[i].ClsID = new Guid(guidbin);
ifList.GetClassDetails(ref serverslist[i].ClsID,
out serverslist[i].ProgID, out serverslist[i].ServerName);
runGuid += 16;
}

Marshal.FreeCoTaskMem(ptrGuid);
Dispose();
}

用此代碼連接本地OPC伺服器是沒有問題的,但是通過上面對注冊表的編輯,將伺服器換成遠程伺服器,就不能訪問,代碼運行起來還是連接的是本地OPC伺服器。請教各位我該如何設置才能連接遠程OPC伺服器

⑻ 通過jeasyopc連接opc,本地可以,遠程無法連接

opc 分為ua和da兩種。遠程又分為局域鎮斗唯網內和外網。
da遠御培程訪問依賴銷衫於dcom。只能訪問區域網內的opc伺服器。
ua可以外網訪問。

⑼ 緊急求助:Simatic Net 做遠程OPC伺服器問題

不同系統間通過遠程桌面登陸的用戶和在本機上登陸的同一賬戶的權尺圓限迅消是不一樣的,所以可能出現能瀏覽計算機及OPCServer,但不能連接OPCServer,陵昌塌要把OPCServer的DCOM中的配置的改為Interactive的啟動方式。

熱點內容
ios資料庫遷移 發布:2025-02-08 07:00:16 瀏覽:849
安卓sdl是什麼 發布:2025-02-08 07:00:05 瀏覽:906
離線腳本怎麼寫 發布:2025-02-08 06:59:22 瀏覽:831
java學習價錢 發布:2025-02-08 06:58:39 瀏覽:955
如何用伺服器提交ms作業 發布:2025-02-08 06:58:03 瀏覽:158
c語言的列印函數 發布:2025-02-08 06:43:54 瀏覽:788
海康威視區域網訪問 發布:2025-02-08 06:41:16 瀏覽:966
html5移動端源碼下載 發布:2025-02-08 06:20:45 瀏覽:150
外網訪問黑群暉 發布:2025-02-08 05:45:59 瀏覽:562
中央存儲伺服器公司地址 發布:2025-02-08 05:38:48 瀏覽:822