一种基于操作系统时间缩放的变速仿真器的仿真方法
【专利说明】一种基于操作系统时间缩放的变速仿真器的仿真方法
[0001]
技术领域
[0002]本发明涉及一种可变速仿真器,属于数据处理技术领域。
【背景技术】
[0003]国内外目前在流域仿真领域,进行仿真时基本上采用固定速度自动运行的方式,而没有实现系统的速度调整以及方向调整,根本原因是仿真系统数据的复杂性,时间点变化带来的大量数据的变化,使得系统的复杂程度大大提高,同时,仿真自动运行,对于仿真过程中某一疑难细节,想要重复演练,也难以实现,对于某一较长的过程时间,例如流域汇流,可能需要几个小时甚至更长时间,不调节速度,等待时间太长,直接读取结果,难以达到仿真效果。
【发明内容】
[0004]本发明针对传统仿真系统中的不足,增加流域仿真过程的可控性,提高仿真演练效果,提出的一种可变速仿真器,采用设定并调整仿真时间与现实时间的比例的方式,来动态控制仿真过程。
[0005]为解决上述技术问题,本发明提供一种变速仿真器,其特征是,包括以下步骤:
1)提取并记录操作系统当前时间
仿真器运行后,自动提取并记录操作系统当前时间,作为时间原点;
2)获取仿真方向
用户在界面点击快进或快退后,仿真器后台通过消息响应机制,判断点击的是快进还是快退按钮,获得仿真方向;
3)获取加速倍数
用户在界面点击加速按钮后,仿真器后台通过消息响应机制,获得点击次数,换算成加速倍数,然后将取数时间间隔换算成时钟正常的运行时间间隔乘以加速倍数,取数间隔时长就变成了原来的间隔时长*加速倍数,从数据库取数据时,按新的间隔时长取数,这样就相当于快进取出了数据。快退取数原理同上。
[0006]4)冻结或解冻
用户在界面点击冻结或解冻按钮后,仿真器后台通过消息响应机制,如果获得冻结消息,则仿真器将时钟停止,仿真流程暂停;如果获得解冻消息,则仿真器启动时钟,仿真流程按当前速度运行。
[0007]5)恢复正常时间间隔
用户在界面点击正常播放按钮后,仿真器后台通过消息响应机制,通过仿真方向和加速倍数进行计算,将当前时间间隔时长还原成正常的运行时间间隔时长,从数据库取数据时,将恢复成按原来的间隔时长取数,这样就相当于正常播放取出了数据。
[0008]步骤3)中,换算加速度倍数的方法为:获得点击次数,并记录点击次数,按照点击次数的2次方换算成加速倍数;当点击次数超过5次时,次数恢复成0重新获得点击次数并记录和换算。
[0009]本发明所达到的有益效果:
本方法采用设定并调整流域仿真时间与现实时间的比例的方式,来动态控制仿真过程,增强了仿真过程的可控性,提高了仿真演练效果。
【附图说明】
[0010]图1是变速仿真器控制流程图。
【具体实施方式】
[0011]下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
[0012]如图1所示,本发明的方法包括以下步骤:
1)提取并记录操作系统当前时间
仿真器运行后,自动提取并记录操作系统当前时间,作为时间原点to ;
2)获取仿真方向
用户在界面点击快进或快退后,仿真器后台通过消息响应机制,判断点击的是快进还是快退按钮,获得仿真方向。如果是快进或前进,则取当前时间之后的数据,反之,则取当前时间之前的数据。
[0013]3)获取加速倍数
用户在界面点击加速按钮后,仿真器后台通过消息响应机制,获得点击次数,换算成加速倍数N,然后将取数时间间隔换算成时钟正常的运行时间间隔interval乘以加速倍数N,这样新的取数就从时间点:t0+仿真方向direct1n*间隔时长interval*加速倍数N开始提取数据,从数据库取数据时,按新的间隔时长interval* N取数,这样就相当于快进取出了数据。快退取数原理同上。
[0014]4)冻结或解冻
用户在界面点击冻结或解冻按钮后,仿真器后台通过消息响应机制,如果获得冻结消息,则仿真器将时钟停止,仿真流程暂停;如果获得解冻消息,则仿真器启动时钟,仿真流程按当前速度运行。
[0015]5)恢复正常时间间隔
用户在界面点击正常播放按钮后,仿真器后台通过消息响应机制,获得新的当前操作系统时间设置为新的时间原点tl,加速倍数恢复成1,通过仿真方向和加速倍数进行计算,将当前时间间隔时长还原成正常的运行时间间隔时长,取数就从时间点:tl+仿真方向direct1n*间隔时长interval*l开始提取数据,从数据库取数据时,将恢复成按原来的间隔时长取数,这样就相当于正常播放取出了数据。
[0016]以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
【主权项】
1.一种基于操作系统时间缩放的变速仿真器的仿真方法,其特征是,包括以下步骤: 1)提取并记录操作系统当前时间 仿真器运行后,自动提取并记录操作系统当前时间,作为时间原点; 2)获取仿真方向 用户在界面点击快进或快退后,仿真器后台通过消息响应机制,判断点击的是快进还是快退按钮,获得仿真方向; 3)获取加速倍数 用户在界面点击加速按钮后,仿真器后台通过消息响应机制,获得点击次数,根据点击次数换算成加速倍数,然后将取数时间间隔换算成时钟正常的运行时间间隔乘以加速倍数,取数时间间隔时长就变为正常的间隔时长*加速倍数,从数据库取数据时,按新的取数时间间隔时长进行取数; 4)冻结或解冻 用户在界面点击冻结或解冻按钮后,仿真器后台通过消息响应机制,如果获得冻结消息,则仿真器时钟停止,仿真流程暂停;如果获得解冻消息,则仿真器时钟启动,仿真流程按当前速度运行; 5)恢复正常时间间隔 用户在界面点击正常播放按钮后,仿真器后台通过消息响应机制,通过仿真方向和加速倍数进行计算,将当前取数时间间隔时长还原成正常的运行时间间隔时长,并以该时长从数据库取数据。2.根据权利要求1所述的基于系统时间缩放的变速仿真器,其特征是,步骤2)中,如果是快进或前进,则取当前时间之后的数据,如果是快退,则取当前时间之前的数据。3.根据权利要求1所述的基于系统时间缩放的变速仿真器,其特征是,步骤3)中,换算加速度倍数的方法为:获得点击次数,并记录点击次数,按照点击次数的2次方换算成加速倍数;当点击次数超过5次时,次数恢复成0重新获得点击次数并记录和换算。
【专利摘要】本发明公开了一种基于操作系统时间缩放的变速仿真器的仿真方法,1)提取并记录操作系统当前时间;2)获取仿真方向;3)获取加速倍数,将取数时间间隔换算成时钟正常的运行时间间隔乘以加速倍数,取数时间间隔时长就变为正常的间隔时长*加速倍数,从数据库取数据时,按新的取数时间间隔时长进行取数;4)冻结或解冻;5)恢复正常时间间隔,仿真器后台通过消息响应机制,通过仿真方向和加速倍数进行计算,将当前取数时间间隔时长还原成正常的运行时间间隔时长,并以该时长从数据库取数据。本方法能灵活地调整仿真过程,便于利用仿真系统进行学习培训,既可节省时间,提高效率,又可反复地查看某个中间过程,便于疑难问题的学习。
【IPC分类】G06F17/50
【公开号】CN105279335
【申请号】CN201510720621
【发明人】孙永红, 李书明, 庞敏, 李维, 倪维东, 韩兵, 陈健祥, 胡星, 潘薇, 孙朝霞, 于牡丹
【申请人】南京河海南自水电自动化有限公司
【公开日】2016年1月27日
【申请日】2015年10月30日