一种基于Lua脚本实现的光伏储能系统的综合运算平台技术方案

技术编号:37334803 阅读:10 留言:0更新日期:2023-04-21 23:13
本发明专利技术属于计算机领域,具体涉及一种基于Lua脚本实现的光伏储能系统的综合运算平台及协调控制器。该系统采用Lua作为计算脚本语言,C++为宿主语言设计,系统特性如下:一、将公式脚本分为宏公式、预处理公式和公共公式;宏公式生成预设的固定值,供命令执行器调用;预处理公式预先完成计算,输出结果只供其他公式调用;公共公式执行各类计算任务;二、触发调度方式分为数据变化触发、接收外部调度指令触发、周期触发、计划任务触发、定时触发、手动触发;三、数据输出方式包括输出到实时数据库;发送指令到系统外设备;输出到关系库,以及自定义输出。本发明专利技术解决了传统计算系统功能单一、性能较差,无法适应新兴场景的问题。无法适应新兴场景的问题。无法适应新兴场景的问题。

【技术实现步骤摘要】
一种基于Lua脚本实现的光伏储能系统的综合运算平台


[0001]本专利技术属于计算机领域,具体涉及一种基于Lua脚本实现的光伏储能系统的综合运算平台及协调控制器。

技术介绍

[0002]随着社会经济水平的提高以及通信、信息、自动控制技术的进一步发展,电网的调度和运行自动化程度已经达到一个新的台阶,基本实现了电网的自动化运行控制。在此基础上,智能电网成为电力系统变革和开展的一个新的重要方向,也是电力系统开展科技创新的一个重要趋势。随着风不是风能、太阳能发电的规模不断扩大,智能电网应该具备接纳多种新能源的能力,满足电网运行的发输变用电各个结点之间和信息的双向互动,建立起经济、平安、清洁、灵活的高性能智能化系统。
[0003]在典型的分布式光伏并网管理系统中,通常会配置专门的储能系统来平衡实时发电量与并网电量间的差异,电网与分布式光伏电站之间的协调控制和能源分配离不开信息的传递和数据的处理。为了实现这一目标,开发出一种用于完成分布式光伏并网管理系统中的大量指定的复杂计算任务,并对数据的处理过程进行高效管理和快速执行的系统,成为本领域技术人员亟待解决的技术问题。但是,传统的计算系统以测点为中心,只接收简单的公式以及公式嵌套计算,计算结果只是写入计算点中,数据输出方式单一、数据调度方式单一。很难在分布式光伏并网管理系统中或者储能系统的协调控制器中得到运用。

技术实现思路

[0004]为了解决传统计算系统的功能单一、性能较差,无法适应新兴的物联网控制及管理场景中更加复杂的数据处理和设备管理任务的问题;本专利技术提供一种基于Lua脚本实现的光伏储能系统的综合运算平台及协调控制器。
[0005]本专利技术采用以下技术方案实现:一种基于Lua脚本实现的光伏储能系统的综合运算平台,其采用Lua作为计算脚本语言,C++为宿主语言设计,实现对分布式光伏并网管理系统中的大量复杂计算任务进行管理和执行。本专利技术提供的综合运算平台采用的计算脚本模型、触发调度方式和数据输出方式如下:一、计算脚本模型将公式脚本分为宏公式、预处理公式和公共公式三类。其中,宏公式用于在计算引擎启动时生成预设的固定值,供命令执行器调用。预处理公式在任意计算周期开始之前预先完成计算,输出结果只供其他公式调用,不对外输出。公共公式为执行各类计算任务的主体;每个公共公式中待定义的属性包括公式内容、触发方式和公式值类型。公式值类型分为基本数据、状态数据和指令数据。
[0006]二、触发调度方式将任意一个计算任务的触发方式设定为数据变化触发、接收外部调度指令触发、
周期触发、计划任务触发、定时触发、手动触发中的一个或任意多个。
[0007]三、数据输出方式根据不同计算任务采用的公共公式的公式值类型,计算任务的数据输出类型分为以下三类:(1)基本数据输出到实时数据库;(2)指令数据发送到指定的系统外设备;(3)状态数据输出到关系库,(4)以其他自定义的方式进行数据输出。
[0008]作为本专利技术进一步的改进,计算任务的触发方式中,“数据变化触发”指公式脚本中的测点或者子公式数据值变化时触发计算任务。“接收外部调度指令触发”指综合运算平台通过相应通信协议接收外部系统的调度指令并解析调度指令,触发计算任务。“周期触发”指在实时计算和历史计算中,预先设置周期运行参数,系统运行周期达到预设的周期运行参数时触发计算任务。“计划任务触发”的方式中需要预设调度频次和对应的调度时间,调度频次指调度时间内计算任务的触发次数,设为“计划任务触发”的计算任务在调度时间范围内按照调度频次伺机触发计算任务。“定时触发”指设定触发时刻,并在达到触发时刻或出现临时定时任务时触发计算任务。“手动触发”指接收手动调度服务并手动启动计算任务的触发方式。
[0009]作为本专利技术进一步的改进,在综合运算平台中,为不同的计算任务设置独立的线程,线程类型包括:通信调度线程、周期运行线程组、实时数据监视线程、定时器线程、手动执行消息监视线程。
[0010]在本专利技术的方案中,综合运算平台中各个独立线程的特征如下:通信调度线程负责和外部系统中的相关设备进行通信,接收相关调度指令,并在完成指令解析后触发对应的计算任务。
[0011]周期运行线程组用于运行一系列长期运行的线程,根据各个计算任务中设定的运行周期来对计算脚本进行轮询计算。
[0012]实时数据监视线程用于轮询实时快照中的数据,当公式中引用测点的值发生变化时,如果该计算任务的触发模式包含数据变化触发则触发对应计算任务。
[0013]定时器线程负责对计划任务触发以及定时触发的任务进行管理,并结合时钟信息触发对应计算任务。
[0014]手动执行消息监视线程用于通过监视中间件消息实现对手动触发的计算任务进行触发管理,用户下达指令后,系统发送相关Mqtt消息给计算程序,计算程序接收到相关信息后触发计算任务。
[0015]作为本专利技术进一步的改进,周期运行线程组中的线程数量根据需要进行周期性运行的计算任务的最大数量进行定制,以保证所有周期性计算任务同时触发时仍能及时运行而不产生冲突。
[0016]作为本专利技术进一步的改进,计算脚本模型中每条计算脚本的元素包括测点、公式、函数、循环控制和条件控制。“测点”的属性包括数据的来源和数据的类型。“公式”用于限定各个计算任务对应数据处理方法。“函数”反应了公式处理过程采用或调用的不同类型的函数;“循环控制”和“条件控制”的属性共同用于限定各个计算任务对应的触发方式。
[0017]作为本专利技术进一步的改进,不同计算任务中采用的函数类型包括数学函数、时间函数、测点和公式相关函数,以及其它自定义的函数。
[0018]各个计算任务的数据处理过程中应用的操作运算符包括:算术运算符、关系运算
符、逻辑运算符、位运算符、赋值运算符和杂项运算符。
[0019]本专利技术提供的基于Lua脚本实现的光伏储能系统的综合运算平台的运行过程如下:S1:对系统进行初始化,初始化内容包括如下:S11:初始化点表。
[0020]S12:读取计算脚本配置,形成哈希表FormulaValueByCod;FormulaValueByCod的数据结构中,Key为Formula的Code,Value为公式计算结果值。作用是公式嵌套调用时直接根据这个哈希调用相关公式已经计算的值,而不用重新计算一次公式。
[0021]S13:提取计算脚本中的所有测点,根据这些测点形成两个哈希表:TagByCodeMap和SnapByCodeMap。其中,TagByCodeMap的数据结构中,Key为TagCode,Value为测点参数信息。 SnapByCodeMap的数据结构中,Key 为TagCode, Value用来存储快照值。
[0022]S14:提取计划任务公式脚本配置参数中的计划任务时间节点,存入到scheduleList中。
[0023]S15:提取定时器公式脚本中定时时间节点,存入到dtList中。
[0024]S16:提取触发模式包含数据变化触发的公本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Lua脚本实现的光伏储能系统的综合运算平台,其采用Lua作为计算脚本语言,C++为宿主语言设计,实现对分布式光伏并网管理系统中的大量复杂计算任务进行管理和执行;其特征在于,所述综合运算平台采用的计算脚本模型、触发调度方式和数据输出方式如下:一、计算脚本模型将公式脚本分为宏公式、预处理公式和公共公式三类;其中,所述宏公式用于在计算引擎启动时生成预设的固定值,供命令执行器调用;所述预处理公式在任意计算周期开始之前预先完成计算,输出结果只供其他公式调用,不对外输出;所述公共公式为执行各类计算任务的主体;每个公共公式中待定义的属性包括公式内容、触发方式和公式值类型;公式值类型分为基本数据、状态数据和指令数据;二、触发调度方式 将任意一个计算任务的触发方式设定为数据变化触发、接收外部调度指令触发、周期触发、计划任务触发、定时触发、手动触发中的一个或任意多个;三、数据输出方式根据不同计算任务采用的公共公式的公式值类型,计算任务的数据输出类型分为以下三类:(1)基本数据输出到实时数据库;(2)指令数据发送到指定的系统外设备;(3)状态数据输出到关系库,(4)以其他自定义的方式进行数据输出。2.如权利要求1所述的基于Lua脚本实现的光伏储能系统的综合运算平台,其特征在于:计算任务的触发方式中,“数据变化触发”指公式脚本中的测点或者子公式数据值变化时触发计算任务;“接收外部调度指令触发”指综合运算平台通过相应通信协议接收外部系统的调度指令并解析调度指令,触发计算任务;“周期触发”指在实时计算和历史计算中,预先设置周期运行参数,系统运行周期达到预设的周期运行参数时触发计算任务;“计划任务触发”的方式中需要预设调度频次和对应的调度时间,调度频次指调度时间内计算任务的触发次数;设为“计划任务触发”的计算任务在调度时间范围内按照调度频次伺机触发计算任务;“定时触发”指设定触发时刻,并在达到触发时刻或出现临时定时任务时触发计算任务;“手动触发”指接收手动调度服务并手动启动计算任务的触发方式。3.如权利要求1所述的基于Lua脚本实现的光伏储能系统的综合运算平台,其特征在于:在所述综合运算平台中,为不同的计算任务设置独立的线程,线程类型包括:通信调度线程、周期运行线程组、实时数据监视线程、定时器线程、手动执行消息监视线程。4.如权利要求3所述的基于Lua脚本实现的光伏储能系统的综合运算平台,其特征在于:在综合运算平台的各个独立线程中,通信调度线程负责和外部系统中的相关设备进行通信,接收相关调度指令,并在完成指令解析后触发对应的计算任务;周期运行线程组用于运行一系列长期运行的线程,根据各个计算任务中设定的运行周期来对计算脚本进行轮询计算;实时数据监视线程用于轮询实时快照中的数据,当公式中引用测点的值发生变化时,如果该计算任务的触发模式包含数据变化触发则触发对应计算任务;定时器线程负责对计划任务触发以及定时触发的任务进行管理,并结合时钟信息触发对应计算任务;手动执行消息监视线程用于通过监视中间件消息实现对手动触发的计算任务进行触发管理,用户下达指令后,系统发送相关Mqtt消息给计算程序,计算程序接收到相关信息后触发计算任务。5.如权利要求4所述的基于Lua脚本实现的光伏储能系统的综合运算平台,其特征在
于:所述周期运行线程组中的线程数量根据需要进行周期性运行的计算任务的最大数量进行定制,以保证所有周期性计算任务同时触发时仍能及时运行而不产生冲突。6.如权利要求1所述的基于Lua脚本实现的光伏储能系统的综合运算平台,其特征在于:计算脚本模型中每条计算脚本的元素包括测点、公式、函数、循环控制和条件控制;“测点”的属性包括数据的来源和数据的类型;“公式”用于限定各个计算任务对应数据处理方法;“函数”反应了公式处理过程采用或调用的不同类型的函数;“循环控制”和“条件控制”的属性共同用于限定各个计算任务对应的触发方式。7.如权利要求6所述的基于Lua脚本实现的光伏储能系统的综合运算平台,其特征在于:不同计算任务中采用的函数类型包括数学函数...

【专利技术属性】
技术研发人员:李绍平崔显成刘毅王松乐
申请(专利权)人:科大国创软件股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1