CN114546922B - 用于风电场的串口通信方法及装置 - Google Patents
用于风电场的串口通信方法及装置 Download PDFInfo
- Publication number
- CN114546922B CN114546922B CN202011361167.2A CN202011361167A CN114546922B CN 114546922 B CN114546922 B CN 114546922B CN 202011361167 A CN202011361167 A CN 202011361167A CN 114546922 B CN114546922 B CN 114546922B
- Authority
- CN
- China
- Prior art keywords
- message
- field control
- processing mode
- data structures
- serial port
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000004891 communication Methods 0.000 title claims abstract description 44
- 238000012545 processing Methods 0.000 claims abstract description 114
- 238000004806 packaging method and process Methods 0.000 claims abstract description 28
- 230000004044 response Effects 0.000 claims description 29
- 230000006870 function Effects 0.000 claims description 15
- 238000002360 preparation method Methods 0.000 claims description 15
- 230000001174 ascending effect Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 12
- 238000003672 processing method Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 description 7
- 238000013461 design Methods 0.000 description 6
- 239000000872 buffer Substances 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008521 reorganization Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- 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
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
Abstract
提供一种用于风电场的串口通信方法及装置。该用于风电场的串口通信方法包括:识别场控设备的类型;根据场控设备的类型自适应地调用串口驱动文件列表,其中,不同类型的场控设备对应不同的串口驱动文件列表;根据场控设备的类型或者使用串口硬件的方式确定报文处理方式;根据确定的报文处理方式收发报文,其中,报文处理方式包括连续性分包处理方式、按长度分包处理方式、读字节数不固定的处理方式,从而实现了不同版本场控设备的串口自适应使用,使软件版本减少、现场调试简单、减少人工时投入。
Description
技术领域
本公开涉及电力技术领域。更具体地,本公开涉及一种用于风电场的串口通信方法及装置。
背景技术
目前新能源场站电压/无功控制、一次频率控制已经成为电网准入的必要条件,对电网的支撑已经成为义务,场控方式实现电压/无功控制、一次频率控制目前是主流实现方法,那么场控设备实现对新能源风电机组、光伏、SVC/SVG等控制的前提是要能实现实时通信,而串口通信目前依然占据大量使用比例,因此场控设备必须满足不同串口通信的需求。
目前场控控制器不断升级换代、不同设备串口驱动不同、测频装置等特殊的设计或者串口不够用的情况下,导致非常规串口协议等场景不断增多,使因串口原因导致的控制程序版本较多、现场调试复杂、易出错等;部分串口驱动版本太低、更改驱动困难导致无法在工期内完成交付。
发明内容
本公开的示例性实施例在于提供一种用于风电场的串口通信方法及装置,以实现基于风电场应用场景下的串口自适应加载。
根据本公开的示例性实施例,提供一种用于风电场的串口通信方法,包括根据场控设备的类型自适应地调用串口驱动文件列表,其中,不同类型的场控设备对应不同的串口驱动文件列表;根据场控设备的类型或者使用串口硬件的方式确定报文处理方式;根据确定的报文处理方式收发报文,其中,报文处理方式包括连续性分包处理方式、按长度分包处理方式、读字节数不固定的处理方式。
可选地,根据场控设备使用串口硬件的方式确定报文处理方式的步骤可包括:当场控设备采用非独占方式使用串口硬件时,使用以下报文处理方式获得待发送的报文:匹配与场控设备共用一个文件描述符的共享设备,建立共享数据结构;创建场控设备的报文缓存待发数据;建立场控设备和共享设备共用的报文包;将场控设备和共享设备按照地址从低到高的顺序排列在报文包里。
可选地,根据场控设备使用串口硬件的方式确定报文处理方式的步骤可包括:当场控设备采用非独占方式使用串口硬件时,使用以下报文处理方式读取接收的报文:获取场控设备和共享设备共同组合后的响应报文;按照场控设备去匹配响应报文的方式获取场控设备上各个点的数据值;按照共享设备去匹配响应报文的方式获取共享设备上各个点的数据值。
可选地,收发报文的步骤可包括:基于场控设备的设备描述符判断是否有命令报文需要接收;当有命令报文需要接收时,接收命令报文并发送对命令报文的反馈响应,或者,基于场控设备的设备描述符判断是否需要召唤报文;当需要召唤报文时,召唤报文并读取响应召唤的报文。
可选地,根据连续性分包处理方式发送报文的步骤可包括:将报文按照功能码分成第一预设数量个数据结构,其中,数据结构中填充了与内容相应的地址和长度,数据结构中的内容按照地址升序排序;分别对每个数据结构进行地址连续性处理,使得所有数据结构的地址连续;将地址连续性处理后的所有数据结构进行打包,获得待发送的报文。
可选地,根据按长度分包处理方式发送报文的步骤可包括:将报文按照功能码分成第一预设数量个数据结构体,其中,数据结构中填充了与内容相应的地址和长度,数据结构中的内容按照地址升序排序;分别对每个数据结构进行地址连续性处理,使得所有数据结构的地址连续;对地址连续性处理后的所有数据结构按照不超过第二预设数量个寄存器为一包进行组包,获得待发送的报文。
可选地,根据读字节数不固定的处理方式读取报文的步骤可包括:每次读取预设数量个字节,并将读取的字节数依次放入缓存队列中。
根据本公开的示例性实施例,提供一种用于风电场的串口通信装置,包括:类型识别单元,被配置为识别场控设备的类型;准备单元,被配置为根据场控设备的类型自适应地调用串口驱动文件列表,其中,不同类型的场控设备对应不同的串口驱动文件列表;方式确定单元,被配置为根据场控设备的类型或者使用串口硬件的方式确定报文处理方式;和报文收发单元,被配置为根据确定的报文处理方式收发报文;其中,报文处理方式包括连续性分包处理方式、按长度分包处理方式、读字节数不固定的处理方式。
可选地,准备单元可被配置为当场控设备采用非独占方式使用串口硬件时,使用以下报文处理方式获得待发送的报文:匹配与场控设备共用一个文件描述符的共享设备,建立共享数据结构;创建场控设备的报文缓存待发数据;建立场控设备和共享设备共用的报文包;将场控设备和共享设备按照地址从低到高的顺序排列在报文包里。
可选地,准备单元可被配置为当场控设备采用非独占方式使用串口硬件时,使用以下报文处理方式读取接收的报文:获取场控设备和共享设备共同组合后的响应报文;按照场控设备去匹配响应报文的方式获取场控设备上各个点的数据值;按照共享设备去匹配响应报文的方式获取共享设备上各个点的数据值。
可选地,报文收发单元可被配置为:基于场控设备的设备描述符判断是否有命令报文需要接收;当有命令报文需要接收时,接收命令报文并发送对命令报文的反馈响应,或者,基于场控设备的设备描述符判断是否需要召唤报文;当需要召唤报文时,召唤报文并读取响应召唤的报文。
可选地,报文收发单元可被配置为:将报文按照功能码分成第一预设数量个数据结构,其中,数据结构中填充了与内容相应的地址和长度,数据结构中的内容按照地址升序排序;分别对每个数据结构进行地址连续性处理,使得所有数据结构的地址连续;将地址连续性处理后的所有数据结构进行打包,获得待发送的报文。
可选地,报文收发单元可被配置为:将报文按照功能码分成第一预设数量个数据结构体,其中,数据结构中填充了与内容相应的地址和长度,数据结构中的内容按照地址升序排序;分别对每个数据结构进行地址连续性处理,使得所有数据结构的地址连续;对地址连续性处理后的所有数据结构按照不超过第二预设数量个寄存器为一包进行组包,获得待发送的报文。
可选地,报文收发单元可被配置为:每次读取预设数量个字节,并将读取的字节数依次放入缓存队列中。
根据本公开的示例性实施例,提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被处理器执行时,实现根据本公开的示例性实施例的用于风电场的串口通信方法。
根据本公开的示例性实施例,提供一种计算装置,包括:至少一个处理器;至少一个存储器,存储有计算机程序,当所述计算机程序被所述至少一个处理器执行时,实现根据本公开的示例性实施例的用于风电场的串口通信方法。
根据本公开的示例性实施例,提供一种计算机程序产品,该计算机程序产品中的指令可由计算机设备的处理器执行以完成根据本公开的示例性实施例的用于风电场的串口通信方法。
根据本公开的示例性实施例的用于风电场的串口通信方法及装置,通过识别场控设备的类型;根据场控设备的类型执行收发报文的准备操作;收发报文,从而实现了不同版本场控设备的串口自适应使用,使软件版本减少、现场调试简单、减少人工时投入。此外,根据本公开的示例性实施例的用于风电场的串口通信方法及装置还可实现高精度测频装置的特殊协议设计,增加产品精度,提高指令。此外,根据本公开的示例性实施例的用于风电场的串口通信方法及装置,对于低版本驱动的特殊设计开发,可减少更改驱动的周期、困难和资金投入。
将在接下来的描述中部分阐述本公开总体构思另外的方面和/或优点,还有一部分通过描述将是清楚的,或者可以经过本公开总体构思的实施而得知。
附图说明
通过下面结合示例性地示出实施例的附图进行的描述,本公开的示例性实施例的上述和其他目的和特点将会变得更加清楚,其中:
图1示出根据本公开的示例性实施例的用于风电场的串口通信方法的流程图;
图2示出场控设备采用非独占方式使用串口硬件时对报文数据进行重组的流程图;
图3示出场控设备采用非独占方式使用串口硬件时从组合报文包获取数据的流程图;
图4示出根据连续性分包处理方式发送报文时连续性分包的流程图;
图5示出根据按长度分包处理方式发送报文时按长度分包的流程图;
图6示出主站根据读字节数不固定的处理方式读取报文的流程图;
图7示出从站根据读字节数不固定的处理方式读取报文的流程图;
图8示出根据本公开的示例性实施例的用于风电场的串口通信装置的框图;和
图9示出根据本公开的示例性实施例的计算装置的示意图。
具体实施方式
现将详细参照本公开的示例性实施例,所述实施例的示例在附图中示出,其中,相同的标号始终指的是相同的部件。以下将通过参照附图来说明所述实施例,以便解释本公开。
图1示出根据本公开的示例性实施例的用于风电场的串口通信方法的流程图。
参照图1,在步骤S101,识别场控设备的类型。
在本公开的示例性实施例中,在识别场控设备的类型时,可首先获取场控设备的指定文件的内容,然后根据指定文件的内容确定场控设备的类型。
具体来说,基于场控设备驱动不同,通过场控设备主启动进程,初始化操作之前就做场控设备的类型自动区分,来完成自适应的匹配准备。在进行场控设备的类型的区分时,可打开例如,但不限于,Linux设备内部指定文件,通过判断内部指定文件中内容来确定场控设备的类型。例如,当内部指定文件中内容包含“To be filed by O.E.M.”或者与“To befiled by O.E.M.”匹配,确定场控设备的类型为第一类型;当内部指定文件中内容包含“BayTrail”或者与“BayTrail”匹配,确定场控设备的类型为第二类型;在其他情况下,确定场控设备的类型为第三类型。这样,可基于场控设备的测频装置的特殊设计,实现特殊串口通信方式。
在步骤S102,根据场控设备的类型自适应地调用串口驱动文件列表。这里,不同类型的场控设备对应不同的串口驱动文件列表。
在本公开的示例性实施例中,可根据场控设备的类型自适应地调用串口驱动文件列表,以根据场控设备的类型执行收发报文的准备操作。这里,不同类型的场控设备对应不同的串口驱动文件列表。例如,可根据设备类型的不同,做出多种(例如,3种)不同端口的驱动文件名列表,当进程运行时,自适应的调用串口驱动文件列表。
在步骤S103,根据场控设备的类型或者使用串口硬件的方式确定报文处理方式。
在本公开的示例性实施例中,可根据场控设备的类型或者使用串口硬件的方式确定报文处理方式,以根据场控设备的类型或者使用串口硬件的方式执行收发报文的准备操作。
多种(例如,3种)设备中的每种场控设备除了驱动文件不同外,还有报文读取缓存等不同,需根据每种场控设备设置3种报文处理方法:1、每次读写都能收发完整;2、每次读写最多能达到70个寄存器长度;3、每次读字节数不固定,基本在1-3个之间波动。
在本公开的示例性实施例中,当场控设备采用非独占方式使用串口硬件时,可使用以下报文处理方式获得待发送的报文:匹配与场控设备共用一个文件描述符的共享设备,建立共享数据结构;创建场控设备的报文缓存待发数据;建立场控设备和共享设备共用的报文包;将场控设备和共享设备按照地址从低到高的顺序排列在报文包里。
在本公开的示例性实施例中,当场控设备采用非独占方式使用串口硬件时,可使用以下报文处理方式读取接收的报文:获取场控设备和共享设备共同组合后的响应报文;按照场控设备去匹配响应报文的方式获取场控设备上各个点的数据值;按照共享设备去匹配响应报文的方式获取共享设备上各个点的数据值。
例如,当因场控串口硬件不够、或者其他场控设备硬件不够而需要两个场控设备共用一个硬件时,场控设备采用非独占方式使用串口硬件,共用一个文件描述符,通过一个硬件串口实现数据组合后发送。图2示出场控设备采用非独占方式使用串口硬件时对报文数据进行重组的流程图。如图2所示,在步骤S201,匹配与场控设备共用一个文件描述符的共享设备,建立共享数据结构,获得报文待发数据。在步骤S202,创建主轮训场控设备的报文缓存待发数据。在步骤S203,获取场控设备和共享设备的最小报文地址和最大报文地址。在步骤S204,当最小报文地址和最大报文地址的差值不超过报文长度限值(例如,但不限于,70)时,建立场控设备和共享设备共用的组合报文包(最大报文包)。在步骤S205,将主设备和共享设备按照从地址从低到高的顺序排列在该组合报文包里。
场控设备采用非独占方式使用串口硬件,共用一个文件描述符,通过一个硬件串口实现数据组合后发送后,必然也会有一个数据的组合获取方式对应。图3示出场控设备采用非独占方式使用串口硬件时从组合报文包获取数据的流程图。如图3所示,在步骤S301,通过文件描述符获取到主设备和共享设备共同组合后的响应报文。在步骤S302,先按照主设备去匹配响应报文的方式获取主设备上各个点的数据值。在步骤S303,将共享设备去匹配响应报文的方式获取共享设备各个点的数据值。
在步骤S104,根据确定的报文处理方式收发报文。这里,其中,报文处理方式包括连续性分包处理方式、按长度分包处理方式、读字节数不固定的处理方式。
在本公开的示例性实施例中,在收发报文时,可首先基于场控设备的设备描述符判断是否有命令报文需要接收,然后当有命令报文需要接收时,接收命令报文并发送对命令报文的反馈响应。
在本公开的示例性实施例中,在接收命令报文并发送对命令报文的反馈响应时,可根据确定的报文处理方式接收命令报文并发送对命令报文的反馈响应。
在本公开的示例性实施例中,在收发报文时,可首先基于场控设备的设备描述符判断是否需要召唤报文,然后当需要召唤报文时,召唤报文并读取响应召唤的报文。
在本公开的示例性实施例中,在召唤报文并读取响应召唤的报文时,可根据确定的报文处理方式召唤报文并读取响应召唤的报文。
在本公开的示例性实施例中,根据连续性分包处理方式发送报文时,可首先将报文按照功能码分成第一预设数量个数据结构,并分别对每个数据结构进行地址连续性处理,使得所有数据结构的地址连续,然后将地址连续性处理后的所有数据结构进行打包,获得待发送的报文。这里,数据结构中填充了与内容相应的地址和长度,数据结构中的内容按照地址升序排序。
图4示出根据连续性分包处理方式发送报文时连续性分包的流程图。将读写的主站modbus报文按照功能码分成01、02、03、04四个数据结构体,且将相应地址、长度等填充进数据结构中,且将数据结构中内容按照地址升序排序。因面对的设备不统一,有些服务端不接受召唤报文中长度包含服务端点位以外的其他点,因此组包的时候如果遇到对方点位不连续,则将其按照图4中的步骤S401至S409进行拆包处理,拆好的不同的包,放入待发送报文缓冲区中,按照报文序号排列。
在本公开的示例性实施例中,在根据按长度分包处理方式发送报文时,可首先将报文按照功能码分成第一预设数量个数据结构体,并分别对每个数据结构进行地址连续性处理,使得所有数据结构的地址连续,然后对地址连续性处理后的所有数据结构按照不超过第二预设数量个寄存器为一包进行组包,获得待发送的报文。这里,数据结构中填充了与内容相应的地址和长度,数据结构中的内容按照地址升序排序。
图5示出根据按长度分包处理方式发送报文时按长度分包的流程图。将读写的主站modbus报文按照功能码分成01、02、03、04四个数据结构体,且将相应地址、长度等填充进数据结构中,且将数据结构中内容按照地址升序排序。按照图5中的步骤S501至S509按照连续性分包处理方法分包后,然后按不超过例如,但不限于,70个寄存器为一包进行组包,最后一包单独发出去。
在本公开的示例性实施例中,在根据读字节数不固定的处理方式读取报文时,可每次读取预设数量(例如,但不限于,1-2)个字节,并将读取的字节数依次放入缓存队列中。
当驱动版本太低时,写数据正常,按照按长度分包处理方式进行写数据准备;读数据时,收到的字节数为1-3个不等,不能一次收到大量数据,更不能一次收全数据,因此采取的方法是通过每次读取1-2个字节,然后将收到的字节数依次放入缓存队列中,在此过程中也不断判断收到的数据是否正常、完成,误码或超时则丢弃,具体读取数据实现按照主/从两种方式实现。图6通过步骤S601至S613示出主站根据读字节数不固定的处理方式读取报文的示例流程。图7通过步骤S701至S722示出从站根据读字节数不固定的处理方式读取报文的示例流程。
此外,根据本公开的示例性实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被执行时,实现根据本公开的示例性实施例的用于风电场的串口通信方法。
在本公开的示例性实施例中,所述计算机可读存储介质可承载有一个或者多个程序,当所述计算机程序被执行时可实现以下步骤:识别场控设备的类型;根据场控设备的类型自适应地调用串口驱动文件列表,其中,不同类型的场控设备对应不同的串口驱动文件列表;根据场控设备的类型或者使用串口硬件的方式确定报文处理方式;根据确定的报文处理方式收发报文,其中,报文处理方式包括连续性分包处理方式、按长度分包处理方式、读字节数不固定的处理方式。
计算机可读存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的实施例中,计算机可读存储介质可以是任何包含或存储计算机程序的有形介质,该计算机程序可以被指令执行***、装置或者器件使用或者与其结合使用。计算机可读存储介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。计算机可读存储介质可以包含在任意装置中;也可以单独存在,而未装配入该装置中。
此外,根据本公开的示例性实施例,还提供一种计算机程序产品,该计算机程序产品中的指令可由计算机设备的处理器执行以完成根据本公开的示例性实施例的用于风电场的串口通信的方法。
以上已经结合图1至图7对根据本公开的示例性实施例的用于风电场的串口通信方法进行了描述。在下文中,将参照图8对根据本公开的示例性实施例的用于风电场的串口通信装置及其单元进行描述。
图8示出根据本公开的示例性实施例的用于风电场的串口通信装置的框图。
参照图8,用于风电场的串口通信装置包括类型识别单元81、准备单元82、方式确定单元83和报文收发单元84。
类型识别单元81被配置为识别场控设备的类型。
在本公开的示例性实施例中,类型识别单元81可被配置为:获取场控设备的指定文件的内容;根据指定文件的内容确定场控设备的类型。
准备单元82被配置为根据场控设备的类型自适应地调用串口驱动文件列表,其中,不同类型的场控设备对应不同的串口驱动文件列表。
在本公开的示例性实施例中,准备单元可被配置为当场控设备采用非独占方式使用串口硬件时,使用以下报文处理方式获得待发送的报文:匹配与场控设备共用一个文件描述符的共享设备,建立共享数据结构;创建场控设备的报文缓存待发数据;建立场控设备和共享设备共用的报文包;将场控设备和共享设备按照地址从低到高的顺序排列在报文包里。
在本公开的示例性实施例中,准备单元可被配置为当场控设备采用非独占方式使用串口硬件时,使用以下报文处理方式读取接收的报文:获取场控设备和共享设备共同组合后的响应报文;按照场控设备去匹配响应报文的方式获取场控设备上各个点的数据值;按照共享设备去匹配响应报文的方式获取共享设备上各个点的数据值。
方式确定单元83被配置为根据场控设备的类型或者使用串口硬件的方式确定报文处理方式。
报文收发单元84被配置为根据确定的报文处理方式收发报文;其中,报文处理方式包括连续性分包处理方式、按长度分包处理方式、读字节数不固定的处理方式。
在本公开的示例性实施例中,报文收发单元84可被配置为:基于场控设备的设备描述符判断是否有命令报文需要接收;当有命令报文需要接收时,接收命令报文并发送对命令报文的反馈响应。
在本公开的示例性实施例中,报文收发单元84可被配置为:基于场控设备的设备描述符判断是否需要召唤报文;当需要召唤报文时,召唤报文并读取响应召唤的报文。
在本公开的示例性实施例中,报文收发单元84可被配置为:将报文按照功能码分成第一预设数量个数据结构,其中,数据结构中填充了与内容相应的地址和长度,数据结构中的内容按照地址升序排序;分别对每个数据结构进行地址连续性处理,使得所有数据结构的地址连续;将地址连续性处理后的所有数据结构进行打包,获得待发送的报文。
在本公开的示例性实施例中,报文收发单元84可被配置为:将报文按照功能码分成第一预设数量个数据结构体,其中,数据结构中填充了与内容相应的地址和长度,数据结构中的内容按照地址升序排序;分别对每个数据结构进行地址连续性处理,使得所有数据结构的地址连续;对地址连续性处理后的所有数据结构按照不超过第二预设数量个寄存器为一包进行组包,获得待发送的报文。
在本公开的示例性实施例中,报文收发单元84可被配置为:每次读取预设数量(例如,1-2)字节,并将读取的字节数依次放入缓存队列中。
以上已经结合图8对根据本公开的示例性实施例的用于风电场的串口通信装置进行了描述。接下来,结合图9对根据本公开的示例性实施例的计算装置进行描述。
图9示出根据本公开的示例性实施例的计算装置的示意图。
参照图9,根据本公开的示例性实施例的计算装置9,包括存储器91和处理器92,所述存储器91上存储有计算机程序,当所述计算机程序被处理器92执行时,实现根据本公开的示例性实施例的用于风电场的串口通信方法。
在本公开的示例性实施例中,当所述计算机程序被处理器92执行时,可实现以下步骤:识别场控设备的类型;根据场控设备的类型自适应地调用串口驱动文件列表,其中,不同类型的场控设备对应不同的串口驱动文件列表;根据场控设备的类型或者使用串口硬件的方式确定报文处理方式;根据确定的报文处理方式收发报文,其中,报文处理方式包括连续性分包处理方式、按长度分包处理方式、读字节数不固定的处理方式。
图9示出的计算装置仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
以上已参照图1至图9描述了根据本公开的示例性实施例的用于风电场的串口通信方法及装置。然而,应该理解的是:图8中所示的用于风电场的串口通信装置及其单元可分别被配置为执行特定功能的软件、硬件、固件或上述项的任意组合,图9中所示的计算装置并不限于包括以上示出的组件,而是可根据需要增加或删除一些组件,并且以上组件也可被组合。
根据本公开的示例性实施例的用于风电场的串口通信方法及装置,通过识别场控设备的类型;根据场控设备的类型自适应地调用串口驱动文件列表,其中,不同类型的场控设备对应不同的串口驱动文件列表;根据场控设备的类型或者使用串口硬件的方式确定报文处理方式;根据确定的报文处理方式收发报文,其中,报文处理方式包括连续性分包处理方式、按长度分包处理方式、读字节数不固定的处理方式,从而实现了不同版本场控设备的串口自适应使用,使软件版本减少、现场调试简单、减少人工时投入。此外,根据本公开的示例性实施例的用于风电场的串口通信方法及装置还可实现高精度测频装置的特殊协议设计,增加产品精度,提高指令。此外,根据本公开的示例性实施例的用于风电场的串口通信方法及装置,对于低版本驱动的特殊设计开发,可减少更改驱动的周期、困难和资金投入。
尽管已经参照其示例性实施例具体显示和描述了本公开,但是本领域的技术人员应该理解,在不脱离权利要求所限定的本公开的精神和范围的情况下,可以对其进行形式和细节上的各种改变。
Claims (11)
1.一种用于风电场的串口通信方法,包括:
识别场控设备的类型;
根据场控设备的类型自适应地调用串口驱动文件列表,其中,不同类型的场控设备对应不同的串口驱动文件列表;
根据场控设备的类型或者使用串口硬件的方式确定报文处理方式;
根据确定的报文处理方式收发报文,其中,报文处理方式包括连续性分包处理方式、按长度分包处理方式、读字节数不固定的处理方式,
其中,根据连续性分包处理方式发送报文的步骤包括:
将报文按照功能码分成第一预设数量个数据结构,其中,数据结构中填充了与内容相应的地址和长度,数据结构中的内容按照地址升序排序;
分别对每个数据结构进行地址连续性处理,使得所有数据结构的地址连续;
将地址连续性处理后的所有数据结构进行打包,获得待发送的报文,
其中,根据按长度分包处理方式发送报文的步骤包括:
将报文按照功能码分成第一预设数量个数据结构,其中,数据结构中填充了与内容相应的地址和长度,数据结构中的内容按照地址升序排序;
分别对每个数据结构进行地址连续性处理,使得所有数据结构的地址连续;
对地址连续性处理后的所有数据结构按照不超过第二预设数量个寄存器为一包进行组包,获得待发送的报文。
2.根据权利要求1所述的方法,其中,根据场控设备使用串口硬件的方式确定报文处理方式的步骤包括:当场控设备采用非独占方式使用串口硬件时,使用以下报文处理方式获得待发送的报文:
匹配与场控设备共用一个文件描述符的共享设备,建立共享数据结构;
创建场控设备的报文缓存待发数据;
建立场控设备和共享设备共用的报文包;
将场控设备和共享设备按照地址从低到高的顺序排列在报文包里。
3.根据权利要求1所述的方法,其中,根据场控设备使用串口硬件的方式确定报文处理方式的步骤包括:当场控设备采用非独占方式使用串口硬件时,使用以下报文处理方式读取接收的报文:
获取场控设备和共享设备共同组合后的响应报文;
按照场控设备去匹配响应报文的方式获取场控设备上各个点的数据值;
按照共享设备去匹配响应报文的方式获取共享设备上各个点的数据值。
4.根据权利要求1所述的方法,其中,收发报文的步骤还包括:
基于场控设备的设备描述符判断是否有命令报文需要接收;当有命令报文需要接收时,接收命令报文并发送对命令报文的反馈响应,或者,
基于场控设备的设备描述符判断是否需要召唤报文;当需要召唤报文时,召唤报文并读取响应召唤的报文。
5.根据权利要求1所述的方法,其中,根据读字节数不固定的处理方式读取报文的步骤包括:
每次读取预设数量个字节,并将读取的字节数依次放入缓存队列中。
6.一种用于风电场的串口通信装置,包括:
类型识别单元,被配置为识别场控设备的类型;
准备单元,被配置为根据场控设备的类型自适应地调用串口驱动文件列表,其中,不同类型的场控设备对应不同的串口驱动文件列表;
方式确定单元,被配置为根据场控设备的类型或者使用串口硬件的方式确定报文处理方式;和
报文收发单元,被配置为根据确定的报文处理方式收发报文;其中,报文处理方式包括连续性分包处理方式、按长度分包处理方式、读字节数不固定的处理方式,
其中,根据连续性分包处理方式发送报文的步骤包括:
将报文按照功能码分成第一预设数量个数据结构,其中,数据结构中填充了与内容相应的地址和长度,数据结构中的内容按照地址升序排序;
分别对每个数据结构进行地址连续性处理,使得所有数据结构的地址连续;
将地址连续性处理后的所有数据结构进行打包,获得待发送的报文,
其中,根据按长度分包处理方式发送报文的步骤包括:
将报文按照功能码分成第一预设数量个数据结构,其中,数据结构中填充了与内容相应的地址和长度,数据结构中的内容按照地址升序排序;
分别对每个数据结构进行地址连续性处理,使得所有数据结构的地址连续;
对地址连续性处理后的所有数据结构按照不超过第二预设数量个寄存器为一包进行组包,获得待发送的报文。
7.根据权利要求6所述的装置,其中,准备单元被配置为当场控设备采用非独占方式使用串口硬件时,使用以下报文处理方式获得待发送的报文:
匹配与场控设备共用一个文件描述符的共享设备,建立共享数据结构;
创建场控设备的报文缓存待发数据;
建立场控设备和共享设备共用的报文包;
将场控设备和共享设备按照地址从低到高的顺序排列在报文包里。
8.根据权利要求6所述的装置,其中,准备单元被配置为当场控设备采用非独占方式使用串口硬件时,使用以下报文处理方式读取接收的报文:
获取场控设备和共享设备共同组合后的响应报文;
按照场控设备去匹配响应报文的方式获取场控设备上各个点的数据值;
按照共享设备去匹配响应报文的方式获取共享设备上各个点的数据值。
9.根据权利要求6所述的装置,其中,报文收发单元被配置为:
基于场控设备的设备描述符判断是否有命令报文需要接收;当有命令报文需要接收时,接收命令报文并发送对命令报文的反馈响应;或者,
基于场控设备的设备描述符判断是否需要召唤报文;当需要召唤报文时,召唤报文并读取响应召唤的报文。
10.一种存储有计算机程序的计算机可读存储介质,其中,当所述计算机程序被处理器执行时,实现权利要求1至5中任一项所述的用于风电场的串口通信方法。
11.一种计算装置,包括:
至少一个处理器;
至少一个存储器,存储有计算机程序,当所述计算机程序被所述至少一个处理器执行时,实现权利要求1至5中任一项所述的用于风电场的串口通信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011361167.2A CN114546922B (zh) | 2020-11-27 | 2020-11-27 | 用于风电场的串口通信方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011361167.2A CN114546922B (zh) | 2020-11-27 | 2020-11-27 | 用于风电场的串口通信方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114546922A CN114546922A (zh) | 2022-05-27 |
CN114546922B true CN114546922B (zh) | 2024-05-31 |
Family
ID=81667755
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011361167.2A Active CN114546922B (zh) | 2020-11-27 | 2020-11-27 | 用于风电场的串口通信方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114546922B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101540720A (zh) * | 2008-06-06 | 2009-09-23 | 曙光信息产业(北京)有限公司 | 一种支持多类型网卡链路聚合的零拷贝方法 |
CN101753586A (zh) * | 2010-01-20 | 2010-06-23 | 北京数码视讯科技股份有限公司 | 发送数据的方法、接收数据的处理方法和装置 |
CN101770503A (zh) * | 2009-12-31 | 2010-07-07 | 深圳联友科技有限公司 | 一种文件打包解包的方法 |
WO2011095017A1 (zh) * | 2010-02-04 | 2011-08-11 | 中兴通讯股份有限公司 | 一种实现负荷分担的方法和路由设备 |
CN102244666A (zh) * | 2010-05-10 | 2011-11-16 | 中兴通讯股份有限公司 | M2m平台处理报文的方法和m2m平台*** |
CN107483444A (zh) * | 2017-08-22 | 2017-12-15 | 北京邮电大学 | 一种智能电网信息传输安全防护装置及安全防护方法 |
-
2020
- 2020-11-27 CN CN202011361167.2A patent/CN114546922B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101540720A (zh) * | 2008-06-06 | 2009-09-23 | 曙光信息产业(北京)有限公司 | 一种支持多类型网卡链路聚合的零拷贝方法 |
CN101770503A (zh) * | 2009-12-31 | 2010-07-07 | 深圳联友科技有限公司 | 一种文件打包解包的方法 |
CN101753586A (zh) * | 2010-01-20 | 2010-06-23 | 北京数码视讯科技股份有限公司 | 发送数据的方法、接收数据的处理方法和装置 |
WO2011095017A1 (zh) * | 2010-02-04 | 2011-08-11 | 中兴通讯股份有限公司 | 一种实现负荷分担的方法和路由设备 |
CN102244666A (zh) * | 2010-05-10 | 2011-11-16 | 中兴通讯股份有限公司 | M2m平台处理报文的方法和m2m平台*** |
CN107483444A (zh) * | 2017-08-22 | 2017-12-15 | 北京邮电大学 | 一种智能电网信息传输安全防护装置及安全防护方法 |
Non-Patent Citations (1)
Title |
---|
《多工业通信协议转换***的研究》;万聪;《中国优秀硕士学位论文全文数据库信息科技辑》;20190815;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114546922A (zh) | 2022-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114138700B (zh) | 一种串口数据传输的流控方法、装置、设备及存储介质 | |
CN104731569B (zh) | 一种数据处理方法及相关设备 | |
CN107395565B (zh) | 一种定长单字节格式报文协议下串口接收预处理方法 | |
CN109739668A (zh) | 一种虚拟机间数据传输的方法、***及设备 | |
US11016769B1 (en) | Method and apparatus for processing information | |
EP4195598A1 (en) | In-vehicle signal transmission method and system | |
CN105573711A (zh) | 一种数据缓存方法及装置 | |
CN105630424A (zh) | 数据处理方法、装置及*** | |
CN101237445A (zh) | 在终点中无线usb同步的缓冲器管理 | |
CN114546922B (zh) | 用于风电场的串口通信方法及装置 | |
CN105677491A (zh) | 一种数据传输方法及装置 | |
CN111800223B (zh) | 生成发送报文、处理接收报文的方法、装置和*** | |
CN103942149B (zh) | 用户态程序与内核交互报文的方法及*** | |
CN116170522B (zh) | 数据传输方法及装置、电子设备、存储介质 | |
CN105471930A (zh) | 一种读取分布式数据的方法、***和设备 | |
CN112260896B (zh) | 一种网络传输测试方法、装置、设备及可读存储介质 | |
CN112135286A (zh) | 一种基于蓝牙固件升级传输效率提升的方法及装置 | |
CN101635742A (zh) | 下载方法和装置 | |
CN114827967A (zh) | 软件更新方法、蓝牙设备及存储介质 | |
CN111371799A (zh) | Mctp控制器收发数据的控制方法、装置及设备 | |
EP2726992B1 (en) | Network control model driver | |
CN112732319A (zh) | 文件升级方法、装置、设备和存储介质 | |
CN112615916A (zh) | 文件部署方法、装置、电子设备以及存储介质 | |
CN117319529B (zh) | 应用于车端的报文解析方法、装置、电子设备及存储介质 | |
CN109062708B (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 | ||
CB02 | Change of applicant information |
Address after: 830026 No. 107, Shanghai Road, Urumqi economic and Technological Development Zone, the Xinjiang Uygur Autonomous Region Applicant after: Jinfeng Technology Co.,Ltd. Address before: 830026 No. 107, Shanghai Road, Urumqi economic and Technological Development Zone, the Xinjiang Uygur Autonomous Region Applicant before: XINJIANG GOLDWIND SCIENCE & TECHNOLOGY Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |