CN106383693B - 一种智能集中器及以测量点为标签的数据处理方法 - Google Patents

一种智能集中器及以测量点为标签的数据处理方法 Download PDF

Info

Publication number
CN106383693B
CN106383693B CN201610783437.6A CN201610783437A CN106383693B CN 106383693 B CN106383693 B CN 106383693B CN 201610783437 A CN201610783437 A CN 201610783437A CN 106383693 B CN106383693 B CN 106383693B
Authority
CN
China
Prior art keywords
data
real
order
buffer area
time
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
Application number
CN201610783437.6A
Other languages
English (en)
Other versions
CN106383693A (zh
Inventor
徐健
欧阳衡
汪伟
付刚
韩慧
张跃辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
WUHAN RADARKING ELECTRONICS CORP
Original Assignee
WUHAN RADARKING ELECTRONICS CORP
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by WUHAN RADARKING ELECTRONICS CORP filed Critical WUHAN RADARKING ELECTRONICS CORP
Priority to CN201610783437.6A priority Critical patent/CN106383693B/zh
Publication of CN106383693A publication Critical patent/CN106383693A/zh
Application granted granted Critical
Publication of CN106383693B publication Critical patent/CN106383693B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30047Prefetch instructions; cache control instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3814Implementation provisions of instruction buffers, e.g. prefetch buffer; banks

Abstract

本发明提供一种智能集中器,包括控制器、缓存单元、与控制器连接的实时数据接收模块、实时消息队列数据处理模块、实时共用体数据处理模块、实时数据存储模块和FLASH存储器,实时数据接收模块、实时消息队列数据处理模块、实时共用体数据处理模块、实时数据存储模块依次连接,所述缓存单元包括消息队列数据缓存区、共用体结构体缓存区和FLASH存储器数据缓存区。本发明还提供应用上述智能集中器以测量点为标签的数据处理方法。本发明能有效提升智能集中器程序效率、提高数据安全性、延长FLASH存储芯片的寿命。

Description

一种智能集中器及以测量点为标签的数据处理方法
技术领域
本发明涉及电能计量仪表仪器技术领域,具体是一种智能集中器及以测量点为标签的数据处理方法。
背景技术
早期的电能表功能单一,只是作为电能计量仪器使用,只能由人工对电能值进行抄取。随着电子技术的发展,电子式电能表得到了越来越广泛的应用,体积大大减小,可靠性、精度大大增强。同时电能表有了更多更强的功能,使得上位机电脑可以远程对电能表进行数据抄读和功能设置。在这样的背景下,智能集中器应运而生,一经推出便得到了市场的极大肯定。智能集中器作为一种上位机与电表之间的数据收集仪表,下行可以通过各种通道对电子式电能表进行各种操作如抄读一类数据、抄读二类数据、电能表参数设置等等;本地则具有实时时钟显示、电表数据存储、远程升级等功能;上行则可以同上位机电脑进行通信,将收集到的电表数据定时或者实时发送到上位机电脑。
现阶段智能集中器厂商在上位机电脑同智能集中器之间的数据处理流程上,大都还采用传统做法,即上位机发送命令,智能集中器接收到命令后处理该命令,命令处理完成后回复数据给上位机电脑并按顺序将数据存入本地FLASH存储芯片。传统做法存在效率低下、数据安全性低、FLASH存储芯片读写次数过多寿命短等缺点,例如智能集中器一次只能接收一条命令,该条命令没有处理完时接收到上位机电脑的第二条命令时会丢弃该命令,同时存储数据时也会将FLASH存储芯片的块数据按顺序反复擦写覆盖。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种智能集中器及以测量点为标签的数据处理方法,能有效提升智能集中器程序效率、提高数据安全性、延长FLASH存储芯片的寿命。
为达到以上目的,本发明采取的技术方案是:
一种智能集中器,包括控制器、缓存单元、与控制器连接的实时数据接收模块、实时消息队列数据处理模块、实时共用体数据处理模块、实时数据存储模块和FLASH存储器,实时数据接收模块、实时消息队列数据处理模块、实时共用体数据处理模块、实时数据存储模块依次连接,所述缓存单元包括消息队列数据缓存区、共用体结构体缓存区和FLASH存储器数据缓存区,
所述实时数据接收模块的信号输入端与上位机连接,用于接收上位机发送的上位机命令,并将所述上位机命令存入消息队列数据缓存区;
所述实时消息队列数据处理模块,用于将消息队列数据缓存区中的命令逐条取出并解析后,将解析数据存入共用体结构体缓存区,解析数据包括数据单元标识、应用层功能码;
所述实时共用体数据处理模块,用于取出共用体结构体缓存区中每一命令对应的解析数据,根据解析数据中的应用层功能码和数据单元标识以及由数据单元标识计算所得的测量点号形成任务单下发给计量表或本地功能模块以完成该命令;
所述实时数据存储模块,用于在实时共用体数据处理模块执行完命令后,取出需要存储的数据所在的测量点号和应用层功能码,然后根据该测量点号和应用层功能码计算出数据应该具体存储的物理位置,按照物理位置将需要存储的数据存储于FLASH存储器。
进一步的,实时数据接收模块用于在接收到上位机命令时,读取消息队列数据缓存区的地址指针后将数据存入以该地址为首地址的数组中,然后将地址指针指向下一个缓存数组,直至所有命令接收完毕;实时数据接收模块还用于将命令接收完毕标志位置位,等待实时消息队列数据处理模块处理完消息队列数据缓存区中的数据后将命令接收完毕标志位清零。
进一步的,实时消息队列数据处理模块用于检测到实时数据接收模块将命令接收完毕标志位置位后,按后进先出的原则将消息队列数据缓存区中的命令取出后对数据进行解析,完成后将解析好的数据存入共用体结构体缓存区;同时,将有命令需要处理标志位置位,等待实时共用体数据处理模块处理完该命令后将有命令需要处理标志位清零,之后再取出第二条命令进行解析,如此反复直至所有命令全部处理完毕,最后将命令接收完毕标志位清零,共用体结构体缓存区初始化等待下次命令接收完毕标志位置位。
进一步的,实时共用体数据处理模块用于检测到实时消息队列数据处理模块将有命令需要处理标志位置位后,首先取出共用体结构体缓存区中的数据单元标识,根据数据单元标识计算得到测量点号,通过计算将两个字节16进制测量点号换算成10进制测量点号,然后再取出应用层功能码和数据单元标识确定应进行操作类型,最后再形成任务单下发给计量表或本地功能模块执行该命令,等待命令完成后,实时共用体数据处理模块将有命令需要处理标志位清零,初始化共用体结构体缓存区,等待下一个有命令需要处理标志位置位,实时共用体数据处理模块处理得到的数据先缓存于FLASH存储器数据缓存区,若该数据需要存储,则将有数据需要存储标志位置位。
进一步的,实时数据存储模块用于检测到实时共用体数据处理模块将有数据需要存储标志位置位后,首先从共用体结构体缓存区取出需要存储数据所在的测量点号和应用层功能码,然后根据该测量点号和应用层功能码计算出数据应该具体存储FLASH存储器的物理位置,并读取该物理位置的数据,接着实时数据存储模块判断该物理位置数据与FLASH存储器数据缓存区中数据是否来自同一个数据块,若不是,则先将FLASH存储器中相应位置的数据块数据清零,然后将FLASH存储器数据缓存区中的数据存入该数据块,再将该数据块数据读出后更新FLASH存储器数据缓存区,若是,则将该数据块数据读出后直接更新FLASH存储器数据缓存区中的数据,将该步骤反复进行下去直至最后一个需要存储的数据存储完毕;最后,实时数据存储模块将有数据需要存储标志位清零。
一种以测量点为标签的数据处理方法,其应用上述智能集中器进行,其特征在于所述方法包括以下步骤:
步骤S1:所述实时数据接收模块接收上位机发送的上位机命令,并将所述上位机命令存入消息队列数据缓存区;
步骤S2:所述实时消息队列数据处理模块将消息队列数据缓存区中的命令逐条取出并解析后,将解析数据存入共用体结构体缓存区;
步骤S3:所述实时共用体数据处理模块取出共用体结构体缓存区中每一命令对应的解析数据,根据解析数据中的应用层功能码和数据单元标识以及由数据单元标识计算所得的测量点号形成任务单下发给计量表或本地功能模块以完成该命令;
步骤S4:所述实时数据存储模块在实时共用体数据处理模块执行完命令后,取出需要存储的数据所在的测量点号和应用层功能码,然后根据该测量点号和应用层功能码计算出数据应该具体存储的物理位置,按照物理位置将需要存储的数据存储于FLASH存储器数据缓存区。
进一步的,所述步骤S1具体为:每当接收到上位机命令时,实时数据接收模块读取消息队列数据缓存区的地址指针后将数据存入以该地址为首地址的数组中,然后将地址指针指向下一个缓存数组,直至所有命令接收完毕,同时,实时数据接收模块将命令接收完毕标志位置位,等待实时消息队列数据处理模块处理完消息队列数据缓存区中的数据后将命令接收完毕标志位清零。
进一步的,所述步骤S2具体为:实时消息队列数据处理模块检测到实时数据接收模块将命令接收完毕标志位置位后,按后进先出的原则将消息队列数据缓存区中的命令取出后对数据进行解析,完成后将解析好的数据存入共用体结构体缓存区,同时,将有命令需要处理标志位置位,等待实时共用体数据处理模块处理完该命令后将有命令需要处理标志位清零,之后再取出第二条命令进行解析,如此反复直至所有命令全部处理完毕,最后将命令接收完毕标志位清零,共用体结构体缓存区初始化等待下次命令接收完毕标志位置位。
进一步的,所述步骤S3具体为:实时共用体数据处理模块检测到实时消息队列数据处理模块将有命令需要处理标志位置位后,首先取出共用体结构体缓存区中存储的测量点号,通过计算将两个字节16进制测量点号换算成10进制测量点号,然后再取出应用层功能码和数据单元标识确定应进行操作类型,最后再形成任务单下发给计量表或本地功能模块执行该命令,等待命令完成后,实时共用体数据处理模块将有命令需要处理标志位清零,初始化共用体结构体缓存区,等待下一个有命令需要处理标志位置位,若得到的数据需要存储,则将有数据需要存储标志位置位
进一步的,所述步骤S4具体为:实时数据存储模块检测到实时共用体数据处理模块将有数据需要存储标志位置位后,首先从共用体结构体缓存区取出需要存储数据所在的测量点号和应用层功能码,然后根据该测量点号和应用层功能码计算出数据应该具体存储FLASH存储器的物理位置,并读取该物理位置的数据,接着实时数据存储模块判断该物理位置数据与FLASH存储器数据缓存区中数据是否来自同一个数据块,若不是,则先将FLASH存储器中相应位置的数据块数据清零,然后将FLASH存储器数据缓存区中的数据存入该数据块,再将该数据块数据读出后更新FLASH存储器数据缓存区,若是,则将该数据块数据读出后直接更新FLASH存储器数据缓存区中的数据,将该步骤反复进行下去直至最后一个需要存储的数据存储完毕;最后,实时数据存储模块将有数据需要存储标志位清零。
本发明的有益效果在于:
1、本发明在智能集中器的单片机内部开辟了一个共20*320字节大小的消息队列数据缓存区,每当上位机有多个命令下发到智能集中器时,实时数据接收模块会将接收到的命令逐条存入消息队列数据缓存区中,这样智能集中器虽然每次只能处理一条命令,但是接收到的命令并没有丢失,相较于传统智能集中器收到一条指令处理一条指令的处理方式,极大的提高了操作人员的工作效率,提高了上位机命令数据的安全性。
2、本发明在智能集中器的单片机内部开辟了一个共用体结构体缓存区,对上位机命令进行解析后的数据进行存储,所有消息队列数据缓存中的数据会被实时消息队列数据处理模块按照处理完一条数据再处理下一条数据的方式逐条解析成为各种命令后再存入共用体结构体缓存区中等待处理,相对于传统方法给每个命令都分配了单独的内存空间的处理方式,极大的减少了单片机内部硬件资源的消耗,提高了运行效率。
3、本发明智能集中器以测量点为标签存储各类数据,存储数据时首先通过测量点号计算出数据应保存在FLASH存储器中的具体位置,然后读出FLASH存储器相应位置的数据,更新该处数据后擦除原有数据块数据后将更新的数据存入FLASH存储器中。相对于传统方法数据分固定区域按顺序存储,存满后返回继续覆盖存储的处理方式,极大的减少了对FLASH存储器特定位置反复擦写的次数,延长了的使用寿命。
附图说明
图1是本发明中智能集中器的电路模块框图;
图2是本发明智能集中器中共用体结构体缓存区的数据结构示意图;
图3是本发明以测量点为标签的数据处理方法的流程示意图;
图4是图3中实时消息队列数据处理模块处理数据的流程示意图。
图中:10-智能集中器,20-上位机,30-计量表,11-控制器,12-实时数据接收模块,13-实时消息队列数据处理模块,14-实时共用体数据处理模块,15-实时数据存储模块,16-缓存单元,17-FLASH存储器,161-消息队列数据缓存区,162-共用体结构体缓存区,163-FLASH存储器数据缓存区。
具体实施方式
下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述。
请参考图1,本发明提供一种智能集中器10,其用于将上位机20和计量表30进行连接,所述智能集中器10包括控制器11、缓存单元16、与控制器11连接的实时数据接收模块12、实时消息队列数据处理模块13、实时共用体数据处理模块14、实时数据存储模块15和FLASH存储器17。实时数据接收模块12、实时消息队列数据处理模块13、实时共用体数据处理模块14、实时数据存储模块15依次连接,所述缓存单元16包括消息队列数据缓存区161、共用体结构体缓存区162和FLASH存储器数据缓存区163。
实时数据接收模块12的信号输入端与上位机20连接,以接收上位机20发送的上位机命令,消息队列数据缓存区161的信号输入端与实时数据接收模块12的信号输出端连接,消息队列数据缓存区161的信号输出端与实时消息队列数据处理模块13的信号输入端连接,实时消息队列数据处理模块13的信号输出端与共用体结构体缓存区162的信号输入端连接,共用体结构体缓存区162的信号输出端与实时共用体数据处理模块14的信号输入端连接,实时共用体数据处理模块14的信号输出端与FLASH存储器数据缓存区163的信号输入端连接,FLASH存储器数据缓存区163的信号输出端与实时数据存储模块15的信号输入端连接,实时数据存储模块15还与FLASH存储器17连接。
所述实时数据接收模块12与上位机20连接,用于接收上位机20发送的上位机命令,并将所述上位机命令存入消息队列数据缓存区161。具体的,每当接收到上位机命令时,实时数据接收模块12读取消息队列数据缓存区161的地址指针后将数据存入以该地址为首地址的数组中,然后将地址指针指向下一个缓存数组,直至所有命令接收完毕。同时,实时数据接收模块12将命令接收完毕标志位置位,等待实时消息队列数据处理模块13处理完消息队列数据缓存区161中的数据后将命令接收完毕标志位清零。
所述实时消息队列数据处理模块13,用于将消息队列数据缓存区161中的命令逐条取出并解析后,将解析数据存入共用体结构体缓存区162。具体的,如图4所示,实时消息队列数据处理模块13检测到实时数据接收模块12将命令接收完毕标志位置位后,按后进先出的原则将消息队列数据缓存区161中的命令取出后对数据进行解析,完成后将解析好的数据存入共用体结构体缓存区162。同时,将有命令需要处理标志位置位,等待实时共用体数据处理模块14处理完该命令后将有命令需要处理标志位清零。之后再取出第二条命令进行解析,如此反复直至所有命令全部处理完毕,最后将命令接收完毕标志位清零,共用体结构体缓存区162初始化等待下次命令接收完毕标志位置位。
所述共用体结构体缓存区162分为两个部分:一部分为公共区,用于存储所有数据帧均包含的数据,如起始字符、控制域、地址域、结束字符等,另一部分为数据区,用于存放数据帧的用户数据域数据,具体结构如图2所示。
所述实时共用体数据处理模块14,用于取出共用体结构体缓存区162中每一命令对应的解析数据,根据解析数据中的应用层功能码、数据单元标识以及由数据单元标识计算所得的测量点号形成任务单下发给计量表30或本地功能模块以完成该命令。具体的,实时共用体数据处理模块14检测到实时消息队列数据处理模块13将有命令需要处理标志位置位后,首先取出共用体结构体缓存区162中数据单元标识,根据数据单元标识计算得到测量点号。通过计算将两个字节16进制测量点号换算成10进制测量点号,然后再取出应用层功能码和数据单元标识确定应进行操作类型,最后再形成任务单下发给计量表30或本地功能模块执行该命令。应用层功能码用于表明该命令是属于哪种大操作,数据单元标识用于计算测量点号及该命令是属于具体大操作下的哪个小操作。
等待命令完成后,实时共用体数据处理模块14将有命令需要处理标志位清零,初始化共用体结构体缓存区162,等待下一个有命令需要处理标志位置位。实时共用体数据处理模块14处理得到的数据先缓存于FLASH存储器数据缓存区163,若该数据需要存储,则将有数据需要存储标志位置位。以测量点号为标签进行一系列的数据处理操作:需要存储的数据是以测量点号为目录的,如需要存储测量点号1的数据,则需要首先通过测量点号计算出该数据应该存储在FLASH存储器中的具体位置,读取出该位置的FLASH存储器数据后将该位置的数据更新,更新完成后再存入FLASH存储器之中。
所述实时数据存储模块15,用于在实时共用体数据处理模块14执行完命令后,取出需要存储的数据所在的测量点号和应用层功能码,然后根据该测量点号和应用层功能码计算出数据应该具体存储的物理位置,按照物理位置将需要存储的数据存储于FLASH存储器17。
具体的,实时数据存储模块15检测到实时共用体数据处理模块14将有数据需要存储标志位置位后,首先从共用体结构体缓存区162取出需要存储数据所在的测量点号和应用层功能码,然后根据该测量点号和应用层功能码计算出数据应该具体存储FLASH存储器的物理位置,并读取该物理位置的数据。接着实时数据存储模块15会做一次判断,若是该物理位置数据与FLASH存储器数据缓存区163中数据不来自同一个数据块,则先将FLASH存储器17中相应位置的数据块数据清零,然后将FLASH存储器数据缓存区163中的数据存入该数据块,再将该数据块数据读出后更新FLASH存储器数据缓存区163;若该位置数据与FLASH存储器数据缓存区163中数据来自同一个数据块,则将该数据块数据读出后直接更新FLASH存储器数据缓存区163中的数据,将该步骤反复进行下去直至最后一个需要存储的数据存储完毕。最后,实时数据存储模块15将有数据需要存储标志位清零。
图3所示为本发明以测量点为标签的数据处理方法的流程示意图,其应用上述智能集中器进行,所述方法包括以下步骤:
步骤S1:所述实时数据接收模块接收上位机20发送的上位机命令,并将所述上位机命令存入消息队列数据缓存区161。具体的,每当接收到上位机命令时,实时数据接收模块12读取消息队列数据缓存区161的地址指针后将数据存入以该地址为首地址的数组中,然后将地址指针指向下一个缓存数组,直至所有命令接收完毕。同时,实时数据接收模块12将命令接收完毕标志位置位,等待实时消息队列数据处理模块13处理完消息队列数据缓存区161中的数据后将命令接收完毕标志位清零。
步骤S2:所述实时消息队列数据处理模块13将消息队列数据缓存区161中的命令逐条取出并解析后,将解析数据存入共用体结构体缓存区162。具体的,如图4所示,实时消息队列数据处理模块13检测到实时数据接收模块12将命令接收完毕标志位置位后,按后进先出的原则将消息队列数据缓存区161中的命令取出后对数据进行解析,完成后将解析好的数据存入共用体结构体缓存区162。同时,将有命令需要处理标志位置位,等待实时共用体数据处理模块14处理完该命令后将有命令需要处理标志位清零。之后再取出第二条命令进行解析,如此反复直至所有命令全部处理完毕,最后将命令接收完毕标志位清零,共用体结构体缓存区162初始化等待下次命令接收完毕标志位置位。
步骤S3:所述实时共用体数据处理模块14取出共用体结构体缓存区162中每一命令对应的解析数据,根据解析数据中的应用层功能码和数据单元标识以及由数据单元标识计算所得的测量点号形成任务单下发给计量表30或本地功能模块以完成该命令。具体的,实时共用体数据处理模块14检测到实时消息队列数据处理模块13将有命令需要处理标志位置位后,首先取出共用体结构体缓存区162中存储的测量点号,通过计算将两个字节16进制测量点号换算成10进制测量点号,然后再取出应用层功能码和数据单元标识确定应进行操作类型,最后再形成任务单下发给计量表30或本地功能模块执行该命令。等待命令完成后,实时共用体数据处理模块14将有命令需要处理标志位清零,初始化共用体结构体缓存区162,等待下一个有命令需要处理标志位置位,若得到的数据需要存储,则将有数据需要存储标志位置位。
步骤S4:所述实时数据存储模块15在实时共用体数据处理模块14执行完命令后,取出需要存储的数据所在的测量点号和应用层功能码,然后根据该测量点号和应用层功能码计算出数据应该具体存储的物理位置,按照物理位置将需要存储的数据存储于FLASH存储器数据缓存区163。
具体的,实时数据存储模块15检测到实时共用体数据处理模块14将有数据需要存储标志位置位后,首先取出需要存储数据所在的测量点号和应用层功能码,然后根据该测量点号和应用层功能码计算出数据应该具体存储的物理位置。接着实时数据存储模15会做一次判断,若是该位置数据与FLASH存储器数据缓存区163中数据不来自同一个数据块,则先将FLASH存储器数据缓存区163中相应位置的数据块数据清零,然后将数据缓存区中的数据存入该数据块;若是该位置数据与FLASH存储器数据缓存区163中数据来自同一个数据块,则将数据缓存区中的数据做相应的更新,将该步骤反复进行下去直至最后一个需要存储的数据存储完毕。最后,实时数据存储模块15将有数据需要存储标志位清零。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何属于本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (10)

1.一种智能集中器,特征在于:包括控制器(11)、缓存单元(16)、与控制器(11)连接的实时数据接收模块(12)、实时消息队列数据处理模块(13)、实时共用体数据处理模块(14)、实时数据存储模块(15)和FLASH存储器(17),实时数据接收模块(12)、实时消息队列数据处理模块(13)、实时共用体数据处理模块(14)、实时数据存储模块(15)依次连接,所述缓存单元(16)包括消息队列数据缓存区(161)、共用体结构体缓存区(162)和FLASH存储器数据缓存区(163),
所述实时数据接收模块(12)的信号输入端与上位机(20)连接,用于接收上位机(20)发送的上位机命令,并将所述上位机命令存入消息队列数据缓存区(161);
所述实时消息队列数据处理模块(13),用于将消息队列数据缓存区(161)中的命令逐条取出并解析后,将解析数据存入共用体结构体缓存区(162),解析数据包括数据单元标识、应用层功能码;
所述实时共用体数据处理模块(14),用于取出共用体结构体缓存区(162)中每一命令对应的解析数据,根据解析数据中的应用层功能码和数据单元标识以及由数据单元标识计算所得的测量点号形成任务单下发给计量表(30)或本地功能模块以完成该命令;
所述实时数据存储模块(15),用于在实时共用体数据处理模块(14)执行完命令后,取出需要存储的数据所在的测量点号和应用层功能码,然后根据该测量点号和应用层功能码计算出数据应该具体存储的物理位置,按照物理位置将需要存储的数据存储于FLASH存储器(17)。
2.如权利要求1所述的智能集中器,其特征在于:实时数据接收模块(12)用于在接收到上位机命令时,读取消息队列数据缓存区(161)的地址指针后将数据存入以该地址为首地址的数组中,然后将地址指针指向下一个缓存数组,直至所有命令接收完毕;实时数据接收模块(12)还用于将命令接收完毕标志位置位,等待实时消息队列数据处理模块(13)处理完消息队列数据缓存区(161)中的数据后将命令接收完毕标志位清零。
3.如权利要求2所述的智能集中器,其特征在于:实时消息队列数据处理模块(13)用于检测到实时数据接收模块(12)将命令接收完毕标志位置位后,按后进先出的原则将消息队列数据缓存区(161)中的命令取出后对数据进行解析,完成后将解析好的数据存入共用体结构体缓存区(162);同时,将有命令需要处理标志位置位,等待实时共用体数据处理模块(14)处理完该命令后将有命令需要处理标志位清零,之后再取出第二条命令进行解析,如此反复直至所有命令全部处理完毕,最后将命令接收完毕标志位清零,共用体结构体缓存区(162)初始化等待下次命令接收完毕标志位置位。
4.如权利要求3所述的智能集中器,其特征在于:实时共用体数据处理模块(14)用于检测到实时消息队列数据处理模块(13)将有命令需要处理标志位置位后,首先取出共用体结构体缓存区(162)中的数据单元标识,根据数据单元标识计算得到测量点号,通过计算将两个字节16进制测量点号换算成10进制测量点号,然后再取出应用层功能码和数据单元标识确定应进行操作类型,最后再形成任务单下发给计量表(30)或本地功能模块执行该命令,等待命令完成后,实时共用体数据处理模块(14)将有命令需要处理标志位清零,初始化共用体结构体缓存区(162),等待下一个有命令需要处理标志位置位,实时共用体数据处理模块(14)处理得到的数据先缓存于FLASH存储器数据缓存区(163),若该数据需要存储,则将有数据需要存储标志位置位。
5.如权利要求4所述的智能集中器,其特征在于:实时数据存储模块(15)用于检测到实时共用体数据处理模块(14)将有数据需要存储标志位置位后,首先从共用体结构体缓存区(162)取出需要存储数据所在的测量点号和应用层功能码,然后根据该测量点号和应用层功能码计算出数据应该具体存储FLASH存储器的物理位置,并读取该物理位置的数据,接着实时数据存储模块(15)判断该物理位置数据与FLASH存储器数据缓存区(163)中数据是否来自同一个数据块,若不是,则先将FLASH存储器(17)中相应位置的数据块数据清零,然后将FLASH存储器数据缓存区(163)中的数据存入该数据块,再将该数据块数据读出后更新FLASH存储器数据缓存区(163),若是,则将该数据块数据读出后直接更新FLASH存储器数据缓存区(163)中的数据,将上述步骤反复进行下去直至最后一个需要存储的数据存储完毕;最后,实时数据存储模块(15)将有数据需要存储标志位清零。
6.一种以测量点为标签的数据处理方法,其应用上述权利要求1-5中任一项所述智能集中器进行,其特征在于所述方法包括以下步骤:
步骤S1:所述实时数据接收模块接收上位机(20)发送的上位机命令,并将所述上位机命令存入消息队列数据缓存区(161);
步骤S2:所述实时消息队列数据处理模块(13)将消息队列数据缓存区(161)中的命令逐条取出并解析后,将解析数据存入共用体结构体缓存区(162);
步骤S3:所述实时共用体数据处理模块(14)取出共用体结构体缓存区(162)中每一命令对应的解析数据,根据解析数据中的应用层功能码和数据单元标识以及由数据单元标识计算所得的测量点号形成任务单下发给计量表(30)或本地功能模块以完成该命令;
步骤S4:所述实时数据存储模块(15)在实时共用体数据处理模块(14)执行完命令后,取出需要存储的数据所在的测量点号和应用层功能码,然后根据该测量点号和应用层功能码计算出数据应该具体存储的物理位置,按照物理位置将需要存储的数据存储于FLASH存储器数据缓存区(163)。
7.如权利要求6所述的以测量点为标签的数据处理方法,其特征在于所述步骤S1具体为:每当接收到上位机命令时,实时数据接收模块(12)读取消息队列数据缓存区(161)的地址指针后将数据存入以该地址为首地址的数组中,然后将地址指针指向下一个缓存数组,直至所有命令接收完毕,同时,实时数据接收模块(12)将命令接收完毕标志位置位,等待实时消息队列数据处理模块(13)处理完消息队列数据缓存区(161)中的数据后将命令接收完毕标志位清零。
8.如权利要求7所述的以测量点为标签的数据处理方法,其特征在于所述步骤S2具体为:实时消息队列数据处理模块(13)检测到实时数据接收模块(12)将命令接收完毕标志位置位后,按后进先出的原则将消息队列数据缓存区(161)中的命令取出后对数据进行解析,完成后将解析好的数据存入共用体结构体缓存区(162),同时,将有命令需要处理标志位置位,等待实时共用体数据处理模块(14)处理完该命令后将有命令需要处理标志位清零,之后再取出第二条命令进行解析,如此反复直至所有命令全部处理完毕,最后将命令接收完毕标志位清零,共用体结构体缓存区(162)初始化等待下次命令接收完毕标志位置位。
9.如权利要求8所述的以测量点为标签的数据处理方法,其特征在于所述步骤S3具体为:实时共用体数据处理模块(14)检测到实时消息队列数据处理模块(13)将有命令需要处理标志位置位后,首先取出共用体结构体缓存区(162)中存储的测量点号,通过计算将两个字节16进制测量点号换算成10进制测量点号,然后再取出应用层功能码和数据单元标识确定应进行操作类型,最后再形成任务单下发给计量表(30)或本地功能模块执行该命令,等待命令完成后,实时共用体数据处理模块(14)将有命令需要处理标志位清零,初始化共用体结构体缓存区(162),等待下一个有命令需要处理标志位置位,若得到的数据需要存储,则将有数据需要存储标志位置位。
10.如权利要求9所述的以测量点为标签的数据处理方法,其特征在于所述步骤S4具体为:实时数据存储模块(15)检测到实时共用体数据处理模块(14)将有数据需要存储标志位置位后,首先从共用体结构体缓存区(162)取出需要存储数据所在的测量点号和应用层功能码,然后根据该测量点号和应用层功能码计算出数据应该具体存储FLASH存储器的物理位置,并读取该物理位置的数据,接着实时数据存储模块(15)判断该物理位置数据与FLASH存储器数据缓存区(163)中数据是否来自同一个数据块,若不是,则先将FLASH存储器(17)中相应位置的数据块数据清零,然后将FLASH存储器数据缓存区(163)中的数据存入该数据块,再将该数据块数据读出后更新FLASH存储器数据缓存区(163),若是,则将该数据块数据读出后直接更新FLASH存储器数据缓存区(163)中的数据,将上述步骤反复进行下去直至最后一个需要存储的数据存储完毕;最后,实时数据存储模块(15)将有数据需要存储标志位清零。
CN201610783437.6A 2016-08-30 2016-08-30 一种智能集中器及以测量点为标签的数据处理方法 Active CN106383693B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610783437.6A CN106383693B (zh) 2016-08-30 2016-08-30 一种智能集中器及以测量点为标签的数据处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610783437.6A CN106383693B (zh) 2016-08-30 2016-08-30 一种智能集中器及以测量点为标签的数据处理方法

Publications (2)

Publication Number Publication Date
CN106383693A CN106383693A (zh) 2017-02-08
CN106383693B true CN106383693B (zh) 2018-07-24

Family

ID=57938585

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610783437.6A Active CN106383693B (zh) 2016-08-30 2016-08-30 一种智能集中器及以测量点为标签的数据处理方法

Country Status (1)

Country Link
CN (1) CN106383693B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108021444B (zh) * 2017-11-06 2022-04-05 珠海格力智能装备有限公司 数据处理方法和装置
CN109597580B (zh) * 2018-12-03 2021-10-29 烟台东方威思顿电气有限公司 适用于智能电表负荷曲线存储的flash操作方法
CN112116802A (zh) * 2020-08-31 2020-12-22 宁波三星医疗电气股份有限公司 一种用于电力采集系统实时数据采集与上报的方法
CN112614331B (zh) * 2020-12-14 2022-01-11 杭州海兴电力科技股份有限公司 抄读电能表事件的方法与电能表抄读事件系统
CN113590530B (zh) * 2021-07-29 2024-03-29 上海空间推进研究所 基于单片机实现1553b总线通信的方法及系统
CN113671924B (zh) * 2021-10-25 2022-01-25 西安热工研究院有限公司 Dcs实时值置值方法和系统、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8234017B2 (en) * 2008-02-05 2012-07-31 Ls Industrial Systems Co., Ltd. Electronic smart meter enabling demand response and method for demand response
CN102855743A (zh) * 2011-06-30 2013-01-02 北京新媒传信科技有限公司 抄表系统及方法
CN103067100A (zh) * 2012-12-19 2013-04-24 云南电力试验研究院(集团)有限公司电力研究院 智能电能表通信接收性能测试系统及方法
CN104318750A (zh) * 2014-10-20 2015-01-28 华为技术有限公司 一种抄表的方法、装置和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8234017B2 (en) * 2008-02-05 2012-07-31 Ls Industrial Systems Co., Ltd. Electronic smart meter enabling demand response and method for demand response
CN102855743A (zh) * 2011-06-30 2013-01-02 北京新媒传信科技有限公司 抄表系统及方法
CN103067100A (zh) * 2012-12-19 2013-04-24 云南电力试验研究院(集团)有限公司电力研究院 智能电能表通信接收性能测试系统及方法
CN104318750A (zh) * 2014-10-20 2015-01-28 华为技术有限公司 一种抄表的方法、装置和系统

Also Published As

Publication number Publication date
CN106383693A (zh) 2017-02-08

Similar Documents

Publication Publication Date Title
CN106383693B (zh) 一种智能集中器及以测量点为标签的数据处理方法
CN102789439B (zh) 控制数据传输过程中的中断的方法与存储设备
US6345295B1 (en) Conducting traces in a computer system attachment network
CN102507024B (zh) 一种路面温度信息记录仪及测量方法
CN102799392B (zh) 存储设备及其中断控制方法
CN105210028B (zh) 持久存储器装置、用于管理其的方法和计算机可读存储介质
CN102693198A (zh) Dma传输方法及系统
CN102681952A (zh) 将数据写入存储设备的方法与存储设备
CN104407983B (zh) 一种用于电量模块的modbus地址重映射方法
CN103935855A (zh) 一种辅助电梯检验的手持终端及系统
CN109213658A (zh) 一种巡检方法和装置
CN104009884A (zh) 网络业务流分组数与流长度并行测量装置
CN202403694U (zh) 一种gps农田面积测量仪
CN102110045B (zh) 实时显示调试信息的仿真器
CN111624962B (zh) 一种数据机房供配电设备管控系统
CN106468733A (zh) 一种特高压雷电侵入波的监测系统及其监测方法
CN106155947B (zh) 一种数据存储模块的实现方法
CN206773181U (zh) 基于fpga的微脉冲激光雷达能见度仪信号处理装置
CN104376646B (zh) 一种新型的燃气充装系统及控制方法
CN207965565U (zh) 一种基于实时动态大数据的数据采集系统
CN103514070B (zh) 结合xml描述进行硬件自动化测试方法
CN108319565B (zh) 一种基于总线的仪表地址搜索方法及装置
CN202339226U (zh) 一种基于单片机与pc机通讯的玻璃量器自动检定装置
CN203877677U (zh) 一种辅助电梯检验的手持终端
CN208060975U (zh) 一种单量计量自动控制仪

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant