以前,虽然YFIOServer的驱动实现了各种PLC的通信(如PPI,MPI,Modbus等等),但是以前的IO变量读写并没有优化,所以当要访问的变量一多,效率就成为问题。
目前,采用了最新的优化算法(具体思路下面再说),效率提高了好多倍,有如下指标可以参考,以前用Prodave访问S7-300PLC(用MPI访问,波特率19200),10个变量,读一次,近500ms,目前经过优化,读1000个变量,不过200ms,效率提高了不知多少倍。
这样一来,YFIOServer终于实现了真正的工控应用,逐渐走向了工业现场。目前配水系统,四车系统都采用该后台,效果很好,编程也变得异常简单,不用在考虑太多的通信问题,直接访问后台就可以了。
配水系统
四车系统
--------------------
优化算法简介
--------------------
目的:因为与硬件进行通信最耗时,数据解析和类型转换倒不是瓶颈,所以用最快速的方法把要获取的数据或要写入的数据,整体一次性完成。
思路:访问的变量地址要归类,此外要排序,便于批量操作。
实现:在上位机内存中,建立硬件数据映射表,此外还要建立一个同样大小的标志表,根据变量地址和类型填写标志表的读写标志,最后程序统一更加读写标志完成读写。