首页 / 专利库 / 软件 / 软件 / 一种电能表软件运行环境的仿真系统

一种电能软件运行环境的仿真系统

阅读:26发布:2021-06-07

专利汇可以提供一种电能软件运行环境的仿真系统专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种 电能 表 软件 运行环境的仿真系统,包括:用户交互单元,用于显示 电能表 软件的状态信息,并接收用户输入的运行参数信息;驱动支持单元,用于根据运行参数信息为所述电能表软件提供 硬件 调用 接口 ,并生成模拟运行数据;通信单元,用于模拟电能表的串口和网络模 块 ,提供多种通信方式。本发明提供的电能表软件运行环境的仿真系统为电能表软件的运行模拟相关 外围设备 ,同时能够动态监控及记录电能表软件运行状态,可以加快软件的开发进度,对软件的可靠性及实时性进行提升。,下面是一种电能软件运行环境的仿真系统专利的具体信息内容。

1.一种电能软件运行环境的仿真系统,其特征在于,包括:用户交互单元、驱动支持单元,其中:
用户交互单元,用于显示所述电能表软件的状态信息,并接收用户输入的运行参数信息;
驱动支持单元,用于根据所述运行参数信息为所述电能表软件提供硬件调用接口,并生成模拟运行数据。
2.根据权利要求1所述的电能表软件运行环境的仿真系统,其特征在于,所述模拟运行数据包括:模拟运行环境数据、外设设备信息、电能表的模拟瞬时量、相关事件信息、模拟掉电信号
所述驱动支持单元包括:RTC模定时器模块、ADC模块、GPIO模块、采样模块、掉电管理模块、外部存储器模块,其中:
RTC模块,用于提供时钟信号
定时器模块,用于为电能表软件的运行提供所需的时间信号;
ADC模块,用于根据所述运行参数信息生成所述模拟运行环境数据;
GPIO模块,用于获取IO端口间进行交互的所述外设设备信息;
采样模块,用于根据所述运行参数信息生成模拟电能表的瞬时量以及模拟电能表的相关事件信息;
掉电管理模块,用于根据所述运行参数信息生成模拟掉电信号及提供模拟电能表的唤醒机制;
外部存储器模块,用于保存所述模拟运行环境数据。
3.根据权利要求1所述的电能表软件运行环境的仿真系统,其特征在于,所述用户交互单元包括:运行控制台模块、用户交互终端模块以及系统监控模块,其中:
运行控制台模块,用于显示模拟电能表的状态信息,并提供外设设备的操作接口;
用户交互终端模块,用于为所述电能表软件提供注册接口及监控运行情况;
系统监控模块,用于提供所述电能表软件的运行日志信息、运行参数的检测以及外部存储器模块的访问统计。
4.根据权利要求3所述的电能表软件运行环境的仿真系统,其特征在于,所述用户交互终端模块包括:液晶显示区、按键区以及指示灯区,其中:
液晶显示区,用于显示运行状态;
按键区,用于设置运行参数信息以及切换所述液晶显示区的显示内容;
指示灯区,用于根据运行状态发出相应指示信号。
5.根据权利要求1所述的电能表软件运行环境的仿真系统,其特征在于,还包括通信单元,用于模拟电能表的串口和网络模块,提供多种通信方式。
6.根据权利要求5所述的电能表软件运行环境的仿真系统,其特征在于,所述通信单元包括:串口通信模块以及TCP/IP通信模块,其中:
所述串口通信模块为所述电能表软件提供UART操作接口;
所述TCP/IP通信模块模拟电能表的无线网络模块,与所述电能表软件通过所述串口通信模块通信。

说明书全文

一种电能软件运行环境的仿真系统

技术领域

[0001] 本发明涉及电能表软件开发领域,具体涉及一种电能表软件运行环境的仿真系统。

背景技术

[0002] 电能表嵌入式开发时,需要反复把编译好的程序通过仿真器下载到芯片中,这个过程花费时间长。电能表软件开发工作中,大部分的工作为应用层开发,而应用层开发过程中,经常需要调试仿真。现有仿真器能够的插入断点数量有限,使用起来不方便;开发工具中自带的仿真软件,无法提供电能表运行所需的各种外设。

发明内容

[0003] 因此,本发明要解决的技术问题在于克服现有电能表软件开发过程中调试仿真不方便的问题,提供一种电能表软件运行环境的仿真系统,通过设置参数可以模拟各式类型的电能表,电能表软件开发的虚拟化、独立化,对软件的可靠性及实时性进行测试,根据测试结果进行调试可加快软件的开发进度。
[0004] 本发明提供一种电能表软件运行环境的仿真系统,包括:用户交互单元、驱动支持单元,其中:用户交互单元,用于显示所述电能表软件的状态信息,并接收用户输入的运行参数信息;驱动支持单元,用于根据所述运行参数信息为所述电能表软件提供硬件调用接口,并生成模拟运行数据。
[0005] 优选地,所述模拟运行数据包括:模拟运行环境数据、外设设备信息、电能表的模拟瞬时量、相关电网事件信息、模拟掉电信号,所述驱动支持单元包括:RTC模定时器模块、ADC模块、GPIO模块、采样模块、、掉电管理模块、外部存储器模块,其中:RTC模块,用于提供时钟信号;定时器模块,用于为电能表软件的运行提供所需的时间信号;ADC模块,用于根据所述运行参数信息生成所述模拟运行环境数据;GPIO模块,用于获取IO端口间进行交互的所述外设设备信息;采样模块,用于根据所述运行参数信息生成模拟电能表的瞬时量以及模拟电能表的相关电网事件信息;掉电管理模块,用于根据所述运行参数信息生成模拟掉电信号及提供模拟电能表的唤醒机制;外部存储器模块,用于保存所述模拟运行环境数据。
[0006] 优选地,所述用户交互单元包括:运行控制台模块、用户交互终端模块以及系统监控模块,其中:运行控制台模块,用于显示模拟电能表的状态信息,并提供外设设备的操作接口;用户交互终端模块,用于为所述电能表软件提供注册接口及监控运行情况;系统监控模块,用于提供所述电能表软件的运行日志信息、运行参数的检测以及外部存储器模块的访问统计。
[0007] 优选地,所述用户交互终端模块包括:液晶显示区、按键区以及指示灯区,其中:液晶显示区,用于显示运行状态;按键区,用于设置运行参数信息以及切换所述液晶显示区的显示内容;指示灯区,用于根据运行状态发出相应指示信号。
[0008] 优选地,所述的电能表软件运行环境的仿真系统还包括通信单元,用于模拟电能表的串口和网络模块,提供多种通信方式。
[0009] 优选地,所述通信单元包括:串口通信模块以及TCP/IP通信模块,其中:所述串口通信模块为所述电能表软件提供UART操作接口;所述TCP/IP通信模块模拟电能表的无线网络模块,与所述电能表软件通过所述串口通信模块通信。
[0010] 本发明技术方案,具有如下优点:
[0011] 本发明提供的一种电能表软件运行环境的仿真系统,包括:用户交互单元,用于显示电能表软件的状态信息,并接收用户输入的运行参数信息;驱动支持单元,用于根据运行参数信息为所述电能表软件提供硬件调用接口,并生成模拟运行数据。为电能表软件的运行模拟相关外围设备,同时能够动态监控及记录电能表软件运行状态,可以加快软件的开发进度。附图说明
[0012] 为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0013] 图1为本发明实施例中电能表软件运行环境的仿真系统的一个具体示例的架构组成图;
[0014] 图2为本发明实施例中电能表软件运行环境的仿真系统的另一个具体示例的架构组成图。

具体实施方式

[0015] 下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0016] 在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,还可以是两个元件内部的连通,可以是无线连接,也可以是有线连接。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
[0017] 此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
[0018] 实施例
[0019] 本发明实施例提供一种电能表软件运行环境的仿真系统,为电能表软件的运行提供相关外围设备,同时能够动态监控及记录电能表软件运行状态。如图1所示,包括:用户交互单元1及驱动支持单元2。
[0020] 其中,该用户交互单元1,用于显示电能表软件的状态信息,并接收用户输入的运行参数信息。
[0021] 在一实施例中,如图2所示,用户交互单元1具体包括:运行控制台模块11、用户交互终端模块12以及系统监控模块13。其中,运行控制台模块11,用于显示模拟电能表的状态信息,并提供外设设备的操作接口,还可以用来触发按键,实现显示内容的切换。
[0022] 用户交互终端模块12,用于为所述电能表软件提供注册接口及监控运行情况,用户可以查看已注册的函数,并可以通过交互终端界面调用这些函数。
[0023] 在一较佳实施例中,该用户交互终端模块12包括:液晶显示区121、按键区122以及指示灯区123。
[0024] 其中,液晶显示区121,用于显示运行状态,液晶显示区使用双缓冲刷新技术,避免出现刷新闪烁,提供的显示内容有OBIS标识(object identification system,对象目标识别系统)、象限指示、零线计量指示、多个电池欠压、电压相线指示、费率、跳合闸、通信标志、显示内容、显示单位、报警指示、窃电指示、工厂模式指示等。
[0025] 按键区122,用于设置运行参数信息以及切换所述液晶显示区的显示内容,按键区提供显示按键、清需量按键、开表盖、开尾盖、厂内模式切换按键、强磁检测口。
[0026] 指示灯区123,用于根据运行状态发出相应指示信号,包括有无功脉冲灯、背光、双色灯、蜂鸣器、报警灯。开表盖、尾盖、强磁等状态掉电保存到配置文件,上电重新加载,可真实的模拟电能表的相关状态。液晶显示区121和脉冲灯采用定时刷新的方式,每10ms刷新一次,保证电能表的状态的实时显示。
[0027] 该系统监控模块13,用于提供所述电能表软件的运行日志信息、运行参数的检测以及外部存储器模块27的访问统计能够实时记录并检测程序的运行情况,日志输出信息可以到文件和用户交互终端。当发生严重问题时,液晶不停的闪烁,提醒用户处理。用户交互终端显示的内容,可以由用户配置每个模块是否输出。日志文件记录所有的调试信息及程序的执行信息,为了避免过于频繁读写文件,每2M大小写一次文件。
[0028] 上述的驱动支持单元2,用于根据运行参数信息为电能表软件提供硬件调用接口,并生成模拟运行数据。在一实施例中,模拟运行数据包括:模拟运行环境数据、外设设备信息、电能表的模拟瞬时量、相关电网事件信息、模拟掉电信号等。
[0029] 在一实施例中,该驱动支持单元2具体包括:RTC(实时时钟)模块21、定时器模块22、ADC(模数转换器)模块23、GPIO(通用IO口)模块24、采样模块25、掉电管理模块26、外部存储器模块27。
[0030] 其中,该RTC模块21,用于提供时钟信号,提供完整的时钟读写支持,本发明实施例中是基于windows操作系统开发,所以是基于windows系统提供的时间接口,提供完整的时钟读写支持,在其他实施例中也可以基于其他操作系统。
[0031] 定时器模块22,用于为电能表软件的运行提供所需的时间信号,本发明实施例中定时器模块提供精确的1ms定时节拍,并处理脉冲的模拟产生、系统时钟节拍的累加等事务,为电能表软件的运行提供所需的时间信号。
[0032] ADC模块23,用于根据运行参数信息生成模拟运行环境数据,例如模拟产生电池电压、当前温度等数据。
[0033] GPIO模块24,用于获取IO端口间进行交互的外设设备信息,提供IO的所有操作:控制IO为输入或输出、设置IO输出为高或低、读取当前IO的高低电平,输入输出的外设设备信息关联到GPIO,例如可模拟按键的短按和长按等操作。
[0034] 采样模块25,用于根据运行参数信息生成模拟电能表的模拟瞬时量以及模拟电能表的相关事件信息,在本发明实施例中提供电能表瞬时量的刷新,相关的瞬时量采用动态配置的方法,配置的方法通过用户交互接口实现。通过此接口,同时可以模拟电能表的相关事件,如电压的欠压、过压、断相、逆向序,电流反向、旁路、过流等事件。
[0035] 掉电管理模块26,用于根据所述运行参数信息生成模拟掉电信号及提供模拟电能表的唤醒机制;本发明实施例中掉电管理模块26支持掉电信号的产生,能够模拟电能表掉电运行的唤醒机制,解决了掉电程序仿真运行困难的问题。
[0036] 外部存储器模块27,用于保存模拟运行环境数据,本发明实施例中外部存储器利用内存和文件保存数据,为电能表软件提供无差别的数据读写支持。外部存储器模块27利用文件和内存保存数据,首先电能表软件启动时打开文件,若文件不存在则认为存储器件为新器件,需要用0xFF进行初始化内存,若文件存在则加载文件内容到内存。数据的读写操作就是对内存的操作,电能表掉电时(通过仿真系统模拟),把内存数据写回文件中。文件和内存的大小可根据配置的EEPROM(带电可擦可编程只读存储器)或FLASH(闪存)的型号自动调整。通过文件和内存模拟数据的存储器件,可以非常方便的查看存储器件的内容、监控存储器的写操作、统计函数操作外部存储器占用的时间,为调试和分析应用程序提供方便的接口。在一较佳实施例中,本发明实施例的电能表软件运行环境的仿真系统还包括:通信单元3,用于模拟电能表的串口和网络模块,提供多种通信方式。在一实施例中,通信单元3具体包括:串口通信模块31以及TCP/IP通信模块32,其中:串口通信模块31为电能表软件提供UART操作接口,UART与计算机端口的对应关系可由文件配置;TCP/IP通信模块32模拟电能表的无线网络模块,与电能表软件通过所述串口通信模块31通信。
[0037] 实际应用中,TCP/IP通信模块32支持服务器模式和客户端模式。
[0038] 在服务器模式下,任务监控指定的Socket端口,有客户端访问时,建立连接,接收并转发客户端的数据到应用层(电能表软件),应用层处理完毕后,通知任务把处理好的数据转发给客户端。设计中使用了连接池,最多能够放入64个Socket连接。若有多个连接时,服务器会向所有客户端发送数据。若远程连接出现意外断开,服务器在发送数据失败时,会尝试重发2次后,无回应则删除此Socket连接。
[0039] 在客户端模式下,任务主动连接指定的服务器,若连接没有成功,则会尝试间隔1分钟再次连接,连接成功后,等待服务器主动访问电能表,此时TCP/IP通信模块会把数据转发给应用层,应用层处理完毕后,通知任务把处理好的数据转发给服务器。TCP/IP通信模块32还支持应用层主动上报数据的通信方式。此模式的通信开启和关闭应由电能表来控制,不使用心跳保持的方法,而使用主动断开和超时重连的机制,保持与主站的同步。
[0040] 具体实施时,应用层程序可运行在仿真系统提供的一个单独的线程中,其他的功能由多个线程完成。这些线程优先级高于应用程序线程的优先级,可以很好的模拟前后台系统的运行情况。具体线程资源分配情况如下:
[0041]
[0042] 上述的掉电管理模块26通过监测软件关闭信号和用户界面的电源控制选项,产生电能表掉电信号。当电能表掉电休眠时,掉电管理模块关闭应用层程序运行线程,同时根据设置的唤醒时间,启动定时器,当定时器设定时间到达时,重新启动应用层程序运行线程,完成MCU(单片机)的唤醒功能。
[0043] 在一实施例中,上述的用户交互终端模块12不仅用于显示交互信息,还要用于显示程序运行日志信息,它们之间存在一个切换机制。数据接收线程检测到数据到来,通知主线程更改当前终端状态为交互模式,主线程检测超时30s未输入数据,则退出交互模式进入日志模式。
[0044] 串口通信模块31为每个串口都创建独立的线程,并为串口提供半双工的模拟控制处理。数据发送的判断条件为当前串口状态为半双工的写允许状态,且应用层置写数据事件标志,此操作每50ms执行一次;数据读取的判断条件为当前串口状态为半双工的读允许状态,通过读取串口文件判断数据的到来,此操作每20ms执行一次;因应用层和串口线程处于不同的流程,获取应用层数据时和向应用层写入数据时,要注意数据为空或写满时,主动休眠10ms,等待应用层相应的处理。
[0045] 以电量的累计及抄读为例,描述整个仿真的工作过程:仿真系统启动后,驱动支持单元2的采样模块25根据运行控制台模块11设置的参数信息,动态的生成当前的各种功率;然后利用驱动支持单元2的定时器模块22提供的1ms和1s定时信号,产生电能表脉冲信号;
应用层获取此信号后对当前的电能进行累加,并按照一定的间隔时间(15min),把累加的数据保存到外部存储器模块27中;系统监控模块13通过监控脉冲信号IO口的变化,触发指示灯区123的模拟脉冲闪烁,这样就完成了电能表电量的累计功能。此时若需要通过网络读取当前累加的电量:首先需要和仿真系统建立TCP/IP连接,然后发送数据抄读命令;TCP/IP通信模块32在接收到数据后,通过模拟串口的通道,把数据转发给仿真系统;仿真系统从外部存储设备模块27中读取并计算当前累加的电量,完成后把数据通过虚拟串口的通道发送给TCP/IP通信模块32;由TCP/IP通信模块32把数据转发给数据获取者。
[0046] 显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈