當前位置:首頁 » 雲伺服器 » 如何通過opc與伺服器對接

如何通過opc與伺服器對接

發布時間: 2022-12-18 17:47:06

① opc客戶端與伺服器建立連接

伺服器的話要看,如果是client-server結構的DCS,伺服器位於上位和控制器之間,他將你的指令和現場數據通過伺服器來經過交換,伺服器一般是冗餘配置,如果是並行結構來說沒有所謂伺服器的概念,只有個工程師站,程序的下裝通過工程師站,但是數據的獲取和指令的下達通過操作員站就行,這個好處就是當工程師站壞了的話操作員站可以正常工作
OPC伺服器的作用是通過OPC協議將DCS的數據取出,並開放,一般一個OPC伺服器下面連接一個或多個客戶端,客戶端通過安裝相應的軟體(也支持OPC協議),來取得DCS的協議

② wincc如何通過opc與外部設備連接

通過 OPC scout實現。
是從opc server中獲得相關plc數據,用於監控指定的數據 ,是專門針對西門子PLC的OPC伺服器。
當然也可以用其他的OPC伺服器,在OPC伺服器上載入相關的驅動,連接即可。
然後在wincc的變數連接里,添加OPC連接,就可以看到你OPC伺服器上發布的變數了。
需要注意的是:OPC伺服器連接相關的設備是需要這些設備的OPC驅動的。

③ opc伺服器和客戶端如何連接,通訊

伺服器的話要看,如果是client-server結構的DCS,伺服器位於上位和控制器之間,他將你的指令和現場數據通過伺服器來經過交換,伺服器一般是冗餘配置,如果是並行結構來說沒有所謂伺服器的概念,只有個工程師站,程序的下裝通過工程師站,但是數據的獲取和指令的下達通過操作員站就行,這個好處就是當工程師站壞了的話操作員站可以正常工作
OPC伺服器的作用是通過OPC協議將DCS的數據取出,並開放,一般一個OPC伺服器下面連接一個或多個客戶端,客戶端通過安裝相應的軟體(也支持OPC協議),來取得DCS的協議

樂拾薌逸盆然朵邢瀏曄鏈特磊楓待謹璀楷塘丞彰

④ C#如何連接西門子Wincc的OPC伺服器

1. 可在安裝Wincc的主機上配置西門子的虛擬主機,並在虛擬主機內配置OPC-Server 及通訊卡,可以是CP5611 系列,或普通乙太網卡,2.使s7-300配置通訊卡與計算機相連3.在WinCC 內的驅動程序中添加OPC驅動程序這樣便可實現s7-300與wincc通過opc方式連接

⑤ 如何通過代碼連接遠程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伺服器

⑥ 如何配置遠程運行的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. 單擊「確定」按鈕。

熱點內容
linux分區表查看 發布:2025-03-16 21:20:17 瀏覽:643
java多個if 發布:2025-03-16 21:15:46 瀏覽:694
可樂存儲 發布:2025-03-16 21:15:07 瀏覽:871
ios遷移安卓用什麼助手 發布:2025-03-16 20:12:42 瀏覽:720
python異常值處理 發布:2025-03-16 20:12:42 瀏覽:581
POtn編程 發布:2025-03-16 20:06:11 瀏覽:776
競彩資金怎麼配置 發布:2025-03-16 20:01:57 瀏覽:10
在終端中打開編譯環境 發布:2025-03-16 19:57:34 瀏覽:601
sqlserver安裝資料庫 發布:2025-03-16 19:57:01 瀏覽:36
如何關掉廣告推送安卓 發布:2025-03-16 19:43:32 瀏覽:959