一种基于dma的光伏跟踪器数据采集方法与系统

文档序号:1921445 发布日期:2021-12-03 浏览:23次 >En<

阅读说明:本技术 一种基于dma的光伏跟踪器数据采集方法与系统 (DMA-based photovoltaic tracker data acquisition method and system ) 是由 王士涛 陈青林 于 2021-09-08 设计创作,主要内容包括:本发明公开了一种基于DMA的光伏跟踪器数据采集方法与系统,应用于采集光伏跟踪器组的跟踪数据,所述光伏跟踪器组包括若干个按序排列的光伏跟踪器,其方法包括步骤:通过数据采集器在控制信道向光伏跟踪器组发送采集开始指令;控制光伏跟踪器组中若干个待采集的光伏跟踪器依次在上行信道发送跟踪数据至数据采集器;通过DMA控制器对跟踪数据进行缓存处理;控制数据采集器提取由DMA控制器缓存处理的若干个跟踪数据。本发明使数据采集器只需下发一次采集指令后,处理其他事务时仍能接收光伏跟踪器回传的数据,提高数据采集器的工作效率以及跟踪数据的采集效率。(The invention discloses a DMA-based photovoltaic tracker data acquisition method and system, which are applied to acquisition of tracking data of a photovoltaic tracker group, wherein the photovoltaic tracker group comprises a plurality of photovoltaic trackers which are arranged in sequence, and the method comprises the following steps: sending an acquisition starting instruction to the photovoltaic tracker group through a data acquisition unit on a control channel; controlling a plurality of photovoltaic trackers to be collected in the photovoltaic tracker group to sequentially send tracking data to a data collector on an uplink channel; caching the tracking data through a DMA controller; the control data collector extracts a plurality of trace data cached and processed by the DMA controller. According to the invention, the data collector can still receive the data returned by the photovoltaic tracker when processing other affairs only after issuing the collection instruction once, so that the working efficiency of the data collector and the collection efficiency of the tracking data are improved.)

一种基于DMA的光伏跟踪器数据采集方法与系统

技术领域

本发明专利涉及通信技术领域,尤其指一种基于DMA的光伏跟踪器数据采集方法与系统。

背景技术

随着光伏产业的发展,光伏系统的数据采集与传输领域需要面临的问题也随之增多。光伏跟踪器数据采集系统其数据传输承载的主设备主要是跟踪器和数据采集器,前者承担跟踪支架电机驱动,支架角度采集等功能,后者承担跟踪器的数据采集功能,一般光伏电站以一定地理区域划分一个方阵,一个方阵仅含一个数据采集器,和上百台光伏跟踪器。

在现有技术中,例如采用485总线通信为典型的一数据采集器、多光伏跟踪器的数据传输机制,特点在于总线需要传输数据时,仅允许数据采集器主动先向光伏跟踪器询问。且因为物理电气的限制,其数据总线为有线形式,并且同一时间的传输总线上,仅允许存在一台数据采集器,又仅能允许一台光伏跟踪器和数据采集器进行数据传输。数据采集器为把传输总线上的光伏跟踪器设备数据全部采集一遍,其数据采集器通过传输总线主动询问目标从设备数据并等待从设备回传数据,随后目标从设备又通过传输总线将数据比特流发送给数据采集器。

传统使用一数据采集器、多光伏跟踪器的光伏跟踪器数据采集系统,需数据采集器通过无线串口通信主动询问目标光伏跟踪器数据,并等待目标光伏跟踪器返回数据。而目标从设备发生异常无法通信时,将导致数据采集器做着无意义等待。同一条传输总线上的光伏跟踪器设备越多,数据采集器采集完所有从设备所耗时越长。同时,如果数据采集器使用了串口接收中断,光伏跟踪器设备频繁回传数据将导致数据采集器的串口接收中断占用了较多CPU开销,影响了其他事务的进行。

因此目前迫切需要一种光伏跟踪器数据采集方法,可以解决一数据采集器、多光伏跟踪器的光伏跟踪器数据采集系统中,每次采集数据都需要数据采集器的CPU下发一次采集命令并等待光伏跟踪器回传采集数据所导致的采集效率低以及采集过程占用CPU过多的问题。

发明内容

为了解决传统光伏跟踪器数据采集方法中采集效率低以及采集过程占用CPU过多的技术问题,本发明提供一种基于DMA的光伏跟踪器数据采集方法与系统,具体技术方案如下:

本发明提供一种基于DMA的光伏跟踪器数据采集方法,应用于采集光伏跟踪器组的跟踪数据,所述光伏跟踪器组包括若干个按序排列的光伏跟踪器,包括步骤:

通过数据采集器在控制信道向所述光伏跟踪器组发送采集开始指令;

控制所述光伏跟踪器组中若干个待采集的所述光伏跟踪器依次在上行信道发送跟踪数据至所述数据采集器;

通过DMA控制器对所述跟踪数据进行缓存处理;

控制所述数据采集器提取由所述DMA控制器缓存处理的若干个所述跟踪数据。

本发明提供的基于DMA的光伏跟踪器数据采集方法通过数据采集器下发一次采集指令,由若干个光伏跟踪器自动依次发送跟踪数据并交由DMA控制器缓冲处理的控制过程,避免了数据处理器采集各个光伏跟踪器时均需要下发一次采集指令的操作,并且存储处理由DMA控制器完成,无需等待各个光伏跟踪器上传跟踪数据,节约了数据处理器的CPU内存,使数据采集器CPU在处理其他事务时仍能接收光伏跟踪器回传的数据,提高数据采集器的工作效率。

进一步地,本发明还提供一种基于DMA的光伏跟踪器数据采集方法,所述的控制所述光伏跟踪器组中若干个待采集的所述光伏跟踪器依次在上行信道发送跟踪数据至所述数据采集器,包括:

待采集的所述光伏跟踪器中起始的所述光伏跟踪器响应所述采集开始指令;

待采集的所述光伏跟踪器中起始的所述光伏跟踪器发送所述跟踪数据至所述数据采集器;

待采集的所述光伏跟踪器中起始的所述光伏跟踪器通知下一所述光伏跟踪器发送所述跟踪数据;

以此递推,直至待采集的所述光伏跟踪器中末位的所述光伏跟踪器发送所述跟踪数据。

本发明提供的基于DMA的跟踪器数据采集方法可以使数据采集器下发一次采集指令,若干个光伏跟踪器便自动依次发送跟踪数据,节约了数据处理器的CPU内存,使数据采集器CPU在处理其他事务时仍能接收光伏跟踪器回传的数据,提高数据采集器的工作效率。

进一步地,本发明提供一种基于DMA的光伏跟踪器数据采集方法,所述的待采集的所述光伏跟踪器中起始的所述光伏跟踪器通知下一所述光伏跟踪器发送所述跟踪数据,具体包括:

待采集的所述光伏跟踪器中起始的所述光伏跟踪器向下一所述光伏跟踪器发送回传指令,所述回传指令用于通知下一所述光伏跟踪器发送所述跟踪数据。

进一步地,本发明还提供一种基于DMA的光伏跟踪器数据采集方法,所述的控制所述数据采集器提取由所述DMA控制器缓存处理的若干个所述跟踪数据,包括:

在所述数据采集器采集结束后控制所述数据采集器提取由所述DMA控制器缓存处理的若干个所述跟踪数据。

进一步地,本发明还提供一种基于DMA的光伏跟踪器数据采集方法,所述的控制所述数据采集器提取由所述DMA控制器缓存处理的若干个所述跟踪数据,还包括:

在DMA缓存空间中数据内存占满时控制所述数据采集器提取由所述DMA控制器缓存处理的若干个所述跟踪数据。

进一步地,本发明提供一种基于DMA的光伏跟踪器数据采集方法,具体包括:

所述数据采集器响应空闲中断指令,控制所述数据采集器提取由所述DMA控制器缓存处理的若干个所述跟踪数据。

本发明提供的数据采集方法在每次采集结束,数据采集器响应空闲中断时将DMA缓存空间内的跟踪数据提取到数据采集器中,增加了数据采集的及时性。

进一步地,本发明还提供一种基于DMA的光伏跟踪器数据采集方法,具体包括:

控制所述DMA控制器在所述DMA缓存空间中数据内存占满时向所述数据采集器发起中断。

本发明提供的数据采集方法在DMA缓存空间中数据内存占满时提取数据,避免因DMA缓存空间占满导致之前采集的数据被覆盖,影响数据采集效率与质量。

另外地,本发明提供一种基于DMA的光伏跟踪器数据采集系统,包括:

若干个按序排列的光伏跟踪器组成的光伏跟踪器组、数据采集器和DMA控制器;

所述数据采集器通过控制信道发送采集开始指令至所述光伏跟踪器组;

所述光伏跟踪器组接收到所述采集开始指令后,所述光伏跟踪器组中若干个待采集的所述光伏跟踪器依次通过上行信道分别发送对应的跟踪数据至所述数据采集器;

所述DMA控制器在所述数据采集器每次接收到所述跟踪数据之后,将所述跟踪数据缓存到DMA缓存空间;

所述数据采集器提取所述DMA缓存空间中由所述DMA控制器缓存处理的若干个所述跟踪数据。

进一步地,本发明提供一种基于DMA的光伏跟踪器数据采集系统,还包括:

第一中断模块,用于检测到所述数据采集器从接收数据状态切换为空闲状态时发起中断;

所述DMA控制器还包括:

第二中断模块,用于检测到所述DMA缓存空间中数据内存占满时发起中断。

进一步地,本发明提供的一种基于DMA的光伏跟踪器数据采集系统,其中:

若干个所述光伏跟踪器共用一个通信模块。

本发明提供一种基于DMA的光伏跟踪器数据采集方法与系统,至少具有以下技术效果:

1)、避免了数据处理器采集各个光伏跟踪器时均需要下发一次采集指令的操作,使数据采集器的CPU无需等待各个光伏跟踪器上传跟踪数据,节约了数据处理器的CPU内存;

2)、数据处理器接收到跟踪数据后由DMA控制器完成存储工作,使数据采集器CPU在处理其他事务时仍能接收光伏跟踪器回传的数据,提高数据采集器的工作效率;

3)、在每次采集结束后将DMA缓存空间内的跟踪数据提取到数据采集器中,增加了数据采集的及时性。

附图说明

下面将以明确易懂的方式,结合

附图说明

优选实施方式,对一种基于DMA的光伏跟踪器数据采集方法与系统的上述特性、技术特征、优点及其实现方式予以进一步说明。

图1是本发明一种基于DMA的光伏跟踪器数据采集系统的示意图;

图2是本发明一种基于DMA的光伏跟踪器数据采集系统中地址连续的光伏跟踪器组的示意图;

图3是本发明一种基于DMA的光伏跟踪器数据采集系统的另一个示意图;

图4是本发明一种基于DMA的光伏跟踪器数据采集方法的流程图;

图5是本发明一种基于DMA的光伏跟踪器数据采集方法中若干个光伏跟踪器依次发送跟踪数据的流程图;

图6是本发明一种基于DMA的光伏跟踪器数据采集方法中若干个光伏跟踪器依次发送跟踪数据的另一个流程图;

图7是本发明一种基于DMA的光伏跟踪器数据采集方法的一个流程图;

图8是本发明一种基于DMA的光伏跟踪器数据采集方法的另一个流程图。

图中标号:100-数据采集器、200-光伏跟踪器、210-起始地址的光伏跟踪器、220-起始地址与末位地址范围内其它地址连续的光伏跟踪器、230-末位地址的光伏跟踪器、240-通信模块、300-DMA控制器、310-第二中断模块、400-第一中断模块。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其他实施例中也可以实现本申请。在其他情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所述描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其他特征、整体、步骤、操作、元素、组件和/或集合的存在或添加。

为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。

还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

另外,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。

实施例1

本发明的一个实施例,如图1所示,本发明提供一种基于DMA的光伏跟踪器数据采集系统,包括若干个按序排列的光伏跟踪器200组成的光伏跟踪器组、数据采集器100和DMA控制器300,其中:

数据采集器100,用于在控制信道发送采集开始指令至光伏跟踪器组中若干个光伏跟踪器200,并在上行信道依次接收若干个待采集的光伏跟踪器200发送的若干个跟踪数据后,将若干个跟踪数据发给DMA控制器300缓存处理,以及提取DMA控制器300缓存到DMA缓存空间中的若干个跟踪数据。

具体地,数据采集器100同时建立两个不同信道的无线串口通信接口。其中一个无线串口用于光伏跟踪器200回传跟踪数据,所在信道称作上行信道,另外一个无线串口通信接口用于数据采集器100主动向光伏跟踪器200采集开始指令,所在信道称作控制信道。

具体地,数据采集器100承担数据采集与数据分析等功能,一般光伏矩阵将一定地理区域划分一个子阵,一个子阵仅含一个数据采集器100,和上百台光伏跟踪器200。光伏跟踪器200与数据采集器100之间通信方式为无线串口通信方式。

数据采集器100的控制方式为在控制信道下发一次采集开始指令,采集指令包括光伏跟踪器200的设备编号,每一个光伏跟踪器对应一个设备编号,设备编号范围从1至N,数据采集器100要求光伏跟踪器200按照设备编号从低到高依次回传跟踪数据,即编号为1光伏跟踪器的先回传跟踪数据,然后编号为2光伏跟踪器的先回传跟踪数据,直至编号为N光伏跟踪器完成回传跟踪数据。

在此过程中数据采集器100只完成一次发送采集开始指令的操作,之后数据采集器100的CPU可以处理其他进程,无需等待光伏跟踪器200回传跟踪数据后,对跟踪数据缓存处理,该缓存处理操作由DMA控制器300完成。

若干个光伏跟踪器200,与数据采集器100连接,用于在控制信道接收采集开始指令,并依次在上行信道分别发送对应的跟踪数据至数据采集器100。

具体地,光伏跟踪器200承担跟踪支架电机驱动、支架角度采集等功能。若干个待采集的光伏跟踪器200按照次序依次将跟踪数据发送至数据采集器100,并且上一顺序的光伏跟踪器200通知下一顺序的光伏跟踪器200发送跟踪数据,当待采集序列中最后一个光伏跟踪器200发送完采集数据后,最后一个光伏跟踪器200不再通知其它的光伏跟踪器200发送跟踪数据,而是向数据采集器100发送采集结束指令。其中若干个光伏跟踪器排列的次序可以按照地址顺序、预先标号、方位顺序、功率大小等参量排序,该排序方法属于客观规则,不限于上述的排序次序,其排序方法对系统控制流程不发生影响。

示例性地地,当若干个光伏跟踪器200按设备编号进行排序时,采集开始指令由数据采集器100发送至编号范围内所有的光伏跟踪器200,只有编号范围内起始编号的光伏跟踪器200响应采集开始指令并开始发送跟踪数据,采集开始指令包括起始编号、末位编号、第一指令功能码与结束符,其中:

起始编号为采集周期开始时被采集的第一个光伏跟踪器200的编号。

末位编号为采集周期内最后一个被采集光伏跟踪器200的编号,其与起始编号约束了采集周期内询问的光伏跟踪器200编号范围。

第一指令功能码用于数据采集器100通知被采集的第一个光伏跟踪器200开始发送跟踪数据。

结束符代表一个指令的结束,被采集的第一个光伏跟踪器200收到结束符后,便开始响应第一指令功能码。

具体地,在数据采集过程中,编号范围内除了末位编号光伏跟踪器200之外,其余所有的光伏跟踪器200均会向下一顺序的光伏跟踪器200发送回传指令,回传指令用于通知下一顺序的光伏跟踪器200开始发送跟踪数据,回传指令包括本机编号、下一编号、第二指令功能码与结束符,其中:

本机编号是指被采集询问的光伏跟踪器200的编号,即发送回传指令的光伏跟踪器200本机的编号。

下一编号是指通知下一个被采集询问的光伏跟踪器200的编号,等于上述本机编号加1。其中当下一编号为FF时,代表一个采集周期结束。

第二指令功能码用于数据采集器100通知被采集的下一个光伏跟踪器200开始发送跟踪数据。

DMA控制器300,与数据采集器100连接,用于将数据采集器100接收的若干个跟踪数据缓存至DMA缓存空间,以及在DMA缓存空间中数据内存占满时将DMA缓存空间中的若干个跟踪数据发送至数据采集器100。

具体地,数据采集器100在内存中开辟的一个的DMA缓存空间,DMA控制器300将从数据采集器100接收到的光伏跟踪器200发送的跟踪数据缓存到DMA缓存空间中。

优选地,其DMA控制器300中可以采用DMA传输量计数器辅控DMA控制器300发送跟踪数据,通过设置包括预设阈值的DMA传输量计数器,其预设阈值与DMA缓存空间的数据内存字节总量相同,其DMA控制器每将跟踪数据传送1字节至DMA缓存空间,DMA传输量计数器减1。当DMA传输量计数器数值为0时,DMA控制器300将从数据采集器100接收到的光伏跟踪器200发送的跟踪数据缓存到DMA缓存空间中,避免DMA缓存空间数据被随后回传数据覆盖。在一个采集开始指令所包括的采集周期中,可能存在多次DMA控制器300将跟踪数据发送至数据采集器100的进程。

可选地,每个光伏跟踪器上设置一个第一通信接口,用于切换上行信道和控制信道,使光伏跟踪器200通过上行信道和控制信道收发数据。

数据采集器100上设置有第二通信接口和第三通信接口,其中第二通信接口用于使数据采集器100通过上行信道收发数据,第三通信接口用于使数据采集器100通过控制信道收发数据。

第一通信接口和数据采集器100之间直接设置有第一UART收发器,第一UART收发器用于在数据采集器100和若干个光伏跟踪器200之间传输采集开始指令与跟踪数据,数据采集器100的第三通信接口和第一通信接口之间还设置有第三UART收发器,第三UART收发器用于在数据采集器100和若干个光伏跟踪器200之间传输采集开始指令。

数据采集器100的第二通信接口和DMA控制器300之间还设置有第二UART收发器,用于在数据采集器100、若干个光伏跟踪器200和DMA控制器300之间传输跟踪数据。

在本实施例中基于DMA的光伏跟踪器数据采集系统通过数据采集器100下发一次采集指令,由若干个光伏跟踪器200自动依次发送跟踪数据并交由DMA控制器300缓冲处理的控制过程,避免了数据采集器100采集各个光伏跟踪器200时均需要下发一次采集指令的操作,并且存储处理由DMA控制器300完成,无需等待各个光伏跟踪器200上传跟踪数据,节约了数据采集器100的CPU内存,使数据采集器100的CPU在处理其他进程时仍能接收光伏跟踪器200回传的数据,提高数据采集器100的工作效率。

实施例2

基于实施例1中的一种基于DMA的光伏跟踪器数据采集系统,如图2所示,一个优选实施例,其中若干个光伏跟踪器200包括:起始地址的光伏跟踪器210、起始地址与末位地址范围内其他地址连续的光伏跟踪器220、末位地址的光伏跟踪器230和若干个光伏跟踪器共用的通信模块240,其中:

起始地址的光伏跟踪器210,用于响应采集开始指令后在上行信道发送对应的跟踪数据至通信模块240,以及在控制信道发送对应的回传指令至下一地址的光伏跟踪器200。

起始地址与末位地址范围内其他地址连续的光伏跟踪器220,用于在控制信道接收上一地址的光伏跟踪器发送的对应的回传指令后,在上行信道发送对应的跟踪数据至通信模块240,以及发送对应的回传指令至下一地址的光伏跟踪器200。

末位地址的光伏跟踪器230,用于在控制信道接收上一地址的光伏跟踪器200发送的对应的回传指令,并在上行信道发送对应的跟踪数据后采集结束。

通信模块240,与数据采集器100和若干个光伏跟踪器200连接,用于在控制信道向若干个地址连续的光伏跟踪器200发送采集开始指令,并在上行信道接收若干个地址连续的光伏跟踪器200发送的若干个跟踪数据。

具体地,光伏矩阵中每个光伏子阵中多个光伏跟踪器200共用一个通信模块240。起始地址的光伏跟踪器210在收到来自数据采集器100的采集开始指令,将跟踪数据发送至通信模块240后,通信模块240将通信信道切换至上行信道并将起始地址的光伏跟踪器210的跟踪数据回传,通信模块240在数据回传结束后将上行信道切换至控制信道,起始地址的光伏跟踪器210在控制信道发送回传指令至下一地址光伏跟踪器200。

起始地址与末位地址范围内其他地址连续的光伏跟踪器220在控制信道接收到上一地址发送的回传指令后,将跟踪数据发送至通信模块240,之后通信模块240将通信信道切换至上行信道并将起始地址与末位地址范围内其它地址连续的光伏跟踪器220的发送的跟踪数据回传,通信模块240在数据回传结束后将上行信道切换至控制信道,起始地址与末位地址范围内其他地址连续的光伏跟踪器220在控制信道发送回传指令至下一地址光伏跟踪器200。

直至末位地址的光伏跟踪器230在控制信道接收上一地址的光伏跟踪器200发送的对应的回传指令,在上行信道发送跟踪数据后采集结束。

本实施例中公开了一种优选的基于DMA的光伏跟踪器数据采集系统中控制地址连续的光伏跟踪器自动发送跟踪数据的控制逻辑,该系统可以使数据采集器下发一次采集指令,若干个地址连续的光伏跟踪器便自动依次发送跟踪数据,节约了数据处理器的CPU内存,使数据采集器CPU在处理其他事务时仍能接收光伏跟踪器回传的数据,提高数据采集器的工作效率。

实施例3

基于上述实施例1~2中任意一个实施例所述的一种基于DMA的光伏跟踪器数据采集系统,如图3所示,还包括:

第一中断模块400,与数据采集器100连接,用于检测到数据采集器100从接收数据状态切换为空闲状态时发起中断。

具体地,第一中断模块400的触发条件由硬件的逻辑电路自动判断,只有从接收数据状态,切换为空闲状态,也就是不再接收数据的状态,才会触发串口空闲中断。串口空闲中断会中断数据采集器100中处理其它事务的进程。控制,之后由数据采集器100提取DMA缓存空间中的跟踪数据。

其中第一中断模块400可以安装于数据采集器100内部,也可以安装于光伏跟踪器200中,在连接结构上不做限定,只需与数据采集器100连接即可。

DMA控制器300还包括,第二中断模块310,用于检测到DMA缓存空间中数据内存占满时发起中断。

具体地,第二中断模块310可以通过设置预设阈值的DMA传输量计数功能实现,其预设阈值与DMA缓存空间的数据内存字节总量相同,其DMA控制器300每将跟踪数据传送1字节至DMA缓存空间,第二中断模块310计数减1。当第二中断模块310数值为0时,第二中断模块310向数据采集器100发起中断,中断数据采集器100中处理其它事务的进程,DMA控制器300将从数据采集器接收到的光伏跟踪器200发送的跟踪数据缓存到DMA缓存空间中,避免DMA缓存空间数据被随后回传数据覆盖。在一个采集开始指令所包括的采集周期中,可以存在多次DMA控制器300将跟踪数据发送至数据采集器100的进程。

本实施例提供的基于DMA的光伏跟踪器数据采集系统引入第一中断模块,即在每次采集结束后将DMA缓存空间内的跟踪数据提取到数据采集器中,增加了数据采集的及时性,同时引入第二中断模块,使数据采集器在DMA缓存空间中数据内存占满时提取数据,避免因DMA缓存空间占满导致之前采集的数据被覆盖,影响数据采集效率与质量。

实施例4

本发明的一个实施例,如图4所示,本发明提供一种基于DMA的光伏跟踪器数据采集方法,应用于采集光伏跟踪器组的跟踪数据,光伏跟踪器组包括若干个按序排列的光伏跟踪器,包括步骤:

S100通过数据采集器在控制信道向光伏跟踪器组发送采集开始指令。

具体地,数据采集器承担数据采集与数据分析等功能,一般光伏矩阵将一定地理区域划分一个子阵,一个子阵仅含一个数据采集器,和上百台光伏跟踪器。光伏跟踪器数据采集器之间通信方式通常为无线串口通信方式。

具体地,数据采集器同时建立两个不同信道的无线串口通信接口。其中一个无线串口用于光伏跟踪器回传跟踪数据,所在信道称作上行信道,另外一个无线串口通信接口用于数据采集器主动给光伏跟踪器主动下发采集开始指令,所在信道称作控制信道。

数据采集器的控制方式为在控制信道下发一次采集开始指令,采集指令包括被采集的多个光伏跟踪器的第一个设备编号,被采集的多个光伏跟踪器的最后一个标号,即该两个标号概括了被采集光伏跟踪器范围,这要求光伏跟踪器标号低的先回传数据,光伏跟踪器标号高的后回传数据。

具体地,采集开始指令由数据采集器发送至编号范围内所有的光伏跟踪器,只有编号范围内起始编号的光伏跟踪器响应采集开始指令并开始发送跟踪数据,采集开始指令包括起始编号、末位编号、第一指令功能码与结束符,其中:

起始编号为采集周期开始时被采集的第一个光伏跟踪器的编号。

末位编号为采集周期内最后一个被采集光伏跟踪器的编号,其与起始编号约束了采集周期内询问的光伏跟踪器编号范围。

第一指令功能码用于数据采集器通知被采集的第一个光伏跟踪器开始发送跟踪数据。

结束符代表一个指令的结束,被采集的第一个光伏跟踪器收到到结束符后,便开始响应第一指令功能码。

S200控制光伏跟踪器组中若干个待采集的光伏跟踪器依次在上行信道发送跟踪数据至数据采集器。

具体地,光伏跟踪器承担跟踪支架电机驱动、支架角度采集等功能。若干个待采集的光伏跟踪器按照次序依次将跟踪数据发送至数据采集器,并且通知下一顺序的光伏跟踪器发送跟踪数据,当待采集序列中最后一个光伏跟踪器发送完采集数据后,不继续通知其它的光伏跟踪器发送跟踪数据。其中若干个光伏跟踪器排列的次序可以按照地址顺序、预先标号、方位顺序、功率大小等参量排序,该排序方法属于客观规则,不限于上述的排序次序,其排序方法对系统控制流程不发生影响。

S300通过DMA控制器对跟踪数据进行缓存处理。

具体地,数据采集器在内存中开辟的一个的DMA缓存空间,DMA控制器将从数据采集器接收到的光伏跟踪器发送的跟踪数据缓存到DMA缓存空间中。

S400控制数据采集器提取由DMA控制器缓存处理的若干个跟踪数据。

本实施例中提供的数据采集方法通过数据采集器下发一次采集指令,由若干个光伏跟踪器自动依次发送跟踪数据并交由DMA控制器缓冲处理的控制过程,避免了数据处理器采集各个光伏跟踪器时均需要下发一次采集指令的操作,并且存储处理由DMA控制器完成,无需等待各个光伏跟踪器上传跟踪数据,节约了数据处理器的CPU内存,使数据采集器CPU在处理其他事务时仍能接收光伏跟踪器回传的数据,提高数据采集器的工作效率。

实施例5

基于实施例4,如图5所示,本发明提供的基于DMA的光伏跟踪器数据采集方法中,步骤S200控制光伏跟踪器组中若干个待采集的光伏跟踪器依次在上行信道发送跟踪数据至数据采集器,具体包括:

S210待采集的光伏跟踪器中起始的光伏跟踪器响应采集开始指令。

S220待采集的光伏跟踪器中起始的光伏跟踪器发送跟踪数据至数据采集器。

S230待采集的光伏跟踪器中起始的光伏跟踪器通知下一光伏跟踪器发送跟踪数据至数据采集器。

S240以此递推,直至待采集的光伏跟踪器中末位的光伏跟踪器发送跟踪数据。

可选地,当某一光伏跟踪器不响应顺序中该光伏跟踪器对应的上一光伏跟踪器的通知时,该光伏跟踪器对应的上一光伏跟踪器重复通知该光伏跟踪器发送跟踪数据;

若在顺序中该光伏跟踪器对应的上一光伏跟踪器重复通知预设次数后,该光伏跟踪器仍不响应该光伏跟踪器对应的上一光伏跟踪器的通知,该光伏跟踪器对应的上一光伏跟踪器通知该光伏跟踪器对应的下一光伏跟踪器发送跟踪数据。

示例性地,预设次数可以设置为3次、4次、5次等等。

本实施例中提供的数据采集方法公开一种控制光伏跟踪器自动发送跟踪数据的步骤,该系统可以使数据采集器下发一次采集指令,若干个光伏跟踪器便自动依次发送跟踪数据,节约了数据处理器的CPU内存,使数据采集器CPU在处理其他事务时仍能接收光伏跟踪器回传的数据,提高数据采集器的工作效率。

实施例6

基于实施例5,如图6所示,本发明提供的基于DMA的光伏跟踪器数据采集方法中,步骤S230待采集的光伏跟踪器中起始的光伏跟踪器通知下一光伏跟踪器发送跟踪数据,具体包括:

S231待采集的光伏跟踪器中起始的光伏跟踪器向下一光伏跟踪器发送回传指令。

具体地,在光伏跟踪器数据采集过程中,无论若干个光伏跟踪器排列的次序为地址顺序、预先标号、方位顺序、功率大小等等,在确定每个光伏跟踪器若干个光伏跟踪器排列的方式和排列顺序后,每个光伏跟踪器均会根据排列顺序生成一个对应的编号。

其中回传指令用于通知下一光伏跟踪器发送跟踪数据,回传指令包括本机编号、下一编号、第二指令功能码与结束符,其中:

本机编号是指被采集询问的光伏跟踪器的编号,即发送回传指令的光伏跟踪器本机的编号。

下一编号是指通知下一个被采集询问的光伏跟踪器的编号,等于上述本机编号加1。其中当下一编号为FF时,代表采集结束。

第二指令功能码用于数据采集器通知被采集的下一个光伏跟踪器开始发送跟踪数据。

本实施例提供的基于DMA的光伏跟踪器数据采集方法中公开一种待采集光伏跟踪器组中各个光伏跟踪器通知下一光伏跟踪器的方法,可以使若干个光伏跟踪器便自动依次发送跟踪数据,使光伏跟踪器回传数据时,数据采集器CPU可以处理其他事务,提高数据采集器的工作效率。

实施例7

基于实施例4~6中任意一个实施例,如图7所示,本发明提供的基于DMA的光伏跟踪器数据采集方法中,步骤S400数据采集器提取由DMA控制器缓存处理的若干个跟踪数据,包括:

S410在数据采集器采集结束后,控制数据采集器提取由DMA控制器缓存处理的若干个跟踪数据。

优选地,数据采集器在采集结束后,会响应空闲中断指令,控制数据采集器提取由DMA控制器缓存处理的若干个所述跟踪数据。

具体地,采集结束后,由硬件的逻辑电路自动判断,只有从接收数据状态,切换为空闲状态,也就是不再接收数据的状态,才会触发串口空闲中断,数据采集器响应空闲中断指令,判断采集结束。

本实施例提供的基于DMA的光伏跟踪器数据采集方法中在每次采集结束后将DMA缓存空间内的跟踪数据提取到数据采集器中,增加了数据采集的及时性。

实施例8

基于实施例4~7中任意一个实施例,如图8所示,本发明提供的一种基于DMA的光伏跟踪器数据采集方法中,步骤S400数据采集器提取由DMA控制器缓存处理的若干个跟踪数据,还包括:

S420在DMA缓存空间中数据内存占满时,控制数据采集器提取由DMA控制器缓存处理的若干个跟踪数据。

优选地,当DMA缓存空间中数据内存占满时,控制DMA控制器向数据采集器发起中断。之后DMA控制器将DMA缓存空间中若干个跟踪数据传输至数据采集器。

进一步地,其DMA控制器中可以采用DMA传输量计数器辅控DMA控制器发送跟踪数据,通过设置包括预设阈值的DMA传输量计数器,其预设阈值与DMA缓存空间的数据内存字节总量相同,其DMA控制器每将跟踪数据传送1字节至DMA缓存空间,DMA传输量计数器减1。当DMA传输量计数器数值为0时,DMA控制器将从数据采集器接收到的光伏跟踪器发送的跟踪数据缓存到DMA缓存空间中,避免DMA缓存空间数据被随后回传数据覆盖。在一个采集开始指令所包括的采集周期中,可以存在多次DMA控制器将跟踪数据发送至数据采集器的进程。

本实施例中提供的基于DMA的光伏跟踪器数据采集方法在DMA缓存空间中数据内存占满时提取数据,避免因DMA缓存空间占满导致之前采集的数据被覆盖,影响数据采集效率与质量。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述或记载的部分,可以参见其他实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

在本申请所提供的实施例中,应该理解到,所揭露的基于DMA的光伏跟踪器数据采集方法与系统,可以通过其他的方式实现。例如,以上所描述的基于DMA的光伏跟踪器数据采集方法与系统实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接或集成电路,可以是电性、机械或其他的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可能集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

20页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:集成电路装置、电子设备、板卡和计算方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!