性能最强的电力物联网网关是如何炼成的

SGOOL团队研制电力物联网网关有效应对新型电力系统海量数据挑战!

什么是电力物联网网关

物联网网关是实现感知网络与通信网络,以及不同类型感知网络之间的协议转换的网关设备,既可以实现局域互联,也可以实现广域互联。而电力物联网网关需要支持电力系统常用通信协议如IEC 104协议与各类通用工业通信协议之间的转换,实现可靠高速的电力大数据采集处理,为“双碳”战略背景下电力系统大量新能源的接入调控提供数据基础。

现有电力物联网网关通信实现方式

目前应用最为广泛的电力远动通信协议IEC 104协议以及其他常用工业通信协议多采用阻塞通信方式实现,通信效率较低。所谓阻塞是指会占用I/O资源的任务,比如从网络中获取数据或处理请求、读写文件内容或者到数据库中访问数据,在数据还没有准备好时,CPU会存在一段等待,在数据准备好时,CPU才可以继续执行之后的程序。这种任务可以抽象成一个连续执行的任务中插入了一段阻塞(Blocking)。通信的过程通常包括读取数据、数据解析和计算等多个任务,阻塞通信的实现流程示意图如下图所示:

阻塞通信的原理

上图所示通信过程中,一个同步线程先执行了Task1,然后执行了Task2和Task3。Task1中存在一段阻塞,可以用于类比一个从网络中读取数据的操作,而Task2和Task3可以看作是数据解析和计算等其他的任务。在整个通信任务中,Task1中的阻塞让CPU处于空闲状态,浪费了CPU的宝贵资源。因为上一个请求的数据还没处理完,如果此时又有新的数据到达,可能造成数据队列的堆积。

在连接数较多或连续发送的报文量较大的情况下,阻塞I/O的实现方式会造成数据的延迟和资源的浪费,在某些情况下还有可能影响整个系统的运行状态。在未来新型电力系统大量分布式新能源接入及用户侧海量资源被唤醒的趋势下,采用阻塞通信方式存在效率不足、对硬件性能、成本要求高的不足。

如何提升电力物联网网关通信效率

随着网络通信技术的迅速发展,非阻塞通信可解决阻塞通信带来的通信延迟和资源浪费,以满足大规模通信并发和充分利用CPU计算资源。非阻塞下,某个任务的阻塞不会使线程阻塞,而是立即返回,这个返回值可能是一个非法的值,这时线程就可以去执行其他的任务,等到阻塞处有了合法的返回结果后,再去处理结果,继续向下运行。

SGOOL团队采用异步非阻塞技术实现电力物联网网关通信协议,显著提升通信效率。异步非阻塞采用异步的方法,在多任务并行的基础上实现。这需要异步运行时来对用户设定的任务进行调度,如果某个任务发生了阻塞,则安排其他任务线程上执行。阻塞处不需要进行轮询查看,而是采用中断的方式。当I/O的数据准备好时,操作系统内核会直接将数据传递到线程,并引发中断,提醒线程数据已经准备好,可以进行后续操作。

异步非阻塞通信的原理

如上图所示,线程Thread1执行Task1,遇到阻塞的I/O请求时,将其交给系统内核后就安排执行Task2。I/O得到数据后,将数据拷贝到线程。此时Task2已经执行完,可以继续执行Task1的剩余部分以及后续的任务Task3。

异步非阻塞通信的实现难度较大,异步程序编写复杂,而且需要操作系统底层的I/O支持。但从实现方式上看,异步非阻塞是充分利用CPU资源、支持大规模并发通信的最佳方案。它能够利用等待数据准备好的空闲去执行其他任务,也能通过异步运行时的调度,实现多个数据请求的处理,而且不会带来额外的开销。

基于异步非阻塞技术实现性能最强的电力物联网网关

针对当前基于阻塞I/O技术的通信难以适应新型电力系统海量数据采集处理的问题,SGOOL物控团队完全自主独立研发实现了基于非阻塞通信技术的各类常用工业通信协议,如下表所示,用户在使用时可以根据需要方便地选择配置,实现高可靠、高效率的通信。具体配置过程可参见通道文件编写文档

研发的电力物联网网关支持多种通信协议配置(1)
研发的电力物联网网关支持多种通信协议配置(2)

以IEC 104协议的非阻塞实现为例,团队将IEC 104规约分为TCP/IP层、应用层、用户进程的三层结构进行设计。以Tokio异步框架为基础,设计非阻塞I/O的网络通信框架,包括客户端的连接和服务端的监听与连接,完成读写的方法设计,能够实现与下层TCP/IP连接的数据交互。通过异步通道,设计了应用层和用户进程两个任务之间的信息共享和命令传输。在应用层的设计中,采用异步和状态机的设计思想,实现了IEC 104协议的链路传输规则、报文的解析和组装、应用功能等。另外,还设计了支持用户使用表格方式简便配置IEC 104规约的方法。

IEC 104总体结构与数据流向

经一致性测试、性能测试和实地测试结果证明,所研发的IEC 104协议实现了除文件传输以外的所有应用功能,各项参数和功能符合IEC 104协议的规定,具有占用内存小、吞吐量大、延迟低的优势,能够充分利用自身硬件资源。通信软件集成于电力物联网网关后能够与商业软件完成通信,可以在实地稳定运行。下图为所研发网关通信与传统方案的性能对比。

与传统方案的延迟率对比

如上图所示,当通信负载较高时,所研发网关的延迟率显著低于传统方案。采用的异步非阻塞技术使得物联网网关性能得以发挥至极致,即使在硬件资源受限的条件下,该物联网网关也可以有效发挥其功效,保证通信数据的准确性与实时性。在该技术的支持下,SGOOL开发出的物联网网关最小产品仅仅不超过一只手机大小,其可以完全支持各类通信协议下每秒2000测点的实时通信。

物联网关产品样机

以ARM-V7架构的小型电力物联网网关为例,其基本硬件配置如下表所示:

使用该网关通过modbus TCP协议对5000待采集测点以2s为周期进行数据采集,其CPU使用率仅达60%,内存使用率65%,在持续运行的60天中,其CPU及内存使用率基本保持稳定,无大幅波动。

实际工程应用案例

团队研制的电力物联网网关已在杭州萧山欣美电气公司、阿里数据中心、国电肇庆等工程项目中稳定、可靠、高效运行,在实际应用中能够满足用户实时监控、多能互补、故障检测等诸多需求,帮助企业园区转型升级、降本增效。

国能(肇庆)热电公司项目
山东口镇综合储能电站项目

展望

基于团队研发的异步非阻塞通信技术,可以实现IEC 104、IEC61850、Modbus、DLT645、MQTT等常用工业通信协议,团队所研制的电力物联网网关中已集成了以上协议,并可支持不同协议的转换发送。在多个实际工程中的应用效果表明所研发的电力物联网网关能够提高电力工业通信各模块之间信息交互的速度和效率,节约更多的系统资源,实现了电力物联网网关性能更强的进一步突破,有效应对新型电力系统海量数据带来的挑战。




版权声明:本文由SGOOL团队创作和发表,转载或引用本文内容请注明作者及出处。

当前网速较慢或者你使用的浏览器不支持博客特定功能,请尝试刷新或换用Chrome、Firefox等现代浏览器