導航:首頁 > 配伺服器 > os如何訪問es的opc伺服器

os如何訪問es的opc伺服器

發布時間:2022-05-01 19:46:42

① 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伺服器

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

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

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

④ OPC客戶端如何與服務端遠程通訊,在同一區域網內,沒開防火牆

首先聲明變數,這樣才能觸發事件(DataChange)來獲取實時數據。連接不同的OPC伺服器只要改變其伺服器名稱和OPC伺服器所在的計算機名稱即可。

⑤ opc伺服器是什麼是硬體還是軟體啊!!麻煩知道的內行幫忙解釋解釋~~

opc既不是硬體也不是軟體。OPC是一種通訊規范,OPC基金會組織規定的一套規范,按照這個規范去把程序寫出來,包括一個OPC伺服器程序和一個OPC客戶端程序,只要是按規范寫的,不管是誰寫的,就能保證OPC伺服器能被OPC客戶端訪問。

opc伺服器向下可以讀取設備的數據,比如PLC、DCS等等,但這部分OPC規范是不管的,只要廠家用任意介面任意方法把設備數據讀到就OK,然後OPC伺服器程序把這些讀到的數據按規范要求開放在網路上,其他任意OPC客戶端程序,可以遠程瀏覽這些數據,並選擇讀取這些數據中需要的。

(5)os如何訪問es的opc伺服器擴展閱讀

OPC的工作原理

OPC以OLE/COM機製作為應用程序的通信標准,而OLE/COM是一種客戶端/伺服器模式,具有語言無關性、代碼重用性、易於集成性等優點。

OPC伺服器中的代碼確定了伺服器所存取的設備和數據、數據項的命名規則和伺服器存取數據的細節,不管現場設備以何種形式存在,客戶都以統一的方式去訪問,從而保證軟體對客戶的透明性,使得用戶完全從低層的開發中脫離出來。

客戶應用程序僅須使用標准介面和伺服器通信,而並不需要知道底層的實現細節。通過OPC伺服器,OPC客戶既可以直接讀寫物理VO設備的數據,也可操作SCADA,DCS等系統的埠變數(只要該系統提供OPC服務)。

⑥ opc伺服器設置(關鍵詞 wincc opc DCOM)win7 64位旗艦版,對DCOM進行設置

摘要 親,解決方法是使用 64 位版本的 DCOMCNFG。 運行 64 位版本的 mmc.exe,並運行以下命令行載入 64 位版本的組件服務管理單元。

⑦ 工業觸摸屏怎麼訪問OPC伺服器

觸摸屏訪問PC上的OPC伺服器或者組態軟體可以走Modbus RTU或者Modbus TCP協議,可以使用上海迅饒自動化科技有公司的OPCBridge軟體。這個軟體已經把OPC伺服器轉成Modbus伺服器了。
一般的觸摸屏,不管哪個品牌都支持Modbus協議的。沒有網口就走Modbus RTU,有網口則走Modbus TCP協議比較快。

⑧ 手機怎麼訪問OPC伺服器

是可以的,只要在PC上安裝上海迅饒自動化科技有限公司的OPCBridge.exe軟體。要是有什麼不清楚的地方,可以Q我:(1302198481)

OPCBridge.exe軟體主要用來解決遠程訪問OPC伺服器遇到的DCOM配置問題(遠程OPC缺點:通訊不穩定,DCOM配置麻煩,不利於維護)。在OPC伺服器運行的電腦上安裝OPCBridge.exe軟體後,通過此軟體讀取OPC伺服器並轉換成Modbus Server,這樣其它電腦僅僅通過訪問Modbus Server,就可以實現監視和控制(讀寫OPC Server)。另外此軟體內嵌一個WEB伺服器,可以用瀏覽器(IE,Chrome,火狐、Opera和蘋果等等)去瀏覽Item,並且控制。

閱讀全文

與os如何訪問es的opc伺服器相關的資料

熱點內容
java表驅動 瀏覽:324
如何編輯網站源碼 瀏覽:971
吉利遠景壓縮機不工作 瀏覽:477
程序員最高端的學校 瀏覽:921
三星手機如何開啟app推送 瀏覽:391
淘寶視頻壓縮軟體 瀏覽:559
隱藏軟體加密的密碼怎麼改 瀏覽:998
ug100數控編程坐標系設定 瀏覽:404
布林線玩法源碼 瀏覽:479
如何將功能玩法載入到伺服器 瀏覽:609
戴爾伺服器業務口怎麼登錄 瀏覽:187
grublinux參數 瀏覽:452
杭州電腦雲控系統源碼 瀏覽:424
水仙防紅源碼 瀏覽:493
wifi顯示連接加密不可上網 瀏覽:220
汽車安卓大屏怎麼改主題 瀏覽:402
木工空氣壓縮機圖片 瀏覽:606
php標簽過濾 瀏覽:292
單片機紅外電平捕捉信號 瀏覽:238
什麼app清除ram好 瀏覽:252