opc服务器和客户端如何连接,通讯
服务器的话要看,如果是client-server结构的DCS,服务器位于上位和控制器之间,他将你的指令和现场数据通过服务器来经过交换,服务器一般是冗余配置,如果是并行结构来说没有所谓服务器的概念,只有个工程师站,程序的下装通过工程师站,但是数据的获取和指令的下达通过操作员站就行,这个好处就是当工程师站坏了的话操作员站可以正常工作
OPC服务器的作用是通过OPC协议将DCS的数据取出,并开放,一般一个OPC服务器下面连接一个或多个客户端,客户端通过安装相应的软件(也支持OPC协议),来取得DCS的协议
乐拾芗逸盆然朵邢浏晔链特磊枫待谨璀楷塘丞彰
public void ListAll(Guid catid, out OpcServers[] serverslist)
{
serverslist = null;
Dispose();
Guid guid = new Guid("13486D51-4821-11D2-A494-3CB306C10000");
Type typeoflist = TypeGetTypeFromCLSID(guid);
OPCListObj = ActivatorCreateInstance(typeoflist);
ifList = (IOPCServerList)OPCListObj;
if (ifList == null)
MarshalThrowExceptionForHR(HRESULTSE_ABORT);
ifListEnumClassesOfCategories(1, ref catid, 0, ref catid, out EnumObj);
if (EnumObj == null)
MarshalThrowExceptionForHR(HRESULTSE_ABORT);
ifEnum = (IEnumGUID)EnumObj;
if (ifEnum == null)
MarshalThrowExceptionForHR(HRESULTSE_ABORT);
int maxcount = 300;
IntPtr ptrGuid = MarshalAllocCoTaskMem(maxcount 16);
int count = 0;
ifEnumNext(maxcount, ptrGuid, out count);
if (count < 1)
{ MarshalFreeCoTaskMem(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();
MarshalCopy((IntPtr)runGuid, guidbin, 0, 16);
serverslist[i]ClsID = new Guid(guidbin);
ifListGetClassDetails(ref serverslist[i]ClsID,
out serverslist[i]ProgID, out serverslist[i]ServerName);
runGuid += 16;
}
MarshalFreeCoTaskMem(ptrGuid);
Dispose();
}
是可以的,只要在PC上安装上海迅饶自动化科技有限公司的OPCBridgeexe软件。要是有什么不清楚的地方,可以Q我:(1302198481)
OPCBridgeexe软件主要用来解决远程访问OPC服务器遇到的DCOM配置问题(远程OPC缺点:通讯不稳定,DCOM配置麻烦,不利于维护)。在OPC服务器运行的电脑上安装OPCBridgeexe软件后,通过此软件读取OPC服务器并转换成Modbus Server,这样其它电脑仅仅通过访问Modbus Server,就可以实现监视和控制(读写OPC Server)。另外此软件内嵌一个WEB服务器,可以用浏览器(IE,Chrome,火狐、Opera和苹果等等)去浏览Item,并且控制。
服务器的话要看,如果是client-server结构的DCS,服务器位于上位和控制器之间,他将你的指令和现场数据通过服务器来经过交换,服务器一般是冗余配置,如果是并行结构来说没有所谓服务器的概念,只有个工程师站,程序的下装通过工程师站,但是数据的获取和指令的下达通过操作员站就行,这个好处就是当工程师站坏了的话操作员站可以正常工作
OPC服务器的作用是通过OPC协议将DCS的数据取出,并开放,一般一个OPC服务器下面连接一个或多个客户端,客户端通过安装相应的软件(也支持OPC协议),来取得DCS的协议
0条评论