我正在一个完整的生产环境中工作,在我们的生产工厂周围有一系列PLCS,这些PLC中的每一个都通过'DataHighway +'网络回到我们LAN网络上称为MicroLinks PC的特殊PC。它上面有ROCKWELL OPC RSLinx Classic服务器软件。
因此,最近我使用OPC .NET API在c#中组装了一个.NET软件,以读取Microlinks PC上的ROCKWELL OPC服务器并将数据同步回我们的WINDOWS R2服务器PC上的MYSQL数据库
自从打开.net软件以来,现场工程师在开发新的PLC脚本和故障查找方面遇到了大幅减速。
有些报道甚至差不多10秒钟。
因此,我们不得不关闭.NET软件来同步数据,以便工程师能够快速完成工作而不会出现问题。
所以我正在寻找一些关于我应该寻找什么或者什么的建议,任何可以阅读此类问题的资源等等。由于PLC和网络已经超出了我的深度,我只是.NET程序员。
这是我们网络的结构:
我不确定您使用的是哪种类型的rockwell PLC。我对ControlLogix平台最熟悉,所以我会谈谈这个。
听起来你的程序给PLC带来了很大的负担。如果你减慢你的应用程序速度,以便它不会快速拉动那么多的数据,它会变得更好吗?
在不降低更新速率的情况下减少检索数据块所需的数据包数量的一种简单方法是将其全部放在一个数组中。然后RSLinx将能够优化请求,而不是拉动单个标签
我在本地PC上使用Rockwell RSLinx时遇到了很多麻烦,试图找到直接插入以太网端口的PLC的IP地址。使用“Autobrowse”选项,它会完全锁定我的PC,尝试扫描目标的端口和IP地址。
它可能只是糟糕的优化Rockwell软件导致问题。您也可能正在交换大量数据,而您的服务器PC正在努力跟上。
我会联系罗克韦尔/艾伦布拉德利支持这方面的帮助。他们可能会想要一些现金来帮助你。
你几乎已经过度地过度轮询了PLC。尝试越来越少地轮询,直到找到一个不会减慢网络速度的值。例如,如果您现在每100毫秒请求一次数据,请每秒更改一次。然后每分钟一次。然后每15分钟一次。在每一步检查编程终端的通信速度。