以前,雖然YFIOServer的驅動實作了各種PLC的通信(如PPI,MPI,Modbus等等),但是以前的IO變量讀寫并沒有優化,是以當要通路的變量一多,效率就成為問題。
目前,采用了最新的優化算法(具體思路下面再說),效率提高了好多倍,有如下名額可以參考,以前用Prodave通路S7-300PLC(用MPI通路,波特率19200),10個變量,讀一次,近500ms,目前經過優化,讀1000個變量,不過200ms,效率提高了不知多少倍。
這樣一來,YFIOServer終于實作了真正的工控應用,逐漸走向了工業現場。目前配水系統,四車系統都采用該背景,效果很好,程式設計也變得異常簡單,不用在考慮太多的通信問題,直接通路背景就可以了。
配水系統
四車系統
--------------------
優化算法簡介
目的:因為與硬體進行通信最耗時,資料解析和類型轉換倒不是瓶頸,是以用最快速的方法把要擷取的資料或要寫入的資料,整體一次性完成。
思路:通路的變量位址要歸類,此外要排序,便于批量操作。
實作:在上位機記憶體中,建立硬體資料映射表,此外還要建立一個同樣大小的标志表,根據變量位址和類型填寫标志表的讀寫标志,最後程式統一更加讀寫标志完成讀寫。