标签: opc

OPC UA和OPC DA之间的区别?

请解释OPC UA和OPC DA之间的区别是什么?

在哪种情况下应该使用哪一种,如果可以为OPC UA和OPC DA提供任何示例,那将会很有帮助

opc opc-ua

18
推荐指数
3
解决办法
4万
查看次数

C#的OPC示例应用程序

有谁知道C#OPC客户端示例应用程序?我正在寻找一个好的开源来学习协议.如果它使用OPC基础.net核心apis,我更喜欢它.

.net c# opc

17
推荐指数
2
解决办法
6万
查看次数

OPC-UA的替代品

作为访问由各种PLC组成的系统的过程数据的解决方案,OPC-UA是否还有其他可行的替代方案?什么是平台独立的,可以与不同品牌的产品"说话"?

我听说过MQTT,但它似乎更像是传输协议,只有那样.它没有像信息建模等所有更高级别的东西.

谢谢你的帮助!

plc scada opc mqtt opc-ua

16
推荐指数
3
解决办法
7771
查看次数

Java opc客户端应用程序

我正在寻找一些库和一些例子,用Java创建一个可以与opc服务器连接的客户端OPC应用程序.提前致谢.

java opc

11
推荐指数
1
解决办法
2万
查看次数

什么是历史学家?

历史学家在OPC和PLC方面的作用是什么?

plc historian opc

10
推荐指数
1
解决办法
1万
查看次数

C#OPC应用程序相同的代码,但工作方式不同

我正在开发一个C#自定义OPC客户端,我开始在控制台应用程序中快速写入,一切都按照我的要求完美运行.

然后我决定制作一个Windows窗体应用程序以获得视觉体验.

Windows窗体应用程序只是停止工作,大约一分钟后停止从OPC服务器读取数据.控制台应用程序在哪里继续阅读和阅读.

在调试模式中我也找不到任何明显的东西.

我绝对抓着稻草在这里,希望有人可以解决一些问题.

每个应用程序都使用OPCFoundation提供的.dll文件.

这是控制台应用程序

 static void Main(string[] args)
        {

            Opc.URL url = new Opc.URL("opcda://localhost/RSLinx OPC Server");
            Opc.Da.Server server = null;
            OpcCom.Factory fact = new OpcCom.Factory();
            server = new Opc.Da.Server(fact, null);
            server.Connect(url, new Opc.ConnectData(new System.Net.NetworkCredential()));
            // Create a group
            Opc.Da.Subscription group;
            Opc.Da.SubscriptionState groupState = new Opc.Da.SubscriptionState();
            groupState.Name = "Group";
            groupState.Active = true;
            group = (Opc.Da.Subscription)server.CreateSubscription(groupState);
            // add items to the group.
            Opc.Da.Item[] items = new Opc.Da.Item[6];
            items[0] = new Opc.Da.Item();
            items[0].ItemName = "[UX1]F20:9";
            items[1] = new Opc.Da.Item();
            items[1].ItemName …
Run Code Online (Sandbox Code Playgroud)

c# plc console-application opc winforms

10
推荐指数
1
解决办法
1317
查看次数

良好的开源OPC软件

我们目前正在使用KEP Server的免费跟踪版本,以便我们的OPC与我们的PLC进行通信.我们想知道是否有人知道任何好的开源OPC软件.

open-source plc opc

9
推荐指数
1
解决办法
2万
查看次数

不同的DCOM/COM安全设置意味着什么?

我们的应用程序广泛使用COM和DCOM,因此我们需要确保正确设置COM安全权限.我知道我可以在组件服务MMC管理单元下访问这些权限,我也可以设置下的属性页计算机的默认值/极限

在DCOM Config节点下,我可以向下钻取并为各个应用程序设置安全权限

Logger应用程序属性页面的屏幕截图

我也理解"默认值"(除非根据每个应用程序明确设置权限,DCOM应用程序将使用的内容),"限制"(即使每个应用程序设置超出这些设置也将强制执行哪些权限)之间的关系,但是我我不能理解(并且找不到任何文档)我可以设置的不同设置之间的区别

  • 什么是"访问","启动","激活"和"配置"权限之间的区别?
  • 这些设置是影响COM应用程序还是仅影响DCOM应用程序?
  • 如果使用远程DCOM,我是否需要在服务器和客户端,或只是客户端上设置权限?
  • 有没有解释上述内容的文件?

com permissions dcom opc opc-da

9
推荐指数
1
解决办法
2万
查看次数

OPC UA:浏览服务器根节点的最小代码

我正在使用OPC UA Foundation SDK开发一个小客户端.什么是最小的C#代码:

  • 连接到服务器
  • 浏览根节点
  • 打印直接孩子的BrowseNames
  • 放弃?

我得到服务器端点(没有发现),安全性无.

代码不应该使用配置文件,也不需要STA.

对此的任何帮助都不仅仅是值得赞赏的.

c# opc opc-ua

9
推荐指数
1
解决办法
2万
查看次数

如何在 OpenOPC 服务器上的 VARIANT 结构中写入数组标记

我正在尝试与 OPC DA 服务器进行通信,并且需要写入数组格式的标签。我们可以连接模拟服务器,读取标签(int、real、array)和写入标签(int、real、str)。当我们需要写入数组标签时,问题就出现了。OpenOPC 库的开发人员 (Barry Barnreiter) 建议使用 VARIANT 变量,因为 OPC“希望在写入复杂对象(例如数组)时看到 Windows VARIANT 结构”。

  • 我确实按照此处的建议安装了 Pywin32(内部版本 217)。
  • 我尝试发送一个简单的整数而不是 VARIANT 结构中的数组。

这是代码:

from win32com.client import VARIANT
import pythoncom
import OpenOPC
opc_local = OpenOPC.open_client()
opc_local.connect('Matrikon.OPC.Simulation','localhost')
values = VARIANT(pythoncom.VT_ARRAY | pythoncom.VT_R8, [1.0, 2.0, 3.0, 4.0, 5.0, 6.0])
w = opc_local.write(('Bucket Brigade.ArrayOfReal8', values))
print(w)
Run Code Online (Sandbox Code Playgroud)

这是执行 opc_local.write 行时出现的错误:

AttributeError: 'module' object has no attribute 'VARIANT'
Run Code Online (Sandbox Code Playgroud)

这是整个回溯:

runfile('C:/Users/nadmin/Downloads/sanstitre0.py', wdir='C:/Users/nadmin/Downloads')
Traceback (most recent call last):

  File "<ipython-input-5-6799f41ab928>", line 1, in <module>
    runfile('C:/Users/nadmin/Downloads/sanstitre0.py', wdir='C:/Users/nadmin/Downloads')

  File "C:\Users\nadmin\AppData\Local\Continuum\anaconda2\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line …
Run Code Online (Sandbox Code Playgroud)

python variant opc python-2.7 server

8
推荐指数
1
解决办法
554
查看次数