1. 概述
2. 通讯原理3. 参数配置
1. 概述
某生产企业世界500强的集团能源管控平台项目建设,通过专线网络实现异地厂区数据集成,每个终端能源仪表都有IP地址,总共有1000多台能源表计,总共有将近10000个数据点。在集团端部署iNeuOS工业互联网操作系统,终端能源表计采用Modbus(Slave)协议,集团平台主动网络连接终端能源表计,进行实时数据采集。结构示意,如下图:
但是,随着不断有接入的厂区能源表计,也出现一些现象:(1)设备采集数据顺序不一致;(2)数据采集不及时。
2. 通讯原理
工业领域的平台肯定是一个实时系统,使用iNeuOS进行数据采集,与其他系统不太一样,其他系统数据采集驱动一般包括IO的操作,这种方式很难应对复杂的应用场景。iNeuOS系统的数据采集驱动只负责协议驱动的解析、数据处理、触发反向控制,至于通讯机制和IO操作有专门的服务实例调度器和IO管理器来负责,这样设计的好处是:(1)适用于各种通讯应用场景,例如:4G、DTU、固定或不固定IP等等;(2)支持高并发数据交互,例如云平台建设;(3)系统更稳定、更健壮,不会因为某项异常影响其他仪表通讯。整体框架,如下图:
基于iNeuOS核心框架结合集团能源管控平台的设备数量抽象出来的通讯原理如下图:
iNeuOS包括多个服务调度实例,一个服务调度实例包括多个IO控制器,IO控制器中包括多个仪表,那么服务调度实例和IO控制器的多少是根据实际现场情况设置的,所以要提高仪表的数据采集效率,是在服务调度实例和IO控制器中进行设置,同时考虑到Modbus通讯协议机制本身是应答模式,请求数据命令与返回数据之间有间隔中断时间。
在《物联网软件架构设计与实现》书中主要就是介绍这些内容。
3. 参数配置
该项目案例提高数据采集效率,可以通过合理配置服务实例、控制模型、间隔时间和控制分组来实现。
(1) 服务实例的配置
服务实例配置原则:一个厂区配置一个服务实例、一类仪表设置一个服务实例、同一个数据采集周期配置一个服务实例等,根据现场数据采集的实际需求平衡负载配置相应的服务实例。配置如下图:
(2) 控制模型的配置
根据该案例的实际情况,每个终端能源仪表都有独立IP地址,总共有1000多台能源表计,可以考虑把控制模型设置成并发模型(Parallel)。如下图:
因为网络通讯是全双工,采用并发控制模型表示:在当前服务实例下,一次性并发向仪表发送请求命令,进行异步接收返回的数据信息。这就比每个设备轮询发送请求命令->等待数据->接收数据同步模型要更高效率。并发控制模型示意,如下图:
(3) 间隔时间的配置
一个IO控制器中至少有一台设备驱动,在并发控制模型下可以设置并发间隔(每次集中发送请求命令的间隔时间)和并发设备间隔(每个设置驱动之间发送请求命令的间隔时间)来提高仪表数据采集效率。配置如下图:
(4) 控制分组的配置
在服务实例下可以设置采集设备的逻辑分组,每一个分组独立进行数据采集的任务调度。如果每一台设备都设置不同的控制分组名称则表示一个IO控制器只负责一台设备进行数据采集,这样适合高频数据采集。配置如下图:
通过上述的配置,每台仪表采集数据的周期计算公式为:数据点采集周期时间=并发间隔+并发设备间隔*控制分组里的设备数量,如果一台设备中存在读取多个数据点的命令,那么存在一定误差,但是不会太大。
物联网&大数据技术 QQ群:54256083
物联网&大数据项目 QQ群:727664080
QQ:504547114
微信:wxzz0151
博客:https://www.cnblogs.com/lsjwq
微信公众号:iNeuOS
标签:操作系统,配置,iNeuOS,采集,实例,IO,数据 From: https://www.cnblogs.com/lsjwq/p/17865666.html