是否可以在同一应用程序中从多个线程与OPC服务器进行通信



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

现在,我想通过使用O.P.C。因此,我想知道可以通过在多线程应用程序中使用O.P.C客户端更新P.L.C值。
我正在使用Siemens P.L.C(模型:-CPU 315-2 PN/DP,步骤7,300系列)。

我也想知道我应该选择O.P.C服务器还是Libnodave。我需要阅读并检查数据更改事件的大约300个标签(P.L.C中的数据块)。

简短的答案是肯定的,但是还有更多,默里提供的链接很好。您还应该考虑进行多线程是否可以真正带给您任何速度收益。您可以通过OPC -DA轻松地每秒进行数千个数据更改,并且只需一个线程 - 您真的需要更多线程吗?

最好保持架构尽可能简单,避免多个线程,多线程可能会不必要地使事情复杂化,并且如果线程需要同步,则还需要支付绩效价格。由于您有一台OPC服务器和连接到它的多个线程,因此必须小心不要互相干扰。如果我是您,我将拥有一个线程,该线程设置了所有条形码扫描仪对OPC服务器的订阅。然后另一个线程监视该线程是否仍在工作。

最新更新