CN114115430A - 基于aoe网络和事件驱动的光伏最大功率点跟踪控制方法 - Google Patents
基于aoe网络和事件驱动的光伏最大功率点跟踪控制方法 Download PDFInfo
- Publication number
- CN114115430A CN114115430A CN202111341115.3A CN202111341115A CN114115430A CN 114115430 A CN114115430 A CN 114115430A CN 202111341115 A CN202111341115 A CN 202111341115A CN 114115430 A CN114115430 A CN 114115430A
- Authority
- CN
- China
- Prior art keywords
- action
- node
- aoe
- event
- point
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05F—SYSTEMS FOR REGULATING ELECTRIC OR MAGNETIC VARIABLES
- G05F1/00—Automatic systems in which deviations of an electric quantity from one or more predetermined values are detected at the output of the system and fed back to a device within the system to restore the detected quantity to its predetermined value or values, i.e. retroactive systems
- G05F1/66—Regulating electric power
- G05F1/67—Regulating electric power to the maximum power available from a generator, e.g. from solar cell
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02E—REDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
- Y02E10/00—Energy generation through renewable energy sources
- Y02E10/50—Photovoltaic [PV] energy
- Y02E10/56—Power conversion systems, e.g. maximum power point trackers
Landscapes
- Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Sustainable Development (AREA)
- Sustainable Energy (AREA)
- Power Engineering (AREA)
- Physics & Mathematics (AREA)
- Electromagnetism (AREA)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Automation & Control Theory (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于AOE网络和事件驱动的光伏最大功率点跟踪控制方法,该方法步骤如下:1)设计基于事件驱动的控制策略:预先设定所需测点,定义所需变量并设定变量的初始值;将控制策略按执行的先后顺序划分为若干动作;确定每个动作开始执行需满足的事件条件和前驱动作及动作执行完成的事件条件、事件的超时时间,以及执行失败后需要采取的措施;2)构建AOE网络;3)利用AOE网络配置文件定义AOE网络的基本信息、变量、事件和动作,从而描述AOE网络及控制策略;4)测点配置文件和通道配置文件的编写;5)AOE网络的解析与执行。采用本发明的方法可实现光伏阵列在各种不同的日照和温度环境下智能化地输出最大功率。
Description
技术领域
本发明涉及事件驱动技术,涉及工业控制领域,尤其涉及一种基于AOE网络和事件驱动的光伏最大功率点跟踪控制方法。
背景技术
光伏电池的最大输出功率会随外部环境如光照度、温度的变化而变化。为了充分利用电池的发电潜能,提高资源利用率,必须在光伏发电系统中加入控制器,对输出进行最大功率点跟踪,使得无论环境发生怎样的变化,光伏电池始终处在最大功率输出的状态。最大功率点跟踪(maximum power point tracking,MPPT)实质上是一个自寻优过程,即通过控制端电压,使光伏阵列能在各种不同的日照和温度环境下智能化地输出最大功率。
目前工程领域的最大功率点跟踪大多通过PI控制器和MPPT算法模块实现,很难同时满足系统瞬态和稳态的要求,PI控制器的参数需要进行大量的调试工作,以满足其在不同光照与温度的条件下稳定运行,因此实现起来较为繁琐,诚然现在有学者提出应用模糊控制来改善PI控制器的性能,但这又带来了另一个问题,即在运行中将占用大量的算力。
另一方面传统的工业控制需要对于设计好的控制策略进行代码编程实现。采用传统方式主要存在以下问题:第一,对设计控制算法的技术人员编程能力提出了很高的要求。实现策略可能需要编写大量代码,而且代码需要反复调试和优化,以确保其正确性和比较高的执行效率;第二,代码迭代周期长,正确性验证困难。通常控制策略测试分为本地测试、在线测试等步骤,距离最终目标之间的环节越多,出错的概率越高;第三,没有统一的规格和标准,针对一个场景往往需要为其单独开发一整套控制方法,通过大量的调试工作确定PI控制器的参数,开发成本很高。
因此,需要发明一种新型的光伏最大功率点跟踪控制方法,可以显著降低代码编写量,减少代码出错率,同时使控制器能够在不同光照与温度的条件下稳定运行,从而实现光伏阵列在各种不同的日照和温度环境下智能化地输出最大功率。
发明内容
针对上述背景技术中存在的技术问题,本发明提出一种基于AOE网络和事件驱动的光伏最大功率点跟踪控制方法,该方法可有效降低代码编写量,并提高对不同工业控制场景的通用性。
本发明采用如下技术方案实现:
基本的最大功率点跟踪算法有恒定电压法、扰动观测法和增量电导法等,本发明的控制通过增量电导法来实现。
增量电导法的思路是通过调整工作点的电压,使它逐渐接近最大功率点的电压。光伏阵列的电压功率曲线是一个单峰的曲线,在输出功率最大点处,功率对电压的导数为零,要寻找最大功率点,仅需在功率对电压的导数大于零的部分增加电压,在功率对电压的导数小于零的部分减小电压,在导数等于零或很接近零(如-10-10~10-10)时保持电压不变即可。对功率表达式,等式两边对U求导:
当dP/dU>0时,U小于最大功率点电压Um;当dP/dU<0时,U大于最大功率点电压Um;dP/dU=0时,U等于最大功率点电压Um。
根据基本原理,得到AOE网络图,并采取以下技术方案:
一种基于AOE(Activity On Edge Network)网络和事件驱动的光伏最大功率点跟踪控制,包括以下步骤:
1)设计基于事件驱动的控制策略,具体步骤如下:
101)预先设定所需测点,并定义所需变量,设定变量的初始值;
本发明设置了四个测点,分别为输入电流值、输入电压值、控制器输出给PWM模块的电压设定值以及DoCal_POINT。第四个测点DoCal_POINT不是实际物理测点,并不是用于获取控制信号的,每通信一次,这个测点将被设成1让控制器进行计算,控制器开始执行AOE控制策略的时候这个测点会被置0。
本发明中需要定义的变量及其初始值为:
dU:表示电压的微分,初始值为0;
dI:表示电流的微分,初始值为0;
In1:表示上一次网络运行时测得的电流值,初始值为0;
Un1:表示上一次网络运行时测得的电压值,初始值为0;
Uc:控制量变化的步长,初始值为0.03;
Ucb:控制量变化的最大步长,设定值为0.03;
Ucs:控制量变化的最小步长,设定值为0.001;
Uuplim:PWM波占空比控制量的最大值,设定值为0.5;
Udownlim:PWM波占空比控制量的最小值,设定值为-0.5;
dPdU:计算所得的dP/dU,初始值为0;
dPdUc:dP/dU的步长调整设定值,设定值为5;
e:无限趋近于0的常数,设定值为10-10;
102)将控制策略按照执行的先后顺序划分为若干个动作,所述动作的类型为下面的一种:None,表示无动作;SetPoints,表示设点,这个动作既可以将测点设值为数字量,也可以将变量定义为模拟量;
本发明设置了15个动作,按照执行的先后顺序分别为:
动作E1:AOE触发测点复位,计算dU和dI,动作类型为SetPoints;
动作E2:存储电压和电流值,进入判断dI是否为0的节点,动作类型为SetPoints;
动作E3:存储电压和电流值,计算dP/dU,动作类型为SetPoints;
动作E4:进入判断dI是否大于0的节点,动作类型为None;
动作E5:进入结束节点,动作类型为None;
动作E6:进入判断dP/dU是否小于步长调整设定值的节点,动作类型为None,这里的步长调整设定值表示要改变电压调节步长的阈值,当动作E6计算出dP/dU小于这个值,电压调节的步长选择最小步长;
动作E7:进入结束节点,动作类型为None;
动作E8:增大电压,动作类型为SetPoints;
动作E9:减小电压,动作类型为SetPoints;
动作E10:减小电压增量,动作类型为SetPoints;
动作E11:增大电压增量,动作类型为SetPoints;
动作E12:增大电压,动作类型为SetPoints;
动作E13:减小电压,动作类型为SetPoints;
动作E14:电压限幅,动作类型为SetPoints;
动作E15:电压限幅,动作类型为SetPoints;
103)确定每个动作开始执行时需要满足的事件条件和前驱动作,其中开始执行时需要满足的事件条件指动作执行前需要满足的条件;
104)确定每个动作执行完成的事件条件、事件的超时时间,以及执行失败后需要采取的措施。其中,执行完成的事件条件指动作执行后某些变量或者测点需要满足的条件(可根据具体情况确定需要满足的条件)。事件的超时时间指动作执行后,等待事件发生的最长时间。执行失败后需要采取的措施指动作执行失败后可以选择的几种处理措施,包括:尝试重新执行失败的动作、忽略本次失败并不影响其它动作、停止受到影响的动作、停止本次控制策略的执行。
本发明中各个动作均设置为尝试重新执行失败的动作(Default)
2)构建AOE网络
AOE网络是有向无环图,图的每个节点表示一个事件,每条边表示一个动作,边的方向表示节点所表示的事件之间的递进和迁移关系,这种关系由该条边所表示的动作决定。动作和节点在计算中依赖的变量只能来自测点、变量定义或已经被执行过的动作中计算出的变量。
确定每个动作的顺序以及动作发生、完成的事件后,用节点表示事件,事件发生导致被执行的动作作为从这个节点出发的有向边,每条有向边指向的节点表示动作完成后需要满足的事件。按照上述逻辑组织所有的节点和边,构成AOE网络拓扑。根据前文所述的基本原理得到本发明控制策略的AOE网络拓扑,如图1所示。
3)利用AOE网络配置文件定义AOE网络的基本信息、变量、事件和动作,从而描述步骤2)中构建的AOE网络及步骤1)中设计的控制策略。文件配置按照标准化格式,以表格信息录入的方式来完成,不需要编写代码,因此是一种低代码表达方式。AOE网络基本信息包括AOE网络的ID、是否启用网络标志、AOE网络的名称、AOE网络的触发条件、AOE网络的触发条件参数、变量初始值;所述的变量指控制算法执行过程中用到的中间量;所述的事件指由测点和变量计算构成的布尔表达式;动作指策略中的无动作、计算、指令下发行为;测点指在配置文件中通过属性进行描述的、用来记录实际设备非连续量的测量点。具体包括如下步骤:
301)AOE网络基本信息的低代码表达。其中,AOE网络的ID用正整数表示;是否启用网络标识用布尔值表示;AOE网络的名称用字符串表示;AOE网络的触发条件用简单重复驱动(SimpleRepeat)、时间驱动(TimeDirve)和事件驱动(EventDrive)三者之一表示;AOE网络的触发条件参数根据触发条件不同而表示不同的含义:触发条件为简单重复驱动时,触发条件参数为重复驱动之间的时间间隔(ms),用正整数表示;触发条件为时间驱动时,触发条件参数表示执行计划,用cron字符串表示;触发条件为事件驱动时,触发条件参数缺省;变量初始值用字符串和浮点数表示,分别表示变量名和该变量的初始值。AOE网络基本信息的低代码表达格式如表1所示。
表1AOE网络基本信息的低代码表达
(表格中u64表示64位无符号整数;Bool表示布尔类型;String表示字符串类型;\表示缺省;Float表示32位浮点数;Expr表示表达式字符串)
本发明控制策略的AOE网络触发采用EventDrive方式。
302)变量的低代码表示。本发明中不需要此模块的填写,在此不多赘述。
303)事件的低代码表示。事件包括节点所在的AOE网络、节点ID、节点名称、节点类型、超时时间、事件表达式。节点所在的AOE网络用301)中定义的AOE网络的ID表示;节点ID用正整数表示;节点名称用字符串表示;节点类型用普通节点(Condition)或分支节点(Switch)二者之一表示,其中普通节点在节点事件触发后,以该节点为起点的所有动作都会被执行,而分支节点为二分支节点,根据事件是否发生选择后续两个动作之一执行;超时时间用正整数表示,含义是事件发生的最长等待时间(ms);事件表达式用布尔表达式表示,计算结果为1或0分别表示事件发生和不发生。事件的低代码表达格式如表2所示。
表2事件的低代码表示
AOE ID | 节点ID | 节点名称 | 节点类型 | 超时时间 | 事件表达式 |
<u64> | <u64> | <String> | Condition/Switch | <u64> | <Expr> |
本发明中一共有10个节点,第一个节点是simulink通信事件节点,为事件触发类型,当DoCal_POINT>0.5时,也就是测点4输出1,表示允许控制器计算时,该节点被触发,进入运算流程。
中间6个节点(第2—7个节点)都是逻辑判断节点,对于设定值进行大小比较,完成逻辑判断后根据结果进入两条不同动作的边:判断结果为真执行第1条边,否则执行第2条边,边的顺序是就是文件里面定义的顺序。
第8和第9两个节点是事件触发类型,是中间节点,起连接的作用,节点被触发后,将通过下一条边进入结束节点。
最后一个节点是结束节点,是事件触发类型,当所有的计算步骤都完成,信号传输后,进入结束节点,计算结束,并将DoCal_POINT的数值改为0,等待下一次通信之后,开始计算。超时时间定为100ms,因为需要DoCal_POINT置0再让AOE执行过程结束,防止AOE被反复触发。
本发明中节点N1-N9的超时时间均设置为10ms,节点N10的超时时间设置为100ms.
304)动作的低代码表示。动作包括所在的AOE网络、首尾节点ID、动作名称、失败模式、动作类型、动作参数。动作所在的AOE网络用301)中定义的AOE网络的ID表示;首尾节点ID用一对正整数表示,含义分别是这条边的起点和终点,用303)中定义的节点ID表示;失败模式用重新执行失败的动作(Default)、忽略本次失败并不影响其它动作(Ignore)、停止受到影响的动作(StopFailed)和停止整个控制策略(StopAll)四者之一表示;动作类型用无动作(None)、设点(SetPoints)、线性方程组求解(Solve)、稀疏混合整数线性规划问题求解(Milp)、稠密描述的混合整数线性规划问题求解(SimpleMilp)和非线性规划问题求解(Nlp)六者之一表示;动作参数根据动作类型不同而表示不同的含义:动作类型为无动作时,动作参数缺省;动作类型为设点时,动作参数为字符串和表达式,并按照变量类型分为数字量和模拟量两部分,设点动作既可以进行变量的定义,也可以把数字量或者模拟量设置给测点,其中字符串表示变量或测点名称,表达式表示变量定义式或者测点被设置的值;动作类型为线性方程组求解、稀疏混合整数线性规划问题求解、稠密描述的混合整数线性规划问题求解和非线性规划问题求解时,动作参数为描述对应的数学模型的字符串。动作的低代码表达格式如表3所示。
表3动作的低代码表达
本发明中的部分动作的动作参数设置为:
动作E1:DoCal_POINT:0;dU:U_POINT-Un1;dI:I_POINT-In1;
动作E2:Un1:U_POINT;In1:I_POINT;
动作E8:Uset_POINT:Uset_POINT+Uc;
动作E14:Uset_POINT:(Uset_POINT<=Uuplim&&Uset_POINT>=Udownlim)*Uset_POINT+(Uset_POINT>Uuplim)*Uuplim+(Uset_POINT<Udownlim)*Udownlim;
动作E9:Uset_POINT:Uset_POINT-Uc;
动作E15:Uset_POINT:(Uset_POINT<=Uuplim&&Uset_POINT>=Udownlim)*Uset_POINT+(Uset_POINT>Uuplim)*Uuplim+(Uset_POINT<Udownlim)*Udownlim;
动作E3:Un1:U_POINT;In1:I_POINT;dPdU:I_POINT+U_POINT*dI/dU;
动作E10:Uc:Ucs;
动作E11:Uc:Ucb;
动作E12:Uset_POINT:Uset_POINT+Uc;
动作E13:Uset_POINT:Uset_POINT-Uc;
4)测点配置文件和通道配置文件的编写;所述测点配置文件的编写是将描述一个测点所需要的属性列举出来;所述通道配置文件用于描述控制器与被控对象的通信方式,并依据测点配置文件中的测点属性,给出保存测点值的寄存器信息和地址。具体包括以下步骤:
401)测点配置文件编写。测点配置文件里包括所有测点的序号、点号、名称、别名、是否离散、是否计算点、默认值和备注。序号用正整数表示,一般从1开始连续对测点进行编号;点号用正整数表示;名称用字符串表示,可包含中文;别名用字符串表示,即在步骤3)中进行AOE网络配置文件的低代码表达时需要用到的测点名,一般仅包含字母;是否离散用布尔值表示;是否计算点用布尔值表示;默认值用浮点数表示。测点配置文件的格式如表4所示。
表4测点配置文件的格式
序号 | 点号 | 名称 | 别名 | 是否离散 | 是否计算点 | 默认值 | 备注 |
<u64> | <u64> | <String> | <String> | <Bool> | <Bool> | <Float> | … |
本发明设置的四个测点,是否计算点均设置为FALSE;默认值均设置为0;除DoCal_POINT测点是否离散设置为TRUE外,其余三个测点为FALSE。
402)通道配置文件的编写。所述的通道配置文件包括通信方式配置和测点寄存器配置两部分,支持Modbus、IEC104、MQTT、串口的作为通信方式,通信方式配置根据采用通信协议的类型而包含不同的信息;采用Modbus通信,通信方式配置包括客户端IP\服务端IP、客户端端口\服务端端口、slave id、通信协议;采用IEC104通信,通信方式配置包括主站地址、从站地址、端口号;采用MQTT通信,通信方式配置包括服务器地址、服务器端口、订阅主题、推送主题;采用串口通信,通信方式配置包括端口号、波特率、校验位、数据位、停止位;测点寄存器配置用于给出存储测点数据的地址信息,包括序号、寄存器类型、起始地址、数据类型、新请求标志、轮询周期、点号。
以采用Modbus通信的通道为例,通道配置文件包含通道名称、连接个数、服务端口、连接名称、测点个数、客户端IP、客户端端口、slave id、通信协议、一次读寄存器数上限、一次读开关数上限、一次写寄存器数上限、一次写开关数上限、(默认)轮询周期(ms)、超时时间(ms)、通道状态测点号、序号、寄存器类型、起始地址、数据类型、新请求标志、轮询周期、点号。通道名称用字符串表示,可包含中文;连接个数用正整数表示;服务端口用正整数表示;连接名称用字符串表示;测点个数用正整数表示;客户端IP用字符串表示,格式为IPv4地址格式;客户端端口为正整数;通信协议为XA和ENCAP二者之一表示,XA和ENCAP表示Modbus通信中的两种通信协议(其中XA表示Modbus tcp协议,对应slave里面modbus tcp;ENCAP是最原始的Modbus rtu,表示只是用tcp作为载体字节的组织,对应slave里面Modbusrtu over tcp);一次读寄存器数上限用正整数表示;一次读开关数上限用正整数表示;一次写寄存器数上限用正整数表示;一次写开关数上限用正整数表示;默认轮询周期(ms)用正整数表示;超时(ms)用正整数表示;通道状态测点号用正整数表示;序号用正整数表示,一般从1开始连续对测点进行编号;寄存器类型用COILS、DISCRETE、HOLDING和INPUT四者之一表示,其中COILS表示线圈寄存器,实际上就可以类比为开关量,DISCRETE表示离散输入寄存器,只能读取开关量,相当于线圈寄存器的只读模式,HOLDING表示保持寄存器,该寄存器的单位不再是bit而是两个byte,可以存放具体的数据量的,并且是可读写的,INPUT表示输入寄存器,可看作只读模式的保持寄存器;起始地址用正整数表示,根据数据类型确定测点的地址偏移;数据类型用约定的类型声明表示,测点支持的数据类型如表5所示;新请求标志用布尔值表示;轮询周期用正整数表示,单位为ms;点号用正整数表示。测点配置文件的格式如表6所示。
表5测点支持的数据类型
表6通道配置文件的格式
服务端口设定为502,测点个数为4,客户端ip是被控对象的ip地址,客户端端口设置为9999,通信协议为XA。
本发明中需要用四个寄存器存储数据,寄存器类型均为HOLDING;起始地址分别为1、5、9、13;前三个存储的是三个有测量数据的测点的监测结果,数据类型为八位浮点数,最后一个寄存器存储的是不进行监测的测点的值,这个测点只有0和1两个结果,所以数据类型设置为无符号整数。
5)AOE网络的解析与执行
启动控制程序,解析AOE网络配置文件、通道配置文件和测点配置文件后,将这些文件所描述的控制策略应用于实际工业控制场景中即可实现工业控制。控制过程中,文件所定义的AOE网络被执行,具体步骤如下:
501)将AOE网络配置文件解析后得到的策略保存为一个AOE向量,所述AOE向量包含一个或多个AOE网络;
502)对测点配置文件和通道配置文件进行解析,用于分配存放测点数据的内存空间,并按照通道配置文件中声明的通信方式建立通信连接;
503)根据解析得到的AOE网络的触发条件决定控制策略的启动,将首节点的事件条件作为整个AOE网络是否被触发的条件,所述首节点表示AOE网络中入度为0的节点;
504)根据测点配置文件里的属性和起始地址,监测测点值的变动。当测点发生变动并引起首节点事件触发后,AOE网络启动并执行控制;
505)AOE网络从当前拓扑排序队列中弹出一个队首节点,等待直到节点事件发生或者超时,所述队首节点指当前拓扑排序队列当中排在最前面的节点;
506)当弹出的节点的事件发生超时,若不是收到外部的AOE取消指令或者失败,回到步骤505);
507)当节点事件发生时,执行该事件触发的所有动作,即AOE网络中以该节点为首节点的所有边上的动作被执行,并等待动作执行的返回结果,对于结果不成功的动作,根据每个动作的失败模式采取忽略、重试、停止受影响的节点、停止AOE执行的措施;
508)当动作全部执行完毕后,若拓扑排序队列不为空,则返回步骤505),否则说明节点已全部弹出,AOE网络执行完毕,控制过程结束。
本发明的有益效果为:
1)采用低代码方式表达控制策略,简化开发流程:按照本发明设计的低代码框架表达控制策略,控制策略的开发人员不需要熟练掌握某种编程语言即可开发高效执行的控制策略;
2)事件驱动能减少不必要计算资源和通信资源的浪费、更容易实现数字控制和多线程控制:事件驱动控制是一种基于异步通信的控制方式,不依赖同步时钟和连续状态更新,降低计算资源和通信资源的浪费,并且便于实现多线程控制;
3)设计了完整的AOE事件驱动控制策略执行框架:包含三种触发类型的AOE网络、事件判断和超时处理、动作执行失败处理方法,使本发明所提控制方法适应具备高度不确定性的环境。
4)利用低代码控制器实现了光伏最大功率点跟踪(MPPT)技术,其中采用了增量电导法,可使光伏在各种不同的日照和温度环境下智能化地输出最大功率,并可避免目前PI控制器控制的参数调节繁琐问题。控制模型的AOE网络建立十分直观,可以通过这个网络直接观察到运行步骤的所有过程,模型的构建简洁明了,同时模型的实现只需在文件中进行配置而无需编程,可显著减小控制程序开发人力和时间成本。
附图说明
图1是本发明控制策略的AOE网络拓扑。
图2是本发明方法的流程图。
具体实施方式
以下结合说明书附图对本发明的技术方案做进一步的详细说明。
以本发明的控制策略为例,在Simulink中构建仿真模型,并将仿真模型中的最新控制值通过通信通道传递到控制程序中。控制器的功能主要是控制PWM模块调整PWM的波形,控制器根据光伏电压和电流的变化获得功率的变化,再根据功率的变化情况调整工作点的电压以获得理想条件下的最大功率。该策略的AOE网络拓扑图如图1所示,编写低代码表达的AOE网络配置文件、测点配置文件和通道配置文件,如表7-表9所示。
如图1所示,光伏最大功率点跟踪控制策略包含10个事件,事件的配置参数和拓扑关系如表7中所示。其中Simulink通信事件为事件触发类型,当DoCal_POINT>0.5时,也就是测点4输出1,表示允许控制器计算时,节点N1被触发,进入运算流程;中间6个节点(N2—N7节点)都是逻辑判断节点,对于设定值进行大小比较,完成逻辑判断后根据结果进入两条不同动作的边:判断结果为真执行第1条边,否则执行第2条边,边的顺序是就是文件里面定义的顺序;N8和N9两个节点是事件触发类型,是中间节点,起连接的作用,节点被触发后,将通过下一条边进入结束节点;节点N10是结束节点,是事件触发类型,当所有的计算步骤都完成,信号传输后,进入结束节点,计算结束,并将DoCal_POINT的数值改为0,等待下一次通信之后,开始计算。超时时间定为100ms,因为需要DoCal_POINT置0再让AOE执行过程结束,防止AOE被反复触发。
如图1所示,控制策略包含15个动作,动作的配置参数和拓扑关系如表8中所示。其中AOE触发测点复位,动作E1是计算dU和dI,需要在这个边的动作上将DoCal_POINT置0,防止循环结束时还未置0导致网络再触发;动作E2是存储电压和电流值,进入判断dI是否为0的节点;动作E3是存储电压和电流值,计算dP/dU;动作E4是进入判断dI是否大于0的节点;动作E5是进入结束节点;动作E6是进入判断dP/dU是否小于步长调整设定值的节点;动作E7是进入结束节点;动作E8是增大电压;动作E9是减小电压;动作E10是减小电压增量;动作E11是增大电压增量;动作E12是增大电压;动作E13是减小电压;动作E14是电压限幅;动作E15是电压限幅。
如表8-表9所示,通道配置文件规定本例采用的通信方式为Modbus通信,共有4个测点.其中测点1表示输入电流值;测点2表示输入电压值;测点3表示控制器输出给PWM模块的电压设定值;测点4不是实际物理测点,并不是用于获取控制信号的,每通信一次,这个测点将被设成1让控制器进行计算,控制器开始执行AOE控制策略的时候这个测点会被置0。
如图2所示,本发明基于AOE事件驱动技术的光伏最大功率点跟踪控制方法控制流程如下:
1)控制程序启动,完成AOE网络配置文件、测点配置文件和通道配置文件解析。完成AOE配置文件解析后,控制程序在其内存中形成多个AOE对象;测点配置文件和通道配置文件解析完成后,控制程序建立Modbus通信连接,并为测点指定内存;
2)根据测点配置的结果,被控对象状态变动会以测点数值变化的形式被控制程序检测,当测点数值变化引起事件发生后,AOE网络开始执行。在本例中,AOE网络首节点的触发事件为测点4大于0.5,该测点的值由Simulink计算得到,AOE网络的第一个动作将测点4设置为0,表示本次计算已经开始以防止AOE网络被连续执行;
3)从AOE网络的拓扑排序队列中弹出首节点,等待直到首节点事件发生或者超时。本例中当首节点事件被触发后,执行顺序计算中间节点N1-N15的触发条件见表7;
4)以弹出的节点为首节点的动作被执行,如果动作执行成功,则返回步骤3)并弹出新的首节点,如果执行不成功,由于本例中所有动作失败模式均为重试(Default),程序会尝试重试失败的动作;
5)若拓扑排序队列中所有节点被弹出,则本次AOE网络执行完成,控制程序将控制量输出通过通信通道下发到测点3,仿真模型中接收到下发的控制量,Simulink将控制量作为PWM模块的电压设定值进行后续的仿真模拟。
表7AOE网络配置文件
表8测点配置文件
表9通道配置文件
Claims (6)
1.一种基于AOE网络和事件驱动的光伏最大功率点跟踪控制方法,其特征在于,包括以下步骤:
1)设计基于事件驱动的控制策略,具体步骤如下:
101)预先设定所需测点,定义所需变量并设定变量的初始值;
102)将控制策略按照执行的先后顺序划分为若干个动作,所述动作的类型为下面的一种:None,表示无动作;SetPoints,表示设点,这个用于将测点设值为数字量,或者将变量定义为模拟量;
所述动作按照执行的先后顺序具体为:
动作E1:AOE触发测点复位,计算dU和dI,动作类型为SetPoints;
动作E2:存储电压和电流值,进入判断dI是否为0的节点,动作类型为SetPoints;
动作E3:存储电压和电流值,计算dP/dU,动作类型为SetPoints;
动作E4:进入判断dI是否大于0的节点,动作类型为None;
动作E5:进入结束节点,动作类型为None;
动作E6:进入判断dP/dU是否小于步长调整设定值的节点,动作类型为None,所述步长调整设定值表示要改变电压调节步长的阈值,当动作E6计算出dP/dU小于这个值,电压调节的步长选择最小步长;
动作E7:进入结束节点,动作类型为None;
动作E8:增大电压,动作类型为SetPoints;
动作E9:减小电压,动作类型为SetPoints;
动作E10:减小电压增量,动作类型为SetPoints;
动作E11:增大电压增量,动作类型为SetPoints;
动作E12:增大电压,动作类型为SetPoints;
动作E13:减小电压,动作类型为SetPoints;
动作E14:电压限幅,动作类型为SetPoints;
动作E15:电压限幅,动作类型为SetPoints;
103)确定每个动作开始执行时需要满足的事件条件和前驱动作,其中开始执行时需要满足的事件条件指动作执行前需要满足的条件;
104)确定每个动作执行完成的事件条件、事件的超时时间,以及执行失败后需要采取的措施;执行完成的事件条件指动作执行后某些变量或者测点需要满足的条件;事件的超时时间指动作执行后,等待事件发生的最长时间;执行失败后需要采取的措施指动作执行失败后的处理措施为:尝试重新执行失败的动作;
2)构建AOE网络
AOE网络是有向无环图,图的每个节点表示一个事件,每条边表示一个动作,边的方向表示节点所表示的事件之间的递进和迁移关系,这种关系由该条边所表示的动作决定;动作和节点在计算中依赖的变量只能来自测点、变量定义或已经被执行过的动作中计算出的变量;确定每个动作的顺序以及动作发生、完成的事件后,用节点表示事件,事件发生导致被执行的动作作为从这个节点出发的有向边,每条有向边指向的节点表示动作完成后需要满足的事件;
按照上述逻辑组织所有的节点和边,构成AOE网络拓扑;
3)利用AOE网络配置文件定义AOE网络的基本信息、变量、事件和动作,从而描述步骤2)中构建的AOE网络及步骤1)中设计的控制策略;
文件配置按照标准化格式,以表格信息录入的方式来完成,不需要编写代码;AOE网络基本信息包括AOE网络的ID、是否启用网络标志、AOE网络的名称、AOE网络的触发条件、AOE网络的触发条件参数、变量初始值;所述的变量指控制算法执行过程中用到的中间量;所述的事件指由测点和变量计算构成的布尔表达式;动作指策略中的无动作、计算、指令下发行为;测点指在配置文件中通过属性进行描述的、用来记录实际设备非连续量的测量点;
4)测点配置文件和通道配置文件的编写;所述测点配置文件的编写是将描述一个测点所需要的属性列举出来;所述通道配置文件用于描述控制器与被控对象的通信方式,并依据测点配置文件中的测点属性,给出保存测点值的寄存器信息和地址;
5)AOE网络的解析与执行
启动控制程序,解析AOE网络配置文件、通道配置文件和测点配置文件后,将这些文件所描述的控制策略应用于实际工业控制场景中即可实现工业控制。
2.根据权利要求1所述的基于AOE网络和事件驱动的光伏最大功率点跟踪控制方法,其特征在于,所述的步骤101)中:
所需测点为输入电流值、输入电压值、控制器输出给PWM模块的电压设定值以及DoCal_POINT;DoCal_POINT不是实际物理测点,每通信一次,这个测点将被设成1让控制器进行计算,控制器开始执行AOE控制策略的时候这个测点会被置为0;
需要定义的变量及其初始值为:
dU:表示电压的微分,初始值为0;
dI:表示电流的微分,初始值为0;
In1:表示上一次网络运行时测得的电流值,初始值为0;
Un1:表示上一次网络运行时测得的电压值,初始值为0;
Uc:控制量变化的步长,初始值为0.03;
Ucb:控制量变化的最大步长,设定值为0.03;
Ucs:控制量变化的最小步长,设定值为0.001;
Uuplim:PWM波占空比控制量的最大值,设定值为0.5;
Udownlim:PWM波占空比控制量的最小值,设定值为-0.5;
dPdU:计算所得的dP/dU,初始值为0;
dPdUc:dP/dU的步长调整设定值,设定值为5;
e:无限趋近于0的常数,设定值为10-10。
3.根据权利要求1所述的基于AOE网络和事件驱动的光伏最大功率点跟踪控制方法,其特征在于,所述的步骤3)具体为:
301)AOE网络基本信息的低代码表达;其中,AOE网络的ID用正整数表示;是否启用网络标识用布尔值表示;AOE网络的名称用字符串表示;AOE网络的触发条件用事件驱动表示,触发条件参数缺省;变量初始值用字符串和浮点数表示,分别表示变量名和该变量的初始值;
302)事件的低代码表示;事件包括节点所在的AOE网络、节点ID、节点名称、节点类型、超时时间、事件表达式;节点所在的AOE网络用301)中定义的AOE网络的ID表示;节点ID用正整数表示;节点名称用字符串表示;节点类型用普通节点或分支节点二者之一表示,其中普通节点在节点事件触发后,以该节点为起点的所有动作都会被执行,而分支节点为二分支节点,根据事件是否发生选择后续两个动作之一执行;超时时间用正整数表示,含义是事件发生的最长等待时间ms;事件表达式用布尔表达式表示,计算结果为1或0分别表示事件发生和不发生;
303)动作的低代码表示;动作包括所在的AOE网络、首尾节点ID、动作名称、失败模式、动作类型、动作参数;动作所在的AOE网络用301)中定义的AOE网络的ID表示;首尾节点ID用一对正整数表示,含义分别是这条边的起点和终点,用302)中定义的节点ID表示;失败模式用重新执行失败的动作表示;动作类型为无动作和设点;动作参数根据动作类型不同而表示不同的含义:动作类型为无动作时,动作参数缺省;动作类型为设点时,动作参数为字符串和表达式,并按照变量类型分为数字量和模拟量两部分,设点动作既可以进行变量的定义,也可以把数字量或者模拟量设置给测点,其中字符串表示变量或测点名称,表达式表示变量定义式或者测点被设置的值。
4.根据权利要求1所述的基于AOE网络和事件驱动的光伏最大功率点跟踪控制方法,其特征在于,所述的步骤4)具体包括以下步骤:
401)测点配置文件编写:测点配置文件里包括所有测点的序号、点号、名称、别名、是否离散、是否计算点、默认值和备注;序号用正整数表示,从1开始连续对测点进行编号;点号用正整数表示;名称用字符串表示,可包含中文;别名用字符串表示,即为步骤3)中的测点名,一般仅包含字母;是否离散用布尔值表示;是否计算点用布尔值表示;默认值用浮点数表示;
402)通道配置文件的编写;所述的通道配置文件包括通信方式配置和测点寄存器配置两部分,支持Modbus、IEC104、MQTT、串口的作为通信方式,通信方式配置根据采用通信协议的类型而包含不同的信息;采用Modbus通信,通信方式配置包括客户端IP\服务端IP、客户端端口\服务端端口、slave id、通信协议;采用IEC104通信,通信方式配置包括主站地址、从站地址、端口号;采用MQTT通信,通信方式配置包括服务器地址、服务器端口、订阅主题、推送主题;采用串口通信,通信方式配置包括端口号、波特率、校验位、数据位、停止位;测点寄存器配置用于给出存储测点数据的地址信息,包括序号、寄存器类型、起始地址、数据类型、新请求标志、轮询周期、点号。
5.根据权利要求4所述的基于AOE网络和事件驱动的光伏最大功率点跟踪控制方法,其特征在于,所述的通道配置文件采用Modbus通信时,其具体配置为:
通道配置文件包含通道名称、连接个数、服务端口、连接名称、测点个数、客户端IP、客户端端口、slave id、通信协议、一次读寄存器数上限、一次读开关数上限、一次写寄存器数上限、一次写开关数上限、轮询周期ms、超时时间ms、通道状态测点号、序号、寄存器类型、起始地址、数据类型、新请求标志、轮询周期、点号;通道名称用字符串表示,可包含中文;连接个数用正整数表示;服务端口用正整数表示;连接名称用字符串表示;测点个数用正整数表示;客户端IP用字符串表示,格式为IPv4地址格式;客户端端口为正整数;通信协议为XA和ENCAP二者之一表示,XA和ENCAP表示Modbus通信中的两种通信协议,其中XA表示Modbustcp协议,对应slave里面modbus tcp;ENCAP是最原始的Modbus rtu,表示只是用tcp作为载体字节的组织,对应slave里面Modbus rtu over tcp;一次读寄存器数上限用正整数表示;一次读开关数上限用正整数表示;一次写寄存器数上限用正整数表示;一次写开关数上限用正整数表示;默认轮询周期ms用正整数表示;超时ms用正整数表示;通道状态测点号用正整数表示;序号用正整数表示,从1开始连续对测点进行编号;寄存器类型用COILS、DISCRETE、HOLDING和INPUT四者之一表示,其中COILS表示线圈寄存器,类比为开关量,DISCRETE表示离散输入寄存器,只能读取开关量,相当于线圈寄存器的只读模式,HOLDING表示保持寄存器,该寄存器的单位不再是bit而是两个byte,可以存放具体的数据量的,并且是可读写的,INPUT表示输入寄存器,可看作只读模式的保持寄存器;起始地址用正整数表示,根据数据类型确定测点的地址偏移;数据类型用约定的类型声明表示;新请求标志用布尔值表示;轮询周期用正整数表示,单位为ms;点号用正整数表示。
6.根据权利要求1所述的基于AOE网络和事件驱动的光伏最大功率点跟踪控制方法,其特征在于,所述的步骤5)的具体步骤如下:
501)将AOE网络配置文件解析后得到的策略保存为一个AOE向量,所述AOE向量包含一个或多个AOE网络;
502)对测点配置文件和通道配置文件进行解析,用于分配存放测点数据的内存空间,并按照通道配置文件中声明的通信方式建立通信连接;
503)根据解析得到的AOE网络的触发条件决定控制策略的启动,将首节点的事件条件作为整个AOE网络是否被触发的条件,所述首节点表示AOE网络中入度为0的节点;
504)根据测点配置文件里的属性和起始地址,监测测点值的变动;当测点发生变动并引起首节点事件触发后,AOE网络启动并执行控制;
505)AOE网络从当前拓扑排序队列中弹出一个队首节点,等待直到节点事件发生或者超时,所述队首节点指当前拓扑排序队列当中排在最前面的节点;
506)当弹出的节点的事件发生超时,若不是收到外部的AOE取消指令或者失败,回到步骤505);
507)当节点事件发生时,执行该事件触发的所有动作,即AOE网络中以该节点为首节点的所有边上的动作被执行,并等待动作执行的返回结果,对于结果不成功的动作,根据每个动作的失败模式采取忽略、重试、停止受影响的节点、停止AOE执行的措施;
508)当动作全部执行完毕后,若拓扑排序队列不为空,则返回步骤505),否则说明节点已全部弹出,AOE网络执行完毕,控制过程结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111341115.3A CN114115430A (zh) | 2021-11-12 | 2021-11-12 | 基于aoe网络和事件驱动的光伏最大功率点跟踪控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111341115.3A CN114115430A (zh) | 2021-11-12 | 2021-11-12 | 基于aoe网络和事件驱动的光伏最大功率点跟踪控制方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114115430A true CN114115430A (zh) | 2022-03-01 |
Family
ID=80379084
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111341115.3A Withdrawn CN114115430A (zh) | 2021-11-12 | 2021-11-12 | 基于aoe网络和事件驱动的光伏最大功率点跟踪控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114115430A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117194731A (zh) * | 2023-11-06 | 2023-12-08 | 中国西安卫星测控中心 | 一种基于有向带环图的测控流程自动化调度方法 |
-
2021
- 2021-11-12 CN CN202111341115.3A patent/CN114115430A/zh not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117194731A (zh) * | 2023-11-06 | 2023-12-08 | 中国西安卫星测控中心 | 一种基于有向带环图的测控流程自动化调度方法 |
CN117194731B (zh) * | 2023-11-06 | 2024-01-26 | 中国西安卫星测控中心 | 一种基于有向带环图的测控流程自动化调度方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12032879B2 (en) | Electromagnetic transient simulation method for field programmable logic array | |
CN107239392B (zh) | 一种测试方法、装置、终端及存储介质 | |
CN101957745B (zh) | 梯形图语言转换为结构文本语言的方法 | |
CN100405294C (zh) | 在运行时期间优化计算机程序的系统与方法 | |
CN104778124A (zh) | 一种软件应用自动化测试方法 | |
CN115857361B (zh) | 一种用于啤酒发酵的优化控制方法及系统 | |
CN110516789A (zh) | 卷积网络加速器中指令集的处理方法、装置及相关设备 | |
CN114115430A (zh) | 基于aoe网络和事件驱动的光伏最大功率点跟踪控制方法 | |
CN113705136A (zh) | 一种集成电路自动化逻辑综合系统、方法、装置及介质 | |
CN111267111B (zh) | 一种机器人控制方法、装置及系统 | |
CN117971906B (zh) | 一种多卡协同数据库查询方法、装置、设备及存储介质 | |
CN102929853A (zh) | 基于Excel表单关联的DCS项目数据生成系统和方法 | |
CN113709233B (zh) | 基于aoe网络和事件驱动的低代码工业控制方法 | |
CN112131716A (zh) | 一种用于电力电子化电力系统的随机电磁暂态分析方法及系统 | |
CN102063308B (zh) | 一种用于地震勘探资料处理流程控制的方法 | |
EP3794445A1 (en) | Creating and handling lambda functions in spreadsheet applications | |
CN114860445A (zh) | 一种面向大模型训练的张量存储管理方法 | |
CN114063440A (zh) | 一种基于aoe网络的低代码pid控制方法 | |
CN115345100A (zh) | 片上网络仿真模型及动态路径规划方法、装置、多核芯片 | |
CN111325008A (zh) | 一种基于分布式的公式计算方法 | |
Heisinger et al. | QuAPI: Adding Assumptions to Non-Assuming SAT & QBF Solvers. | |
CN116257218B (zh) | 一种统计分析软件与核能程序的接口设计方法及集成系统 | |
CN114115146A (zh) | 一种支持优化问题求解的工业控制方法 | |
CN113204478B (zh) | 测试单元的运行方法、装置、设备和存储介质 | |
CN101290582A (zh) | 组件化时钟精确的多核体系模拟器的实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20220301 |
|
WW01 | Invention patent application withdrawn after publication |