Performance 使用OPC标签提高性能
我正在使用一个名为Think'n'Do的基于PC的自动化软件包,该软件包可以实时处理、读取输入/控制逻辑/写入输出,所有这些都可以在最长50毫秒内完成。我们有一个OPC服务器,每10毫秒从PLC读取/写入标签。将标签写入PLC并读回写入的值(Think'n'Do(50ms)>OPC Server(10ms)>PLC(10ms)>OPC Server(10ms)>Think'n'Do(50ms))时会有很长的延迟。根据我的数学计算,该过程最多需要6秒才能完成,而实际只需要130msPerformance 使用OPC标签提高性能,performance,automation,opc,Performance,Automation,Opc,我正在使用一个名为Think'n'Do的基于PC的自动化软件包,该软件包可以实时处理、读取输入/控制逻辑/写入输出,所有这些都可以在最长50毫秒内完成。我们有一个OPC服务器,每10毫秒从PLC读取/写入标签。将标签写入PLC并读回写入的值(Think'n'Do(50ms)>OPC Server(10ms)>PLC(10ms)>OPC Server(10ms)>Think'n'Do(50ms))时会有很长的延迟。根据我的数学计算,该过程最多需要6秒才能完成,而实际只需要130ms 任何关于在何处
任何关于在何处查找或为什么需要这么长时间的想法都会很有帮助。这取决于您如何配置OPC客户端来提取数据。在OPC中订阅组时,可以指定刷新率。这可能默认为1s甚至5s,具体取决于OPC客户端。OPC服务器对更新数据的频率也有限制。这仅适用于OPC客户端订阅数据更改事件的情况 另一种方法是对OPC服务器进行异步或同步读/写。还有几种阅读模式。由于您使用的是OPC,因此您可以使用任何兼容OPC的客户端来测试您的服务器,这将告诉您问题是出在Think'n'Do中的设置上,还是出在PLC/服务器上 我使用过的最好的通用OPC客户端是OPC快速客户端。您可以在此处使用顶级服务器获取它:。只需抓取顶级服务器演示并安装OPC快速客户端。您可以使用它连接到OPC服务器,浏览标签并查看数据的外观。我使用过的第二个最好的OPC客户端来自ICONICS(称为OPC Data Spy),可在此处找到:
使用OPC客户端查看读取数据的速度。确保正确设置了组刷新率。我认为这些工具也可以为您提供一些计时信息(但您可以很容易地计算出6秒的延迟)。如果系统执行同步读取(阻塞I/O调用),然后实现应用程序的逻辑,然后同步写入(再次阻塞)然后你需要考虑到PLC有多个往返行程。 同步读取涉及App(请求)->OPCServer->PLC->OPCServer->App(结果)。这只是对一个项目的读取(尽管您可以一次性请求一组项目) 然后,类似的同步写入还涉及应用程序(写入)->OPCServer->PLC->OPCServer->App(完成) 异步读写和组读写有助于减少应用程序的阻塞,但请注意您的应用程序可以处理这种反同步行为
另一件要看的是PLC配置,在Allen-Bradley PLC上有一个interscan延迟设置,用于通过外部网络服务I/O请求。如果时间很短,并且数据带宽很高,那么这会减慢速度。这里有几个地方可以看:OPC客户端配置、OPC客户端本身、OPC服务器或PLC本身 以下是您应该检查的事项:
听起来好像您没有使用OPC服务器中的缓存。通常,OPC服务器有一个缓存,如果您的客户端连接,并且没有指定要使用缓存,则无法获得所需的性能。OPC服务器负责从设备中刷新缓存,尽管刷新标准可能因OPC服务器而异