当前位置:首页 » 密码管理 » 远程访问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的启动方式。

热点内容
书本编译是什么意思 发布:2025-02-08 04:45:56 浏览:951
淘宝密码账号在哪里看 发布:2025-02-08 04:29:39 浏览:536
描绘四季的美文写一份朗读脚本 发布:2025-02-08 04:29:21 浏览:138
金蝶软件服务器是电脑吗 发布:2025-02-08 04:27:06 浏览:973
linux如何搭建c编译环境 发布:2025-02-08 04:24:49 浏览:819
ps脚本批量处理切图 发布:2025-02-08 04:19:03 浏览:57
iisftp命令 发布:2025-02-08 04:04:39 浏览:455
安卓为什么软件老更新 发布:2025-02-08 03:53:40 浏览:735
算法实际应用 发布:2025-02-08 03:53:07 浏览:535
c语言加密文本 发布:2025-02-08 03:47:50 浏览:681