YFIOServer后台驱动算法优化

简介:

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

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

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


配水系统

 

四车系统

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

优化算法简介

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

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

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

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

 

 














本文转自yefanqiu51CTO博客,原文链接:http://blog.51cto.com/yfsoft/324078,如需转载请自行联系原作者

相关文章
|
1月前
|
Windows
U3D引擎虚拟仿真课程加载缓慢怎么解决?实时渲染技术
针对以上问题,既要考虑原有资源的利旧使用,也要考虑用户使用的流畅体验。实时渲染云流化技术方案,可以很好地解决这两个问题。因为点量云流实时渲染系统,不仅仅是针对U3D/UE引擎,还可以是webgl网页的流化,直接将整个浏览器流化给用户来使用。这样可以将这些原来比较老的webgl课程放在服务器端,为服务器配置高性能的显卡和CPU ,在教学或者使用过程中直接使用服务器算力,用户侧只需要普通的电脑、平板等轻终端设备即可实时使用这些课程。而且高性能的显卡,一般可以支持数十个用户同时使用,可能一台服务器1-2张显卡就可以满足30-40个人使用(这里只是预估,具体以实际为准)。
14 0
|
6月前
|
算法 Java 决策智能
运筹优化工具库介绍(一)
运筹优化问题有时候极其复杂,我们可以使用运筹优化工具库帮助数学建模,解决复杂的最优化问题,本文介绍几个常见的运筹优化工具库。
|
6月前
|
算法 Java Apache
路径损耗计算模型 | 带你读《大规模天线波束赋形技术原理与设计 》之二十五
本小节介绍 3D 信道的路损模型,是以 ITU 信道为基础拓展得到的。
11493 0
路径损耗计算模型  | 带你读《大规模天线波束赋形技术原理与设计 》之二十五
|
1天前
|
存储 数据可视化
R语言优化交易系统:用平行坐标图可视化系统参数优化结果
R语言优化交易系统:用平行坐标图可视化系统参数优化结果
|
30天前
|
算法 机器人 定位技术
论文介绍:DexCap——用于灵巧操作的可扩展和便携式动作捕捉数据收集系统
【2月更文挑战第28天】论文介绍:DexCap——用于灵巧操作的可扩展和便携式动作捕捉数据收集系统
27 2
论文介绍:DexCap——用于灵巧操作的可扩展和便携式动作捕捉数据收集系统
|
2月前
|
存储 自然语言处理 NoSQL
大模型外挂图数据库
解决机器幻觉问题,可以将知识库的内容分段,然后向量化存入向量数据库。
|
12月前
|
机器学习/深度学习 算法 数据可视化
基于深度学习的智能PCB板缺陷检测系统(Python+清新界面+数据集)
基于深度学习的智能PCB板缺陷检测系统(Python+清新界面+数据集)
465 0
|
领域建模 数据安全/隐私保护 信息无障碍
领域驱动建模与面向对象建模的差异
领域驱动建模与面向对象建模的差异
领域驱动建模与面向对象建模的差异
|
机器学习/深度学习 监控 自动驾驶
从NMEA0183到GNSS定位数据获取(一)原理篇
从NMEA0183到GNSS定位数据获取(一)原理篇
325 0
从NMEA0183到GNSS定位数据获取(一)原理篇