问题标签 [opc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
9787 浏览

c# - C# OPC 客户端无法获取服务器列表

在我的新 Windows 8 64 位机器上编译我的 C# 后,在我的 OPC 客户端应用程序中获取可用服务器列表时,我开始收到以下错误。

“OpcNetApi.Com 无法将类型为“System.__ComObject”的 COM 对象转换为接口类型“OpcRcw.Comn.IOPCServerList2”。此操作失败,因为对具有 IID 的接口的 COM 组件调用 QueryInterface '{9DD0B56C-AD9E-43EE -8305-487F3188BF7A}' 由于以下错误而失败:未注册类(来自 HRESULT 的异常:0x80040154 (REGDB_E_CLASSNOTREG))。”

可能是什么原因?

0 投票
2 回答
926 浏览

c# - 为什么我收到错误“无法将'OpcCom.Factory'类型的对象转换为'Opc.IFactory'类型。”?

我正在使用带有 Visual Studio 2012 的 OPC Foundation .NET API。当我尝试连接时,我收到此错误:

无法将“OpcCom.Factory”类型的对象转换为“Opc.IFactory”类型

...在new Opc.Da.Server(此代码中的指令:

0 投票
5 回答
28740 浏览

.net - OPC 新手指南:如何编写 C# Hello World 客户端?

这是我的情况:

我们有一个用于监控太阳能发电厂的软件。我必须引入 OPC 作为一种从物理设备本身获取数据的新方法,所以这就是我最终尝试了解 OPC 的原因,到目前为止,这令人沮丧。

我已经安装了 Matrikon 模拟器并使用 Matrikon explorer 我可以看到正在模拟数据。我现在需要的是创建一个非常基本的概念证明,我可以连接到它并使用 C# 打印一些东西。据我了解,我必须使用一些专有的 API/SDK。我只是在测试东西,所以我现在不想承诺以专有的方式做事。创建 OPC 不是为了完全避免这种情况吗?

是否有一个简单的开源 DLL 可用于连接到 OPC 服务器,支持 DA、HDA 和 AE,让我无需担心供应商/sdks 的工作?

更令人困惑的是,我发现了 OPC Xi 和 OPC UA....而且我还没有找到从零开始的教程,这正是我正在寻找的。

0 投票
1 回答
457 浏览

c# - 理解 OPC 概念的指南

我正在尝试为我们正在开发的项目学习 OPC,

我以为我理解了几件事,但与同事的讨论向我展示了其他情况

因此,如果这些术语/概念有误,请纠正我:

  • OPC 基本上是一种协议,它允许设备使用相同的语言进行通信,就像我们拥有 http、tcp 和所有其他语言一样。

  • 当我说 OPC 服务器时,我的意思是连接到指定设备的计算机/程序,具有适当的驱动程序,通过 OPC 协议公开对所述设备的访问;

  • 当我说 OPC 客户端时,我的意思是可以连接到该服务器或原始设备(也就是产生数据的设备)以读取和写入一些数据的设备/软件

  • OPC UA 允许我连接到使用旧 opc(dcom/com 版本)和未来设备的旧设备

  • OPC 允许自动配置设备,这意味着我可以获得设备提供的信息列表,并根据我的需要配置它们

0 投票
2 回答
1912 浏览

opc - OPC items not getting created in server

I am trying to create an opc client which connects to ofs opc server.

The code for client is below.

This code successfully creates a group in the server but fails to create any items and gives no error.

'''

0 投票
1 回答
473 浏览

networking - 如何处理与 OPC 服务器的连接中止

我编写了一个库,它连接到 opc 服务器并创建订阅以获取有关数据更改的通知。当 opc 服务器将要关闭时,还会触发一个事件。我正在使用 OPC .NET API 和 C#。

如何处理由于网络故障(服务器崩溃、电缆被拔出)而导致的连接中止?

0 投票
1 回答
366 浏览

c# - 使用 C# 在远程计算机上远程启动应用程序

请,

我迫切需要帮助。我想弄清楚如何将 TCP 数据包 (C#) 发送到 OPC 服务器,以便能够控制和监视我的直线电机?一个简单的解决方案可能是在远程计算机上启动 OPC Server 的应用程序(exe.file)......但我不知道如何使用 C# 远程启动应用程序。有人能帮帮我吗?

提前致谢。

0 投票
2 回答
3292 浏览

client-server - 与 OPC 服务器握手

我正在使用 Interop.OPCAutomation.DLL (OPC DA Automation Wrapper 2.02) 并与配置为与某些远程 I/O通信的Kepware 服务器连接。当一切正常时,客户端可以很好地处理通信,但它不够聪明,无法判断连接是否丢失(机器的以太网电缆已被拔下等)

我猜想获得远程 I/O 状态的唯一选择是订阅 ConnectedGroup_DataChange 并监控 OPC 项目质量信息,但有更简单的方法吗?类似“ -ping- hello 远程 I/O,你还在吗?”

同样,我需要一种方法来检查服务器是否处于活动状态甚至是否存在-ping-你在服务器吗?)就目前而言,我没有任何类型的握手,我的客户端通过两条简单的线路连接到服务器:

我创建了一个函数来返回服务器状态,但似乎总是返回 1,即使在我退出 KEPServerEX 之后也是如此。编辑:我发现退出程序实际上并没有关闭服务器。使用 sysinternals 套件中的进程资源管理器,我找到了服务器并将其挂起。这样做会使我的应用程序挂在 .Connect 行上。在我真正连接之前获取服务器状态是不可能的,那么在尝试连接之前如何检查服务器是否存在?


更新

以为我会分享最终项目的相关部分。我最终用 C# 编写了一个新的 Interop.OPCAutomation dll 包装类。

由于 OPCAutomation dll 的 COM 对象性质,如果通信出现任何问题,它会引发异常。因此,我为 OPC 通信类中的每个函数实现了异常捕获。我查找特定的错误消息并采取相应措施。
它胜过因为可以轻松恢复的愚蠢的东西而使应用程序崩溃。
对于 ServerState,我什至不关心消息是什么,所以我不会捕获异常对象。

这是我的状态功能:

正如你所看到的,我不会费心对'int state'做任何事情,因为它总是会返回“1”,或者抛出异常。

由于我在一个线程上进行所有 OPC 通信,因此我实现了一种线程安全的方式来将日志事件报告回主线程。

而已。希望它可以帮助某人。

0 投票
3 回答
1177 浏览

c# - Where can I find Opc.Ua.ModelCompiler.exe?

I'm developping a c# OPC UA Server. I'm building my server based on the "UA Sample Server" project, provided with the OPC UA 1.02 .NET Stack and Sample Applications.

In order to generate the server model it seems I have to run an executable called Opc.Ua.ModelCompiler.exe wich is not provided with the SDK. (I found that in the file 'BuildDesign.bat').

I tried to install "OPC UA SDK 1.01 Redistributables Setup" & "OPC UA SDK 1.01 COM Interop Components Setup" but I still cannot find that executable on my disk.

Anyone know where I can find that executable?

(We are OPCFundation corporate member)

0 投票
3 回答
5228 浏览

opc - OPC UA 历史数据访问 - 事件历史

我想知道是否有一些当前可用的 OPC UA 客户端支持历史数据访问,更准确地说是数据和事件历史。

Unified Automation 的 UA Expert 似乎是最先进的 OPC UA 客户端之一,但它只支持历史数据而不是事件。

我想知道是否有更好的 OPC UA 客户端可以两者兼得。