CN111930628B - 一种安全级显示模块图形组态仿真***及其仿真方法 - Google Patents
一种安全级显示模块图形组态仿真***及其仿真方法 Download PDFInfo
- Publication number
- CN111930628B CN111930628B CN202010812487.9A CN202010812487A CN111930628B CN 111930628 B CN111930628 B CN 111930628B CN 202010812487 A CN202010812487 A CN 202010812487A CN 111930628 B CN111930628 B CN 111930628B
- Authority
- CN
- China
- Prior art keywords
- svdu
- data
- simulation
- memory
- flash
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3648—Software debugging using additional hardware
- G06F11/3652—Software debugging using additional hardware in-circuit-emulation [ICE] arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
- G06F11/3612—Software analysis for verifying properties of programs by runtime analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3648—Software debugging using additional hardware
- G06F11/3656—Software debugging using additional hardware using a specific debug interface
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种安全级显示模块图形组态仿真***及其仿真方法,本发明的***包括SVDU应用仿真模块、板级支持包BSP和SVDU硬件仿真模块。SVDU应用仿真模块用于实现“SVDU应用”仿真。板级支持包BSP和SVDU硬件仿真模块用于为所述SVDU应用仿真模块配套提供仿真硬件以及相应的硬件接口。板级支持包BSP为上层SVDU应用驱动程序提供访问硬件设备寄存器的函数包;SVDU硬件仿真模块利用智能连续分配内存技术实现“SVDU硬件”仿真。本发明能够实现在进行图形组态下装前,先进行图形组态仿真,模拟实际硬件实现相应组态效果,以保证图像组态效果满足核电安全级的安全性和可靠性要求。
Description
技术领域
本发明涉及核电领域,具体涉及一种安全级显示模块图形组态仿真***及其仿真方法。
背景技术
安全级显示单元(Safety Video Display Unit,SVDU)是核电厂安全级数字控制***(Digital Control System,DCS)的重要组成部分,其主要功能是向操作员提供接收到的安全级相关的参数信息,同时支持操作员通过SVDU向相关的安全***发送必要的控制指令。图形组态软件作为SVDU中的重要部分,为实现SVDU相关的安全参数显示和必要控制指令发送等功能,需要先使用图形组态软件进行组态。
SVDU在核电仪控***中属安全级,对图形组态的结果要求具有高安全性和高准确性。目前为保证组态结果安全可靠,在实际应用前,对图形组态内容进行反复的单元测试和集成测试,需要对实际设备进行反复的修改、擦除、下装,容易使设备损坏、寿命减短,耗时耗力,效率低下。现行业内的图形组态仿真多用于一般工业领域,无法满足核电领域安全性、可靠性、准确性的需求,而核电领域内SVDU图形组态软件许多没有配备仿真功能,一些配备仿真功能的图形组态方法只支持部分功能仿真;或操作繁琐、使用不便;或采用Window运算内核后缺少对实际硬件逻辑的考虑与运算性能校验,仿真效果和速率与实际要求较远等问题。
发明内容
为了克服现有技术中的不足,针对核电站DCS平台SVDU图形组态功能,本发明提供了一种能够兼具安全性、可靠性以及仿真效果与速率和实际设备一致的安全级显示模块图形组态仿真***,以实现在进行图形组态下装前,先进行图形组态仿真,模拟实际硬件实现相应组态效果(如显示内容、输入、输出、人机操作等),以保证图像组态效果满足核电安全级的安全性和可靠性要求。
本发明通过下述技术方案实现:
一种安全级显示模块图形组态仿真方法,该***包括SVDU应用仿真模块、板级支持包BSP和SVDU硬件仿真模块;
其中,所述板级支持包BSP和SVDU硬件仿真模块用于为所述SVDU应用仿真模块配套提供仿真硬件以及相应的硬件接口;
所述SVDU应用仿真模块采用与工作于实际“SVDU硬件”中的“SVDU应用”相同的代码,用于实现“SVDU应用”仿真;
所述板级支持包BSP采用与工作于实际“SVDU硬件”中相同的代码,是介于“SVDU应用”和“SVDU硬件”之间的一层,为上层SVDU应用驱动程序提供访问硬件设备寄存器的函数包;
所述SVDU硬件仿真模块利用智能连续分配内存技术实现“SVDU硬件”仿真。
可选的,本发明的SVDU硬件仿真模块利用智能连续分配内存技术配置指定的内存区域模块以模拟SVDU硬件中的SDRAM模块、FLASH模块、人机输入模块、通讯接收缓存模块和通讯发送缓存模块,具体为:
自定义一个智能CMA框架,预留一段内存给仿真运行时需要内存的模块使用,该框架是一个可配置的模块化框架,用于解析和管理内存分配,当这些模块不使用这段内存时,将其分配给其他进程使用;当这些模块需要使用这段内存时,将进程占用的内存通过回收或迁移的方式将之前占用的预留内存腾出,供模块使用;
在所定义的CMA框架下,用于存储通讯参数的内存记录为comParam,用于“SVDU应用”使用的SDRAM空间的内存记录为g_SDRAM,作为Flash空间的内存记录为g_Flash用于存储人机操作数据的内存记录为g_WinEnter。
可选的,本发明在所定义的CMA框架下,g_SDRAM与g_Flash共享同一个内存区域,或者g_SDRAM与g_Flash使用来自不同内存区域的内存。
可选的,本发明的硬件仿真模块包括显示单元、通讯单元、人机输入单元和Flash仿真单元;
其中,显示单元为一个显示窗口,该显示窗口用于显示与真实SVDU完全一致的图形组态效果,并且该显示窗口上提供与真实SVDU人机界面完全一样的人机输入功能;
通讯单元采用TCP/IP协议,以传输“SVDU应用”与外部的通讯数据;
人机输入单元用于从g_WinEnter内存获取人机操作数据,将获取的数据转换为“SVDU应用”可用的人机输入数据并将其通过仿真接口传输给“SVDU应用”;
Flash仿真单元用于实现读数据、写数据和擦除数据的功能。
另一方面,本发明还提出了一种基于上述安全级显示模块图形组态仿真***的仿真方法,该仿真方法包括以下步骤:
步骤S1、初始化准备;
步骤S2、加载编译后的工程数据,将“组态配置参数”文件整体内容读取放到g_Flash中,仿真SVDU将图形组态数据下装到硬件设备中的功能;
步骤S3、利用代码运算时间测试技术将组态仿真时各个组态图元在上位机内核中所需运算时间,将其与预先测得每一个组态图元在SVDU实际硬件设备中所需的运算时间进行对比,验证组态仿真性能是否与实际硬件一致,若一致,则执行步骤S4,否则退出,对组态配置工程进行修改后返回执行步骤S1;
步骤S4、调用“SVDU应用”入口初始化应用,为组态仿真运行做准备;
步骤S5、仿真运行,在显示窗口上进行人机操作,根据操作***的人机交互机制获取用户进行的人机操作数据,并保存到g_WinEnter;
步骤S6,根据获取的人机操作数据,调用相应的SVDU应用代码,执行一次SVDU应用的工作过程。
可选的,本发明的步骤S1的初始化准备具体包括以下步骤:
步骤S11,读取通讯参数存储到comParam内存中;
步骤S12,准备一个空白显示窗口作为SVDU显示单元,该显示窗口为在相应操作***下开发的窗口;
步骤S13,在所定义的CMA框架下,在计算机内存中分配一块内存作为g_SDRAM;
步骤S14,在所定义的CMA框架下,在计算机内存中分配一块内存作为g_Flash。
可选的,本发明的步骤S6执行一次SVDU应用的工作过程包括显示、人机输入、通讯和Flash操作;
执行显示操作时:调用操作***显示接口,在显示窗口上显示所画出的数据;
执行人机输入操作时:读取人机操作数据并将其转换为“SVDU应用”可用的人机输入数据,通过仿真接口将人机输入数据回传给“SVDU应用”;
执行通讯操作时:在操作***上,使用TCP/IP协议,来传递“SVDU应用”与外部的通讯数据;
执行Flash仿真操作时:包括读数据、写数据和擦除数据仿真。
可选的,本发明执行通讯操作的具体过程包括:
初始化TCP/IP协议工作环境,初始化接收缓存reCache和发送缓冲seCache,利用comParam通讯参数发起TCP通讯连接;
接收数据时,判断连接是建立状态时,将TCP连接上接收到的数据放到接收缓冲reCache并解析数据包,将解析到的数据返回给接口调用者;
发送数据时,判断连接是建立状态,将接口传来的发送数据打包并保存到发发送缓冲seCache,判断连接仍是是建立状态,将发送缓冲seCache数据向TCP连接发送,返回发送结果。
可选的,本发明执行Flash仿真操作的具体过程包括:
所述Flash仿真单元读数据时,根据从仿真接口传来的读取数据指令,将指定读取数据的地址在g_Flash范围内的读取地址映射为g_Flash范围内的访问地址A,从g_Flash中使用Windows内存访问方法,将A地址所指内存的数据读取返回给调用者;
所述Flash仿真单元写数据时,根据从仿真接口传来的写数据指令,将指定写入数据的地址在g_Flash范围内的写入地址映射为g_Flash范围内的访问地址A,从g_Flash中使用Windows内存访问方法,将接口传来的数据写入A地址所指内存;
所述Flash仿真单元擦除数据时,根据从仿真接口传来的擦除数据指令,将指定擦除数据的地址在g_Flash范围内的擦除地址映射为g_Flash范围内的访问地址A,使用Windows内存访问方法,将g_Flash中由A地址所指内存中的数据清除。
可选的,本发明的操作***为Windows操作***、Linux操作***或Unix操作***。
本发明具有如下的优点和有益效果:
本发明针对核电厂安全级DCS平台SVDU图形组态功能,提出了一种图形组态仿真***及其仿真方法,使得组态软件生成代码在下装前,首先通过本发明方法进行仿真,避免对实际设备进行反复擦除、下装和修改,延长设备寿命,减少操作,提高效率;
本发明结合硬件板级支持包(BSP),在应用层仿真时百分之百使用下层硬件应用层的运算和显示逻辑,并用代码性能测试技术对硬件运算与仿真运算的时间性能进行对比及验证,使得组态的仿真效果等与实际运行效果一致,保证仿真效果的准确性和可靠性;
本发明利用智能连续分配内存技术(CMA技术),配置指定的内存区域模拟SVDU硬件中的SDRAM模块、FLASH模块、通讯接收缓冲、通讯发送缓冲等模块,节约内存空间,提升仿真速率;
本发明通过操作***的人机交互机制,模拟硬件电阻屏实现人机交互,完整覆盖真实硬件设备中的所有交互功能,仿真操作方便、准确;
本发明只用单台PC机即可实现安全级显示单元由硬件、BSP和上层应用三部分功能的仿真,可完全脱离硬件运行,使用方便,节约成本,为现场操作人员的培训提供便利。
附图说明
此处所说明的附图用来提供对本发明实施例的进一步理解,构成本申请的一部分,并不构成对本发明实施例的限定。在附图中:
图1为本发明的仿真***整体架构示意图。
图2为本发明的仿真方法流程示意图。
图3为本发明的初始化准备流程示意图。
图4为本发明提供的显示窗口示意图。
图5为本发明的显示操作流程示意图。
图6为本发明的显示单元显示的图形组态仿真界面图。
图7为本发明的人机输入操作流程示意图。
图8为本发明的通讯操作中初始化流程示意图。
图9为本发明的通讯操作中接收数据功能流程示意图。
图10为本发明的通讯操作中发送数据功能流程示意图。
图11为本发明的Flash操作中读数据功能流程示意图。
图12为本发明的Flash操作中写数据功能流程示意图。
图13为本发明的Flash操作中擦除数据功能流程示意图。
具体实施方式
在下文中,可在本发明的各种实施例中使用的术语“包括”或“可包括”指示所发明的功能、操作或元件的存在,并且不限制一个或更多个功能、操作或元件的增加。此外,如在本发明的各种实施例中所使用,术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。
在本发明的各种实施例中,表述“或”或“A或/和B中的至少一个”包括同时列出的文字的任何组合或所有组合。例如,表述“A或B”或“A或/和B中的至少一个”可包括A、可包括B或可包括A和B二者。
在本发明的各种实施例中使用的表述(诸如“第一”、“第二”等)可修饰在各种实施例中的各种组成元件,不过可不限制相应组成元件。例如,以上表述并不限制所述元件的顺序和/或重要性。以上表述仅用于将一个元件与其它元件区别开的目的。例如,第一用户装置和第二用户装置指示不同用户装置,尽管二者都是用户装置。例如,在不脱离本发明的各种实施例的范围的情况下,第一元件可被称为第二元件,同样地,第二元件也可被称为第一元件。
应注意到:如果描述将一个组成元件“连接”到另一组成元件,则可将第一组成元件直接连接到第二组成元件,并且可在第一组成元件和第二组成元件之间“连接”第三组成元件。相反地,当将一个组成元件“直接连接”到另一组成元件时,可理解为在第一组成元件和第二组成元件之间不存在第三组成元件。
在本发明的各种实施例中使用的术语仅用于描述特定实施例的目的并且并非意在限制本发明的各种实施例。如在此所使用,单数形式意在也包括复数形式,除非上下文清楚地另有指示。除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本发明的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本发明的各种实施例中被清楚地限定。
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。
实施例
针对核电厂安全级DCS平台SVDU图形组态功能,本实施例提出了一种安全级显示模块图形组态仿真***,使得组态软件生成代码在下装前,首先通过本发明方法进行仿真,避免对实际设备进行反复擦除、下装和修改,延长设备寿命,减少操作,提高效率。
如图1所示,本实施例的仿真***包括SVDU应用仿真模块、板级支持包BSP和SVDU硬件仿真模块。
SVDU应用仿真模块采用与工作于实际“SVDU硬件”的“SVDU应用”相同的代码,用于实现“SVDU应用”仿真,包括SVDU的数据采集、信号输出、逻辑运算处理、图形显示等总控功能。
由于脱离了实际SVDU硬件,板级支持包BSP和SVDU硬件仿真模块用于为所述SVDU应用仿真模块配套提供仿真硬件以及相应的硬件接口,以让“SVDU应用”可以工作运行。板级支持包BSP采用与工作于实际“SVDU硬件”中相同的代码,是介于“SVDU应用”和“SVDU硬件”之间的一层,为上层SVDU应用驱动程序提供访问硬件设备寄存器的函数包,为支持“SVDU应用”,使之能更好应用于“SVDU硬件”;
SVDU硬件仿真模块利用智能连续分配内存技术实现“SVDU硬件”仿真。
本实施例的SVDU硬件仿真模块利用智能连续分配内存技术(Contiguous MemoryAllocator,CMA技术)配置指定的内存区域模块以模拟SVDU硬件中的SDRAM模块、FLASH模块、人机输入模块、通讯接收缓存模块和通讯发送缓存模块,具体为:
自定义一个智能CMA框架,预留一段内存给仿真运行时需要内存的模块(SDRAM模块、FLASH模块、通讯接收缓冲、通讯发送缓冲等模块)使用,该框架是一个可配置的模块化框架,用于解析和管理内存分配,当这些模块不使用这段内存时,将其分配给其他进程使用;当这些模块需要使用这段内存时,将进程占用的内存通过回收或迁移的方式将之前占用的预留内存腾出,供模块使用;
在所定义的CMA框架下,用于存储通讯参数的内存记录为comParam,用于“SVDU应用”使用的SDRAM空间的内存记录为g_SDRAM,作为Flash空间的内存记录为g_Flash用于存储人机操作数据的内存记录为g_WinEnter。仿真硬件存储分配标识如表1所示。
表1仿真硬件存储分配表
序号 | 标识 | 描述 |
1 | g_SDRAM | SDRAM |
2 | g_Flash | Flash仿真空间 |
3 | g_WinEnter | 操作***上的鼠标输入、按键输入数据等人机输入数据 |
4 | comParam | 通讯参数,指示仿真所用的通讯对端IP地址、端口等。 |
5 | reCache | 通讯接收缓冲 |
6 | seCache | 通讯发送缓冲 |
本实施例在所定义的CMA框架下,g_SDRAM与g_Flash共享同一个内存区域,或者g_SDRAM与g_Flash使用来自不同内存区域的内存。
本实施例的硬件仿真模块包括显示单元、通讯单元、人机输入单元和Flash仿真单元;
本实施例的显示单元为一个显示窗口,该显示窗口用于显示与真实SVDU完全一致的图形组态效果,并且该显示窗口上提供与真实SVDU人机界面完全一样的人机输入功能,包括但不限于硬按钮、拨码开关、钥匙开关等。
本实施例的通讯单元采用TCP/IP协议,以传输“SVDU应用”与外部的通讯数据;
本实施例的人机输入单元用于从g_WinEnter内存获取人机操作数据,将获取的数据转换为“SVDU应用”可用的人机输入数据并将其通过仿真接口传输给“SVDU应用”;
本实施例的Flash仿真单元用于实现读数据、写数据和擦除数据的功能。
本实施例采用上述仿真***实现的仿真过程如图2所示:
第一步,初始化准备(通讯、显示、内存分配)。
本实施例的初始化准备的功能流程如3所示。
(1.1)读取通讯参数放到comParam内存中,通讯参数包括服务端IP、客户端IP、通讯端口号、仿真数据校验表等。
(1.2)准备一个显示窗口充当SVDU的显示器,该窗口用于显示与真实SVDU完全一致的图形组态效果,并且窗口上提供与真实SVDU人机界面完全一样的人机输入功能。特别地,该显示窗口为在相应操作***下开发的窗口,如操作***为Windows***,显示窗口为Windows显示窗口。本实施例准备了一个基于QT平台开发的Windows显示窗口充当SVDU的显示器,如下图4所示。
(1.3)在所定义的CMA框架下,在计算机内存中分配一大块内存作为“SVDU应用”使用的SDRAM空间,记录为g_SDRAM。
(1.4)在所定义的CMA框架下,在计算机内存中分配一大块内存充当Flash空间,记录为g_Flash。
第二步,加载编译好的工程数据,将“组态配置参数”文件整体内容读取放到g_Flash中,此步仿真SVDU的将图形组态数据下装到硬件设备中的功能。
第三步,利用代码运算时间测试技术将组态仿真时各个组态图元在上位机内核中所需运算时间,将其与预先测得每一个组态图元在SVDU实际硬件设备中所需的运算时间进行对比,验证组态仿真性能是否与实际硬件一致,若一致,向下执行;若偏差较大,退出,对组态配置工程进行修改后重新开始。
第四步,调用“SVDU应用”入口初始化应用,初始化画布大小、图形初始设置、图形初始显示、样式资源、图片资源、网络变量、***变量等,为组态仿真运行做准备。
第五步,仿真运行,在显示窗口上进行人机操作,根据操作***的人机交互机制获取用户进行的人机操作数据,并保存到g_WinEnter。特别地,g_WinEnter内存区域是在自定义的CMA框架管理下实时分配。
第六步,根据获取的人机操作,调用相应的SVDU应用代码,执行一次SVDU应用的工作过程。
执行一次SVDU应用的工作过程主要包括显示、人机输入、通讯、FLASH操作四个主要功能硬件的仿真。下面继续描述各个主要功能硬件的主要功能仿真方法。
(6.1)显示
“SVDU应用”需要向SVDU硬件显示器进行画线、画矩形、画图片、画文字等操作,其逻辑流程如图5所示。分析组态配置参数文件中涉及的显示数据,根据需要,调用Windows***显示接口,在显示窗口上显示所画出的数据,包括但不限于线、矩形、图片、文字、自定义图形控件,如图6所示。
其中,对于仿真接口,各仿真硬件对其所需的仿真接口按如下方法实现:
1)根据“SVDU应用”的需要,按照API接口需要的参数、返回值等要求,在仿真模块中实现同样的接口;
2)各接口的内部无实际功能及代码,如果接口有返回值要求,那么返回值的意义应代表该接口调用操作成功(即接口仿真并不仿真接口调用失败的情形)。
(6.2)人机输入
“SVDU应用”需要获取人机输入数据,结合操作***的特点,按照如下图7中的流程来仿真:将操作***上的鼠标输入、按键输入数据等人机输入数据读取并转为“SVDU应用”可用的人机输入数据,通过仿真接口回传给“SVDU应用”。图中Windows显示窗口中不同类型的的按钮、开关、可操作的组态图元、显示窗口两侧的按键等都可作为人机输入数据。
(6.3)通讯
使用TCP/IP协议,来传递“SVDU应用”与外部的通讯数据。在本模块中,将对通讯所需的“初始化通讯”、“接收数据”和“发送数据”三个功能进行仿真。
下面依次描述它们的基本流程。
(6.3.1)初始化通讯。初始化通讯功能流程图如图8所示,首先初始化TCP/IP协议工作环境,初始化接收缓冲reCache和发送缓冲seCache,利用comParam通讯参数发起TCP通讯连接。
(6.3.2)接收数据。接收数据功能流程图如图9所示,接收数据时,判断连接是建立状态,将TCP连接上接收到的数据放到接收缓冲reCache并解析数据包,将解析到的数据返回给接口调用者。
(6.3.3)发送数据。接收数据功能流程图如图10所示,发送数据时,判断连接是建立状态,将接口传来的发送数据打包并保存到发发送缓冲seCache,判断连接仍是是建立状态,将发送缓冲seCache数据向TCP连接发送,返回发送结果。
(6.4)Flash操作仿真
在真实SVDU硬件上有专用的Flash硬件来存储组态配置参数等数据。在仿真时,在类CMA框架下分配一块内存空间来充当Flash空间。
Flash仿真包括“读数据”和“写数据”和“擦除数据”三个主要功能仿真。
下面依次描述它们的基本流程。
(6.4.1)读数据时,根据从仿真接口传来的读取数据指令,将指定读取数据的地址在g_Flash范围内的读取地址映射为g_Flash范围内的访问地址A,从g_Flash中使用Windows内存访问方法,将A地址所指内存的数据读取返回给调用者,如图11所示。
(6.4.2)写数据时,根据从仿真接口传来的写数据指令,将指定写入数据的地址在g_Flash范围内的写入地址映射为g_Flash范围内的访问地址A,从g_Flash中使用Windows内存访问方法,将接口传来的数据写入A地址所指内存,如图12所示。
(6.4.3)擦除数据时,根据从仿真接口传来的擦除数据指令,将指定擦除数据的地址在g_Flash范围内的擦除地址映射为g_Flash范围内的访问地址A,使用Windows内存访问方法,将g_Flash中由A地址所指内存中的数据清除,如图13所示。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种安全级显示模块图形组态仿真***,其特征在于,该***包括SVDU应用仿真模块、板级支持包BSP和SVDU硬件仿真模块;
其中,所述板级支持包BSP和SVDU硬件仿真模块用于为所述SVDU应用仿真模块配套提供仿真硬件以及相应的硬件接口;
所述SVDU应用仿真模块采用与工作于实际SVDU硬件中的SVDU应用相同的代码,用于实现SVDU应用仿真;
所述板级支持包BSP采用与工作于实际SVDU硬件中相同的代码,是介于SVDU应用和SVDU硬件之间的一层,为上层SVDU应用驱动程序提供访问硬件设备寄存器的函数包;
所述SVDU硬件仿真模块利用智能连续分配内存技术实现SVDU硬件仿真;所述SVDU硬件仿真模块利用智能连续分配内存技术配置指定的内存区域模块以模拟SVDU硬件中的SDRAM模块、FLASH模块、人机输入模块、通讯接收缓存模块和通讯发送缓存模块,具体为:
自定义一个智能CMA框架,预留一段内存给仿真运行时需要内存的模块使用,该框架是一个可配置的模块化框架,用于解析和管理内存分配,当这些模块不使用这段内存时,将其分配给其他进程使用;当这些模块需要使用这段内存时,将进程占用的内存通过回收或迁移的方式将之前占用的预留内存腾出,供模块使用;
在所定义的CMA框架下,用于存储通讯参数的内存记录为comParam,用于SVDU应用使用的SDRAM空间的内存记录为g_SDRAM ,作为Flash空间的内存记录为g_Flash,用于存储人机操作数据的内存记录为g_WinEnter;
所述硬件仿真模块包括显示单元、通讯单元、人机输入单元和Flash仿真单元;
其中,显示单元为一个显示窗口,该显示窗口用于显示与真实SVDU完全一致的图形组态效果,并且该显示窗口上提供与真实SVDU人机界面完全一样的人机输入功能;
通讯单元采用TCP/IP协议,以传输SVDU应用与外部的通讯数据;
人机输入单元用于从g_WinEnter内存获取人机操作数据,将获取的数据转换为SVDU应用可用的人机输入数据并将其通过仿真接口传输给SVDU应用;
Flash仿真单元用于实现读数据、写数据和擦除数据的功能。
2.根据权利要求1所述的一种安全级显示模块图形组态仿真***,其特征在于,在所定义的CMA框架下,g_SDRAM与g_Flash共享同一个内存区域,或者g_SDRAM与g_Flash使用来自不同内存区域的内存。
3.一种基于权利要求1-2任一项所述的安全级显示模块图形组态仿真***的仿真方法,其特征在于,该仿真方法包括以下步骤:
步骤S1、初始化准备;所述步骤S1的初始化准备具体包括以下步骤:
步骤S11,读取通讯参数存储到comParam内存中;
步骤S12,准备一个空白显示窗口作为SVDU显示单元,该显示窗口为在相应操作***下开发的窗口;
步骤S13,在所定义的CMA框架下,在计算机内存中分配一块内存作为g_SDRAM;
步骤S14,在所定义的CMA框架下,在计算机内存中分配一块内存作为g_Flash;
步骤S2、加载编译后的工程数据,将组态配置参数文件整体内容读取放到g_Flash中,仿真SVDU将图形组态数据下装到硬件设备中的功能;
步骤S3、利用代码运算时间测试技术计算组态仿真时各个组态图元在上位机内核中所需运算时间,将其与预先测得每一个组态图元在SVDU实际硬件设备中所需的运算时间进行对比,验证组态仿真性能是否与实际硬件一致,若一致,则执行步骤S4,否则退出,对组态配置工程进行修改后返回执行步骤S1;
步骤S4、调用SVDU应用入口初始化应用,为组态仿真运行做准备;
步骤S5、仿真运行,在显示窗口上进行人机操作,根据操作***的人机交互机制获取用户进行的人机操作数据,并保存到g_WinEnter;
步骤S6,根据获取的人机操作数据,调用相应的SVDU应用代码,执行一次SVDU应用的工作过程。
4.根据权利要求3所述的仿真方法,其特征在于,所述步骤S6执行一次SVDU应用的工作过程包括显示、人机输入、通讯和Flash操作;
执行显示操作时:调用操作***显示接口,在显示窗口上显示所画出的数据;
执行人机输入操作时:读取人机操作数据并将其转换为SVDU应用可用的人机输入数据,通过仿真接口将人机输入数据回传给SVDU应用;
执行通讯操作时:在操作***上,使用TCP/IP协议,来传递SVDU应用与外部的通讯数据;
执行Flash仿真操作时:包括读数据、写数据和擦除数据仿真。
5.根据权利要求4所述的仿真方法,其特征在于,执行通讯操作的具体过程包括:
初始化TCP/IP协议工作环境,初始化接收缓存reCache和发送缓冲seCache,利用comParam通讯参数发起TCP通讯连接;
接收数据时,判断连接是建立状态时,将TCP连接上接收到的数据放到接收缓冲reCache并解析数据包,将解析到的数据返回给接口调用者;
发送数据时,判断连接是建立状态,将接口传来的发送数据打包并保存到发送缓冲seCache,判断连接仍是是建立状态,将发送缓冲seCache数据向TCP连接发送,返回发送结果。
6.根据权利要求4所述的仿真方法,其特征在于,执行Flash仿真操作的具体过程包括:
所述Flash仿真单元读数据时,根据从仿真接口传来的读取数据指令,将指定读取数据的地址在g_Flash范围内的读取地址映射为g_Flash范围内的访问地址A,从g_Flash中使用Windows内存访问方法,将A地址所指内存的数据读取返回给调用者;
所述Flash仿真单元写数据时,根据从仿真接口传来的写数据指令,将指定写入数据的地址在g_Flash范围内的写入地址映射为g_Flash范围内的访问地址A,从g_Flash中使用Windows内存访问方法,将接口传来的数据写入A地址所指内存;
所述Flash仿真单元擦除数据时,根据从仿真接口传来的擦除数据指令,将指定擦除数据的地址在g_Flash范围内的擦除地址映射为g_Flash范围内的访问地址A,使用Windows内存访问方法,将g_Flash中由A地址所指内存中的数据清除。
7.根据权利要求3-6任一项所述的仿真方法,其特征在于,所述操作***为Windows操作***、Linux操作***或Unix操作***。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010812487.9A CN111930628B (zh) | 2020-08-13 | 2020-08-13 | 一种安全级显示模块图形组态仿真***及其仿真方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010812487.9A CN111930628B (zh) | 2020-08-13 | 2020-08-13 | 一种安全级显示模块图形组态仿真***及其仿真方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111930628A CN111930628A (zh) | 2020-11-13 |
CN111930628B true CN111930628B (zh) | 2022-05-13 |
Family
ID=73311285
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010812487.9A Active CN111930628B (zh) | 2020-08-13 | 2020-08-13 | 一种安全级显示模块图形组态仿真***及其仿真方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111930628B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116450277B (zh) * | 2023-06-12 | 2023-08-11 | 湖南中车时代通信信号有限公司 | 一种轨道交通设备的图形组态管理方法及*** |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107273626A (zh) * | 2017-06-23 | 2017-10-20 | 中国核动力研究设计院 | 一种应用于核电安全级dcs数据处理方法 |
CN107992009A (zh) * | 2017-12-13 | 2018-05-04 | 中核控制***工程有限公司 | 一种基于fpga的安全级dcs仿真器 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9087200B2 (en) * | 2009-12-22 | 2015-07-21 | Intel Corporation | Method and apparatus to provide secure application execution |
CA2876380C (en) * | 2011-06-13 | 2021-03-16 | Lynx Software Technologies Inc. | Systems and methods of secure domain isolation |
CN104898633B (zh) * | 2015-06-16 | 2019-03-05 | 中广核工程有限公司 | 一种核电厂非安全级dcs组态测试方法及*** |
CN107506297A (zh) * | 2017-07-27 | 2017-12-22 | 北京广利核***工程有限公司 | 基于仿真平台的反应堆保护***功能测试方法和装置 |
JP7061536B2 (ja) * | 2018-08-09 | 2022-04-28 | 株式会社東芝 | 最適化装置、シミュレーションシステム及び最適化方法 |
CN110764572A (zh) * | 2019-09-17 | 2020-02-07 | 北京广利核***工程有限公司 | 用于核电站的核安全级控制显示装置 |
-
2020
- 2020-08-13 CN CN202010812487.9A patent/CN111930628B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107273626A (zh) * | 2017-06-23 | 2017-10-20 | 中国核动力研究设计院 | 一种应用于核电安全级dcs数据处理方法 |
CN107992009A (zh) * | 2017-12-13 | 2018-05-04 | 中核控制***工程有限公司 | 一种基于fpga的安全级dcs仿真器 |
Also Published As
Publication number | Publication date |
---|---|
CN111930628A (zh) | 2020-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108446215B (zh) | Pos机测试的方法、装置、***及终端 | |
US4604690A (en) | Dynamic configuration for added devices | |
US7739693B2 (en) | Generic application program interface for native drivers | |
US9940221B2 (en) | System and method for testing data representation for different mobile devices | |
CN109116315B (zh) | 一种通用雷达航电仿真*** | |
CN112286746B (zh) | 针对axi从设备接口的通用验证平台及方法 | |
CN111444609B (zh) | 数据处理方法及仿真*** | |
CN107450897B (zh) | 图形引擎的跨平台移植方法和装置 | |
CN101739289A (zh) | 一种在Linux虚拟机中设置显示模式的方法及装置 | |
US5363501A (en) | Method for computer system development verification and testing using portable diagnostic/testing programs | |
CN116681013B (zh) | 网络芯片的仿真验证方法、平台、装置、设备及介质 | |
CN109597653A (zh) | Bios与bmc命令交互的方法、bios及bmc | |
CN111930628B (zh) | 一种安全级显示模块图形组态仿真***及其仿真方法 | |
CN114461478A (zh) | 模拟器,驱动测试方法,电子设备及计算机可读存储介质 | |
CN103678099B (zh) | 一种实现硬件平台与软件平台通讯的方法以及装置 | |
CN101464843A (zh) | 在多操作***中共享显示卡的方法和计算机*** | |
CN111708704A (zh) | 一种云真机测试方法、装置、终端及存储介质 | |
CN109243650B (zh) | 基于fpga的具有组态功能的核电站安全级仪控***及方法 | |
US11055602B2 (en) | Deep learning assignment processing method and apparatus, device and storage medium | |
CN111324323A (zh) | 多屏显示控制方法及装置、嵌入式处理***和视频控制器 | |
CN115587026A (zh) | 芯片测试方法、装置、存储介质及芯片 | |
CN105930041B (zh) | 一种基于液晶屏的菜单生成方法及装置 | |
CN112885403A (zh) | 一种Flash控制器的功能测试方法、装置及设备 | |
CN111831497A (zh) | 一种设备仿真方法、装置、存储介质及仿真终端 | |
KR20200099229A (ko) | 항공전자 장비 시뮬레이션 시스템 및 방법 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |