非常慢的PLC编程和故障查找

时间:2015-10-09 09:55:36

标签: c# .net plc opc

我正在一个完整的生产环境中工作,在我们的生产工厂周围有一系列PLCS,这些PLC中的每一个都通过'DataHighway +'网络回到我们LAN网络上称为MicroLinks PC的特殊PC。它上面有ROCKWELL OPC RSLinx Classic服务器软件。

所以,最近我使用OPC .NET API在c#中组装了一个.NET软件,读取Microlinks PC上的ROCKWELL OPC服务器,并将数据同步回我们位于WINDOWS R2服务器上的MYSQL数据库PC

自打开.net软件以来,现场工程师在开发新的PLC脚本和故障查找方面遇到了大幅减速。

有些报道甚至差不多10秒钟。

因此,我们不得不关闭.NET软件来同步数据,以便工程师能够快速完成工作而不会出现问题。

所以我正在寻找一些关于我应该寻找什么或者什么的建议,任何可以阅读此类问题的资源等等。由于PLC和网络已经超出了我的深度,我只是.NET程序员。

以下是我们网络的结构:

enter image description here

3 个答案:

答案 0 :(得分:2)

我在本地PC上使用Rockwell RSLinx时遇到了很多麻烦,试图找到直接插入以太网端口的PLC的IP地址。使用“Autobrowse”选项,它会完全锁定我的PC,尝试扫描目标的端口和IP地址。

可能只是优化不佳的Rockwell软件导致问题。您也可能正在交换大量数据,而您的服务器PC正在努力跟上。

我会联系罗克韦尔/艾伦布拉德利支持这方面的帮助。他们可能会想要一些现金来帮助你。

答案 1 :(得分:2)

我不确定您使用的是哪种类型的rockwell PLC。我对ControlLogix平台最熟悉,所以我会谈谈这个问题。

  1. controllogix PLC中的以太网卡以100Mb / s连接,但卡实际上不能连续处理100Mb / s。 1756-ENBt卡每秒可处理大约5000个数据包,EN2T大约是其两倍。 rockwell文档中有一些公式解释了如何计算每秒数据包,但是当你有一个正在运行的系统时,另一个选项就是连接“Logix5000任务监视器”' RS Logix随附并验证以太网卡的CPU使用率 我认为Rockwell建议您将其保持在60%以下。如果您要求太多数据包,那么此CPU将无法跟上

  2. PLC本身可能会使通信匮乏。 Controllogix有一个"开销时间片"设置,即PLC花费在服务通信任务上的时间百分比,而不是运行自己的逻辑。增加这个百分比可以稍微改善通信。

  3. 听起来你的程序给PLC带来了很大的负担。如果你放慢你的应用程序速度,以便它不会快速拉动那么多数据,它会变得更好吗?

    在不降低更新速率的情况下减少检索数据块所需的数据包数量的一种简单方法是将其全部放在一个数组中。然后RSLinx将能够优化请求而不是拉动单个标签

答案 2 :(得分:0)

你差点过度推测PLC。尝试越来越少地轮询,直到找到一个不会减慢网络速度的值。例如,如果您现在每100毫秒请求一次数据,请每秒更改一次。然后每分钟一次。然后每15分钟一次。在每一步检查编程终端的通信速度。