【发布时间】:2014-02-13 20:52:58
【问题描述】:
我正在从事一个自动化项目,我需要并行处理 21 个固定安装的条形码扫描仪(即所有扫描仪将一直运行),以实现我使用多线程。在这里,每个线程将处理一个条形码扫描仪。
现在,我想使用 O.P.C. 更新 P.L.C (DB/Memory Blocks/Tags) 中的扫描数据。所以,我想知道是否可以通过在多线程应用程序中使用 O.P.C 客户端来更新 P.L.C 值。
我正在使用 Siemens P.L.C(型号:- CPU 315-2 PN/DP,step 7,300 系列)。
我也想知道我应该使用 O.P.C Server 还是 LibNoDave。将有大约 300 个标签(P.L.C 中的数据块),我需要读取并检查数据更改事件。
【问题讨论】:
-
我已经编辑了你的标题。请参阅“Should questions include “tags” in their titles?”,其中的共识是“不,他们不应该”。
-
相信你会发现这个帖子很有用:stackoverflow.com/questions/18040338/…
-
根据我的观察,OPC DA 似乎为每个分配的 OPC 客户端提供了一个“数据更改事件”线程,但我不知道这是否得到规范的保证。
标签: c# multithreading plc opc libnodave