YFIOServer后台驱动算法优化-阿里云开发者社区

开发者社区> 阿里云MVP> 正文

YFIOServer后台驱动算法优化

简介: 以前,虽然YFIOServer的驱动实现了各种PLC的通信(如PPI,MPI,Modbus等等),但是以前的IO变量读写并没有优化,所以当要访问的变量一多,效率就成为问题

以前,虽然YFIOServer的驱动实现了各种PLC的通信(如PPI,MPI,Modbus等等),但是以前的IO变量读写并没有优化,所以当要访问的变量一多,效率就成为问题。

目前,采用了最新的优化算法(具体思路下面再说),效率提高了好多倍,有如下指标可以参考,以前用Prodave访问S7-300PLC(用MPI访问,波特率19200),10个变量,读一次,近500ms,目前经过优化,读1000个变量,不过200ms,效率提高了不知多少倍。

这样一来,YFIOServer终于实现了真正的工控应用,逐渐走向了工业现场。目前配水系统,四车系统都采用该后台,效果很好,编程也变得异常简单,不用在考虑太多的通信问题,直接访问后台就可以了。
image.png
配水系统
image.png
四车系统

--------------------

优化算法简介

--------------------

目的:因为与硬件进行通信最耗时,数据解析和类型转换倒不是瓶颈,所以用最快速的方法把要获取的数据或要写入的数据,整体一次性完成。

思路:访问的变量地址要归类,此外要排序,便于批量操作。

实现:在上位机内存中,建立硬件数据映射表,此外还要建立一个同样大小的标志表,根据变量地址和类型填写标志表的读写标志,最后程序统一更加读写标志完成读写。

版权声明:如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:developerteam@list.alibaba-inc.com 进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
+ 订阅

阿里云最有价值专家,是专注于帮助他人充分了解和使用阿里云技术的意见领袖。

官方博客
官网链接
精彩专题