1

我正在从事一个自动化项目,我需要并行处理 21 个固定安装的条形码扫描仪(即所有扫描仪将一直运行)以实现我正在使用多线程。在这里,每个线程将处理一个条形码扫描仪。

现在,我想通过使用 OPC 更新 PLC 中的扫描数据(数据库/内存块/标签)所以,我想知道是否可以在多线程应用程序中使用 OPC 客户端更新 PLC 值。
我正在使用西门子 PLC(型号:- CPU 315-2 PN/DP,第 7 步,300 系列)。

我也想知道我应该使用 OPC Server 还是 LibNoDave。我需要读取大约 300 个标签(PLC 中的数据块)并检查数据更改事件。

4

2 回答 2

0

简短的回答是肯定的,但还有更多内容,A Murray 提供的链接很好读。您还应该考虑使用多线程是否可以真正为您带来任何速度优势。使用 OPC-DA,您只需一个线程即可轻松处理每秒数千次数据更改 - 您真的需要更多线程吗?

于 2014-01-24T07:09:02.663 回答
0

最好让您的架构尽可能简单并避免使用大量线程,多线程可能会使事情变得不必要地复杂化,并且如果线程需要同步,还需要付出性能代价。由于您有一个 OPC 服务器和多个线程连接到它,您必须小心不要让线程相互干扰。如果我是你,我会改为使用一个线程来设置对带有所有条形码扫描仪的 OPC 服务器的订阅。然后另一个线程监视该线程以查看它是否仍在工作。

于 2014-01-24T07:53:33.337 回答