WO2018072445A1 - 一种嵌入式虚拟装置运行方法和系统 - Google Patents

一种嵌入式虚拟装置运行方法和系统 Download PDF

Info

Publication number
WO2018072445A1
WO2018072445A1 PCT/CN2017/086081 CN2017086081W WO2018072445A1 WO 2018072445 A1 WO2018072445 A1 WO 2018072445A1 CN 2017086081 W CN2017086081 W CN 2017086081W WO 2018072445 A1 WO2018072445 A1 WO 2018072445A1
Authority
WO
WIPO (PCT)
Prior art keywords
real
time
virtual
data
subsystem
Prior art date
Application number
PCT/CN2017/086081
Other languages
English (en)
French (fr)
Inventor
陈宏君
周强
文继锋
李九虎
徐东方
李广华
刘伟
李德文
周磊
赵天恩
Original Assignee
南京南瑞继保电气有限公司
南京南瑞继保工程技术有限公司
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 南京南瑞继保电气有限公司, 南京南瑞继保工程技术有限公司 filed Critical 南京南瑞继保电气有限公司
Priority to EP17862886.3A priority Critical patent/EP3525094A4/en
Priority to BR112019008039A priority patent/BR112019008039A2/pt
Priority to US16/343,389 priority patent/US10949242B2/en
Publication of WO2018072445A1 publication Critical patent/WO2018072445A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • G06F11/364Software debugging by tracing the execution of the program tracing values on a bus
    • 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Definitions

  • the invention belongs to the field of embedded device development, and particularly relates to an embedded virtual device operation method and system.
  • the embedded device is a key device for safe and stable operation in the fields of power system and industrial control. Its professionalization threshold is high, the research and development process is complex, complex functions require team development, and research and development costs are high.
  • Embedded device development includes application algorithms, software and hardware platforms, device debugging and other processes. At present, the degree of integration of embedded devices is also increasing. For example, centralized protection and monitoring devices include multiple functions such as line protection, transformer protection, bus protection, stability control, measurement and control, etc.
  • the serial development and development cycle of the device is long. Parallel development requires more device samples and commissioning equipment.
  • the object of the present invention is to realize a virtual running environment of an embedded device, and has a virtual running test function of the whole machine.
  • the present invention provides an embedded virtual device running method, which is characterized in that a virtual management process reads a device configuration file, loads a real-time module, a non-real-time module, and hierarchically serializes the relationship according to a task cycle in a real-time scheduling thread.
  • the tasks of each real-time module are scheduled to achieve precise synchronization of multi-processor data exchange.
  • the virtual management process starts multiple threads to run event callbacks and periodic tasks of non-real-time modules, and realizes parallel communication with multiple protocol debugging clients. Specifically, the following steps are included:
  • the first step the PC main interface process obtains the simulation setting information, and starts the virtual management process of the embedded device.
  • the virtual management process reads the device configuration file, obtains the hardware configuration information, loads the real-time module of each processor, acquires the process configuration information of the main CPU, loads the corresponding non-real-time module, and the management process reads the configuration information of the human-machine communication in the configuration file.
  • Create configuration shared memory the management process extracts and records the predefined module export function address when the module is loaded.
  • the second step the virtual management process performs initialization interaction through the virtual CAN bus and the real-time module according to the hardware declaration order, and the management process summarizes the data exchange information of each real-time module to create a data bus.
  • the virtual management process performs initialization interaction through the virtual FIFO and the non-real-time module according to the non-real-time process declaration order in the configuration file.
  • the third step the virtual management process starts the virtual real-time task scheduling thread, calls the pre-defined export interface of the real-time module, and serially schedules the real-time tasks in each cycle.
  • the virtual management process starts multiple non-real-time threads and calls non-real-time module periodic tasks to implement parallel communication with multiple debugging clients.
  • Step 4 During the operation of the virtual device, the real-time module acquires interaction data between the processors based on the data bus, and the real-time module and the non-real-time module exchange data based on the shared memory.
  • the real-time SLAVE module flushes the variable agent of the non-real-time module to the data bus and passes it to other processors.
  • the DSP processor real-time module is a dynamic link library, which is compiled by an operating system-less application of the embedded device and a virtual DSP system library.
  • the real-time module SLAVE of the main CPU is a dynamic link library, which is compiled by the embedded device based on the real-time program developed by the operating system and compiled with the virtual main CPU real-time system library.
  • the non-real-time module is reconstructed by the embedded device based on the non-real-time program developed by the operating system, and the virtual main CPU non-real-time system library is compiled.
  • the device application Based on the virtual PC platform library, the device application only needs to switch the compilation environment to recompile without modifying the code.
  • the virtual emulation device and the actual device share the same configuration file, and the application personnel need not modify the device configuration.
  • the tasks of the real-time modules are serially managed according to the periodic level, and the least common multiple of the multiple real-time task periods of the virtual real-time task scheduling thread computing device is used as the step loop according to the least common multiple, and the step size is When accumulating the period value of the corresponding level, the task of the level is called, and the time stamp of the virtual device is updated to the shared memory, and the minimum resolution is virtual microsecond.
  • the virtual real-time task scheduling thread supports sequential scheduling according to the data bus read, the real-time computing task, and the data bus write, accurately simulates the embedded device parallel bus 1 point delay; also supports data bus read, data bus write, real-time operation
  • the sequential scheduling of tasks accurately simulates the embedded device serial bus with 2 point delays, and the scheduling mode can be configured.
  • the non-real-time thread periodically invokes the interface, supports the event-triggered communication message sending and receiving task, and supports reading the actual time of the PC to execute the millisecond-level periodic task.
  • the real-time module SLAVE creates a circular buffer area, and can store the data bus accumulated second-level data, and is used for recording the data of the period before the recording is triggered when the virtual device is recorded.
  • the non-real-time module sends the data of the corresponding point from the buffer to the debug client according to the current virtual time stamp in the shared memory.
  • the debugging client supports visual page debugging, IEC61850 protocol debugging, IEC103 debugging, LCD liquid crystal debugging debugging, etc., based on the system common library, can flexibly expand the new debugging protocol and develop new modules.
  • the PC emulation main interface process supports the real-time display of the prompt information during the initialization and operation of the virtual device through the output redirection after the virtual management process is started.
  • the PC main interface process supports the specified Comtrade waveform file input, PSCAD/Hypersim data array input, process layer network GOOSE data, and empty data.
  • the PC main interface process supports importing the application directory, automatically forming a Makefile, and calling the PC compiler to form an application dynamic link library.
  • the simulation main interface process obtains the task operation statistics recorded by the virtual management process, and provides an interface display, including the task operation time of each level, the current task count, and supports tabular and graphical information display.
  • An embedded virtual device running system characterized in that the system comprises: a visual configuration subsystem, a simulation interface subsystem, a virtual management subsystem, a real-time subsystem, a non-real-time subsystem, a platform interface library subsystem, and virtual data.
  • Input subsystem, debug customer terminal system among them:
  • the visual configuration subsystem is configured for hardware and software functions of the embedded device, and uses graphical symbols and visual page building device application functions to form a device driver package and a configuration file.
  • the simulation interface subsystem is used for simulation information setting, start-stop simulation, virtual device output information and task statistics display, and application automatic compilation.
  • the emulation interface subsystem allows the user to import several directory files, automatically form a Makefile, and compile the application.
  • the simulation interface subsystem supports setting the simulation mode and the simulation data source, starts the virtual management process, and obtains the output information of the virtual management process and displays it. Get real-time task statistics and display them in the form of tables, charts, and more.
  • the virtual management subsystem reads the device configuration file, loads the device real-time subsystem, and the non-real-time subsystem, performs real-time tasks, non-real-time task scheduling, and creates and releases shared memory.
  • the real-time subsystem is compiled into a dynamic link library corresponding to the program functions of the respective processors of the device.
  • the non-real-time subsystem corresponds to a non-real-time process developed by the main CPU of the device based on the operating system, including various communication server terminals and device common service process simulations, and is compiled into a dynamic link library.
  • the platform interface library subsystem includes a DSP real-time library, a main CPU real-time library, a main CPU non-real-time library, provides a platform-plated public interface and service, defines a real-time module, a non-real-time module export interface function, and provides data registration, Variable management, bus communication and other functions.
  • the virtual data input subsystem provides a data source for the virtual device, supports waveform reading analysis and channel mapping, supports output data of third party simulation software such as EMTDC/PSCAD, Hypersim software, supports data array of a custom format, etc. .
  • the debugging client terminal system includes a visual debugging client, and supports visual page debugging; including a virtual liquid crystal debugging client, displaying a hierarchical menu of the physical device liquid crystal and a main screen content; including an IEC61850 debugging client, displaying a device model, a report, Data sets and settings; including IEC103 debug client, showing general packet data, top-loading waveforms; including print client, print device menu, settings, waveform data.
  • the debug client terminal system is developed based on the common system library interface, and new sub-modules can be flexibly added.
  • the present invention has the following beneficial effects: supporting the complete simulation and testing of the whole function of the device by dividing the device into a management process, a real-time module and a non-real-time module, and the configuration of the device R&D personnel based on the platform development method And the program can be run in the actual device and the virtual device, and the homologous maintenance is performed, the development efficiency is significantly improved, the problem diagnosis and the problem-checking efficiency in the development process are accelerated, and the development quality is improved.
  • Device developers can also develop in parallel during the business trip and without the device, shortening the development cycle.
  • FIG. 1 is a diagram showing an operational architecture of an embedded virtual device in the present invention
  • FIG. 3 is a schematic diagram of the real-time task scheduling principle of the embedded virtual device in the present invention.
  • FIG. 4 is a structural diagram of an embedded virtual device system in the present invention.
  • the embedded device is divided into a virtual management process master, a plurality of real-time modules, and a plurality of non-real-time modules.
  • the virtual management process reads the device configuration file, loads the real-time module, and the non-real-time module, and the virtual management process starts the real-time scheduling thread, and sets the relationship according to the task cycle.
  • the tasks of each real-time module are hierarchically scheduled, and the multi-processor data exchange is accurately synchronized.
  • the virtual management process starts multiple threads to run event callbacks and periodic tasks of non-real-time modules, and realizes parallel communication with multiple protocol debugging clients.
  • the implementation method of the embedded virtual device is shown in FIG. 1 and includes the following steps:
  • PC main interface process provides a setting interface, obtains simulation setting information (device configuration file path name, simulation input data, simulation time, etc.), and invokes the command line to start the virtual management process master of the embedded device.
  • the virtual management process reads the device configuration file and obtains the hardware configuration information.
  • the real-time module corresponding to each processor is loaded through the LoadLibrary (preferably, the SLAVE real-time module of the main CPU is SLAVE.dll, other processors are named by ID, such as B02.dll, B03_C1R1.dll, etc.).
  • Record the predefined module export function address, the predefined function interface is defined in the system library, such as newModule, initModule, freeModule, runTask1, runTask2 and other interfaces.
  • the system library based on the embedded device is transplanted and reconstructed under the Windows operating system to form a DSP system library, a main CPU real-time library, and a main CPU non-real-time library.
  • the DSP processor real-time module is a dynamic link library of applications, which is compiled by an operating system-less application of the embedded device and a virtual DSP system library.
  • the real-time module SLAVE of the main CPU is a dynamic link library, which is compiled by the embedded device based on the real-time program developed by the operating system and compiled with the virtual main CPU real-time system library.
  • the non-real-time module is reconstructed by the embedded device based on the non-real-time program developed by the operating system, and the virtual main CPU non-real-time system library is compiled.
  • the PC main interface process supports importing the application directory, automatically forming a Makefile, and calling the PC.
  • a compiler (VC or GCC compiler) that forms an application dynamic link library. Based on the virtual PC platform library, the device application only needs to switch the compilation environment to recompile without modifying the application layer code.
  • the configuration file of the embedded device is formed by a visual configuration tool, and the virtual simulation device and the actual device share the same configuration file, and the application personnel need not modify the device configuration.
  • the main process of the PC emulation process obtains the prompt information (acquiring printf/perror output information) during the initialization and operation of the master virtual device through output redirection, and displays it on the interface.
  • the simulation main interface process acquires task operation statistics recorded by the virtual management process (preferably, acquires related data through inter-process Pipe communication), and provides interface display, including various levels of task operation time, current task count, and supports tabularization and graphics. Information display.
  • PC main interface main process also supports setting virtual simulation data source, optional Comtrade waveform file input, PSCAD/Hypersim/custom data array input (preferably, using text format, point by point storage according to channel), process layer network GOOSE data (preferably, winpcap capture packet to obtain link layer GOOSE message), empty data and other simulation modes, Master switches the corresponding simulation mode according to the command parameter, when input by waveform and data array, the master is in real-time thread Click to read the data, and the real-time module obtains the current point input data according to the channel number through the callback function.
  • virtual simulation data source optional Comtrade waveform file input
  • PSCAD/Hypersim/custom data array input preferably, using text format, point by point storage according to channel
  • process layer network GOOSE data preferably, winpcap capture packet to obtain link layer GOOSE message
  • empty data and other simulation modes Master switches the corresponding simulation mode according to the command parameter, when input by waveform and data array, the master is in real-time thread Click to read the data, and the real-time
  • the virtual management process performs initialization interaction through the virtual CAN bus and the real-time module according to the hardware declaration order.
  • the real-time module sends input and output variable registration information, fixed value registration information, and the management process delivers the device task cycle information, and summarizes the real-time modules. Data exchange information, the variable data exchange address of each interrupt in the data bus is allocated, and a data bus is created.
  • the virtual management process initializes and interacts with the virtual FIFO and the non-real-time module according to the non-real-time process declaration order in the configuration file.
  • the non-real-time module sends the variable registration information and the fixed value registration information, and the management process sends the relevant information of the shared memory.
  • the real-time process can read the configuration shared memory during the initialization process and complete the initialization work corresponding to the module.
  • the initialization process of the embedded virtual device is shown in Figure 2.
  • the virtual management process starts the virtual real-time task scheduling thread, calls the predefined export interface of the real-time module, and serially schedules the real-time tasks in each cycle.
  • the principle of task scheduling of real-time threads is shown in Figure 3.
  • the tasks of each real-time module are serially managed according to the periodic level.
  • the minimum common multiple of multiple real-time task cycles of the virtual real-time task scheduling thread computing device is used as the step size cycle according to the least common multiple.
  • Virtual real-time task scheduling thread supports sequential scheduling according to data bus read, real-time computing tasks, and data bus writes, accurately simulating embedded devices in parallel Line 1 point delay; also supports data bus read, data bus write, real-time operation task sequence scheduling, accurate simulation of embedded device serial bus 2 point delay, scheduling mode configurable.
  • the non-real-time thread's periodic call interface supports event-triggered communication packet sending and receiving tasks (TCP select/poll event, serial port read and write events, etc.), and supports reading the actual time of the PC to execute millisecond-level periodic tasks (
  • the platform library provides an AddTimerTask management cycle task, and the interface is invoked periodically to calculate the multi-period task scheduling of the non-real-time module by calculating the current time and the last time difference.
  • One non-real-time module corresponds to one thread, the management process starts multiple non-real-time threads, calls non-real-time module periodic tasks, and realizes parallel communication with multiple debugging clients.
  • the real-time module acquires interaction data between the processors based on the data bus, and the real-time module and the non-real-time module exchange data based on the shared memory.
  • the real-time SLAVE module supports flushing variable agents of non-real-time modules to the data bus for delivery to other processors.
  • the real-time module SLAVE creates a circular buffer area, which can store the data bus accumulated second-level data (for example, a cumulative 3-second serial high-speed bus interrupt interaction data).
  • the virtual device forms a waveform file, it can push forward several cycles of data before the recording. .
  • the non-real-time module sends the data of the corresponding point from the shared data buffer to the debug client according to the current virtual time stamp in the shared memory.
  • An embedded virtual device running system comprising: a visual configuration subsystem, a simulation interface subsystem, a virtual management subsystem, a real-time subsystem, a non-real-time subsystem, a platform interface library subsystem, a virtual data input subsystem, Debug the customer terminal system as shown in Figure 4. among them:
  • the visual configuration subsystem is configured for hardware and software functions of the embedded device, supports graphical symbols, visual page building device application functions, supports tabular configuration setting grouping, device human-machine interface information, and communication point table configuration. Etc., forming a device driver package and a configuration file; the formed configuration file is an input file of the virtual device;
  • the simulation interface subsystem is used for simulation information setting, start-stop simulation, virtual device output information and task statistics display, and application automatic compilation.
  • the user is allowed to import h/c files of several directories.
  • the subsystem automatically scans and obtains the h/c file in the directory, automatically forms the Makefile required by the VC and GCC compilers, calls the compiler, and links the system library. , compile the application and form a dynamic link library *.DLL file.
  • the subsystem supports setting simulation mode and simulation data source (optional Comtrade waveform file input, PSCAD/Hypersim/custom data array input, process layer network GOOSE data, empty data, etc.), which starts the virtual management subsystem. Obtain the output information of the virtual management process and display it, obtain real-time task statistics and display it according to tables, charts, etc.
  • the virtual management subsystem reads the device configuration file in the main entry function, acquires hardware configuration information, loads the device real-time subsystem, acquires configuration information of the main CPU process, loads the non-real-time subsystem, creates related threads, and performs real-time tasks. , non-real-time task scheduling, creating and releasing shared memory;
  • the real-time subsystem is compiled into a dynamic link library corresponding to the program functions of the respective processors of the device.
  • the non-real-time subsystem corresponds to a non-real-time process developed by the main CPU of the device based on the operating system, and includes functions of various communication server terminals and device common services such as printing;
  • the platform interface library subsystem includes a DSP real-time library sysapi_dsp.lib, a main CPU real-time library sysapi_cpu_rt.lib, and a main CPU non-real-time library sysapi_cpu_nrt.lib, which provides a device platform common public interface and service, defines a real-time module,
  • the export interface function of the non-real-time module provides functions such as data registration, variable management, and bus communication;
  • the virtual data input subsystem provides a data source for the virtual device, supports waveform reading analysis and channel mapping, supports output data of third party simulation software such as EMTDC/PSCAD, Hypersim software, supports data array of a custom format, etc. ;
  • the debugging client terminal system comprises a visual debugging client, supports double-clicking the connection line of the visualization page, issuing a variable to the virtual management subsystem, and the virtual management subsystem sends the variable value, and visually debugging the client to display the data in real time;
  • the LCD debugging client displays the hierarchical menu and main screen contents of the physical device LCD, and issues debugging control commands; including the IEC61850 debugging client, reads the device model through the IEC61850 protocol, and displays reports, data sets and settings; including IEC103 debugging clients. End, through the IEC103 network, serial protocol, show general packet data, upload waveform; including print client, based on network protocol, print device menu, settings, waveform data.
  • the debug client terminal system is developed based on the common system library interface, and can be flexibly expanded to add new sub-modules. Support click on the relevant button in the simulation subsystem, start the relevant debugging client, perform TCP communication through 127.0.0.1, support virtual keyboard response event, serial port transceiver and so on.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Debugging And Monitoring (AREA)
  • Multi Processors (AREA)

Abstract

本发明公开一种嵌入式虚拟装置运行方法和系统:将嵌入式装置划分为管理进程、若干实时模块、若干非实时模块。管理进程读取配置文件,加载各个处理器的实时、非实时模块库,通过虚拟的CAN总线、FIFO通信完成初始化交互。管理进程启动实时线程,按照任务周期设置关系,分级串行调度实时任务;管理进程启动若干非实时线程,调用非实时模块周期任务,实现和多个调试客户端的并行通信。实时模块之间通过虚拟数据总线交互数据,实时模块和非实时模块通过共享内存交互数据。

Description

一种嵌入式虚拟装置运行方法和系统 技术领域
本发明属于嵌入式装置开发领域,具体涉及嵌入式虚拟装置运行方法和系统。
背景技术
嵌入式装置是电力系统、工业控制等领域安全稳定运行的关键设备,其专业化门槛高,研发过程复杂,复杂功能需要团队化开发,研发成本高。嵌入式装置研发包括应用算法、软硬件平台、装置调试等过程。当前嵌入式装置集成化程度也越来越高,例如集中式保护测控装置包括了线路保护、变压器保护、母线保护、稳定控制、测控等多个专业的功能,装置串行开发研发周期长,而并行研发需要更多的装置样品和调试设备。为了提高装置研发效率,降低研发成本,有必要提供嵌入式虚拟装置运行方法和系统,可模拟装置实际硬件环境,基于虚拟输入数据,测试装置功能。已有文献的虚拟方法,往往侧重于应用算法的仿真测试,未涉及整装置的等价模拟方法,而实际的装置开发,除支持应用功能外,还需进行人机界面、通信等功能调试,这些也是产品研发的重要部分,故有必要提供嵌入式装置整机仿真的等价运行方法和系统,实现完整的装置功能验证测试,本案由此产生。
发明内容
本发明的目的是实现嵌入式装置的虚拟运行环境,具备整机虚拟运行测试功能。为了达成上述目的,本发明提供一种嵌入式虚拟装置运行方法,其特征在于虚拟管理进程读取装置配置文件,加载实时模块、非实时模块,在实时调度线程中按照任务周期设置关系分级串行调度各实时模块的任务,实现多处理器数据交换精确同步。虚拟管理进程启动多个线程运行非实时模块的事件回调和周期任务,实现和多个规约调试客户端的并行通信。具体包括如下步骤:
第一步:PC机仿真主界面进程获取仿真设置信息,启动嵌入式装置的虚拟管理进程。虚拟管理进程读取装置配置文件,获取硬件配置信息,加载各个处理器的实时模块,获取主CPU的进程配置信息,加载对应的非实时模块;管理进程读取配置文件中人机通信配置信息,创建配置共享内存;管理进程在加载模块时,提取并记录预定义的模块导出函数地址。
第二步:虚拟管理进程按照硬件声明顺序,通过虚拟CAN总线和实时模块进行初始化交互,管理进程汇总各个实时模块的数据交换信息,创建数据总线。虚拟管理进程按照配置文件中的非实时进程声明顺序,通过虚拟FIFO和非实时模块进行初始化交互。
第三步:虚拟管理进程启动虚拟实时任务调度线程,调用实时模块预定义的导出接口,对各个周期实时任务串行分级调度。虚拟管理进程启动多个非实时线程,调用非实时模块周期任务,实现和多个调试客户端的并行通信。
第四步:虚拟装置运行过程中,实时模块基于数据总线获取处理器之间的交互数据,实时模块和非实时模块基于共享内存交互数据。实时SLAVE模块将非实时模块的变量代理刷新到数据总线,传递给其它处理器。
进一步地,所述的第一步中,DSP处理器实时模块是动态链接库,由嵌入式装置的无操作系统的应用程序和虚拟DSP系统库编译形成。主CPU的实时模块SLAVE是动态链接库,由嵌入式装置基于操作系统开发的实时程序移植重构后和虚拟的主CPU实时系统库编译形成。非实时模块由嵌入式装置基于操作系统开发的非实时程序移植重构后和虚拟的主CPU非实时系统库编译形成。基于虚拟的PC机平台库,装置应用程序只需切换编译环境重新编译,无需修改代码。虚拟仿真装置和实际装置共用相同的配置文件,应用人员无需修改装置配置。
进一步地,所述的第三步中,按照周期等级串行管理各个实时模块的任务,虚拟实时任务调度线程计算装置的多个实时任务周期的最小公倍数,按照最小公倍数作为步长循环,步长累加到对应等级的周期值时,调用该等级的任务,并更新虚拟装置的时标到共享内存,最小分辨率为虚拟微秒。
进一步地,虚拟实时任务调度线程支持按照数据总线读、实时运算任务、数据总线写的顺序调度,精确模拟嵌入式装置并行总线1个点延时;也支持数据总线读、数据总线写、实时运算任务的顺序调度,精确模拟嵌入式装置串行总线2个点延时,调度方式可配置。
进一步地,所述的第三步中,非实时线程的周期调用接口中,支持基于事件触发的通信报文收发任务,支持读取PC机的实际时间执行毫秒级的周期任务。
进一步地,所述的第四步中,实时模块SLAVE创建循环缓存区,可存储数据总线累计秒级数据,用于虚拟装置录波时记录触发录波前若干周期数据。非实时模块根据共享内存中当前虚拟时标从缓存区中读取对应点的数据上送给调试客户端显示。
进一步地,所述的第三步中,调试客户端支持可视化页面调试、IEC61850规约调试、IEC103调试、LCD液晶调试调试等,基于系统公共库,可灵活扩展新的调试规约,开发新的模块。
进一步地,所述的第一步中,PC机仿真主界面进程在启动虚拟管理进程后,通过输出重定向,支持实时显示虚拟装置初始化和运行过程中的提示信息。PC机仿真主界面进程支持指定Comtrade波形文件输入、PSCAD/Hypersim数据阵列输入、过程层网络GOOSE数据、空数据等仿真模式。PC机仿真主界面进程支持导入应用程序目录,自动形成Makefile,调用PC机编译器,形成应用程序动态链接库。仿真主界面进程获取虚拟管理进程记录的任务运算统计信息,并提供界面展示,包括各个等级任务运算时间、当前任务计数,并支持表格化、图形化的信息展示。
一种嵌入式虚拟装置运行系统,其特征在于,所述系统包括:可视化配置子系统、仿真界面子系统、虚拟管理子系统、实时子系统、非实时子系统、平台接口库子系统、虚拟数据输入子系统、调试客户端子系统。其中:
所述的可视化配置子系统,用于嵌入式装置的硬件和软件功能配置,采用图形化符号、可视化页面搭建装置应用功能,形成装置驱动包和配置文件。
所述的仿真界面子系统,用于仿真信息设置、启动停止仿真、虚拟装置输出信息和任务统计展示、应用程序自动编译等功能。仿真界面子系统支持用户导入若干目录文件,自动形成Makefile,编译应用程序。仿真界面子系统支持设置仿真模式和仿真数据源,启动虚拟管理进程,获取虚拟管理进程的输出信息并展示。获取实时任务统计信息并按照表格、图表等方式展示。
所述的虚拟管理子系统,读取装置配置文件,加载装置实时子系统、非实时子系统,进行实时任务、非实时任务调度,创建释放共享内存。
所述的实时子系统,对应装置各个处理器的程序功能,编译为动态链接库。
所述的非实时子系统,对应装置主CPU基于操作系统开发的非实时进程,包括各种通信服务器端、装置公共服务进程模拟,编译为动态链接库。
所述的平台接口库子系统,包括DSP实时库、主CPU实时库、主CPU非实时库,提供装置平台化公共接口和服务,定义实时模块、非实时模块的导出接口函数,提供数据注册、变量管理、总线通信等功能。
所述的虚拟数据输入子系统,为虚拟装置提供数据源,支持波形读取解析和通道映射、支持第3方仿真软件例如EMTDC/PSCAD、Hypersim软件的输出数据,支持自定义格式的数据阵列等。
所述的调试客户端子系统,包括可视化调试客户端,支持可视化页面调试;包括虚拟液晶调试客户端,展示物理装置液晶的层次菜单和主画面内容;包括IEC61850调试客户端,展示装置模型、报告、数据集和定值;包括IEC103调试客户端,展示通用分组数据,上装波形;包括打印客户端,打印装置菜单、定值、波形数据。调试客户端子系统基于公共系统库接口开发,可灵活增加新的子模块。
采用上述方案后,本发明具有如下有益效果:通过将装置划分为管理进程、实时模块和非实时模块,支持装置整机功能的完整模拟和测试,基于平台化的开发方法,装置研发人员的配置和程序可在实际装置和虚拟装置中运行,并进行同源维护,显著提高了开发效率,加快了开发过程中问题诊断和问题排查效率,提高了开发质量。装置研发人员在出差过程中、装置不具备的条件下,也能并行开发,缩短了开发周期。
附图说明
图1是本发明中嵌入式虚拟装置运行架构图;
图2是本发明中嵌入式虚拟装置初始化过程;
图3是本发明中嵌入式虚拟装置实时任务调度原理;
图4是本发明中嵌入式虚拟装置系统结构图。
具体实施方式
以下将结合附图,对本发明的技术方案进行详细说明。将嵌入式装置分为虚拟管理进程Master、若干实时模块、若干非实时模块,虚拟管理进程读取装置配置文件,加载实时模块、非实时模块,虚拟管理进程启动实时调度线程,按照任务周期设置关系分级串行调度各实时模块的任务,实现多处理器数据交换精确同步。虚拟管理进程启动多个线程运行非实时模块的事件回调和周期任务,实现和多个规约调试客户端的并行通信。嵌入式虚拟装置运行实现方法如图1所示,包括如下步骤:
1)PC机仿真主界面进程提供设置界面,获取仿真设置信息(装置配置文件路径名、仿真输入数据、仿真时间等),并通过命令行调用,启动嵌入式装置的虚拟管理进程Master。虚拟管理进程读取装置配置文件,获取硬件配置信息,在Windows操作系统中,通过LoadLibrary加载各个处理器对应的实时模块(优选地,,主CPU的SLAVE实时模块为 SLAVE.dll,其它处理器以ID命名,例如B02.dll、B03_C1R1.dll等)。获取主CPU(带操作系统的处理器,例如嵌入式装置Linux操作系统)的多个进程配置信息(进程名、进程调用形参等),加载对应的上位机非实时模块(例如LCD.dll、IEC61850.dll等);管理进程读取配置文件中人机通信配置信息(LCD菜单引用表、变位报告、录波等变量配置分组),创建配置共享内存;管理进程在加载模块时,提取并记录预定义的模块导出函数地址,预定义的函数接口在系统库中定义,例如newModule、initModule、freeModule、runTask1、runTask2等接口。
基于嵌入式装置的系统库,在Windows操作系统下进行移植重构,形成DSP系统库、主CPU实时库、主CPU非实时库。DSP处理器实时模块是应用程序的动态链接库,由嵌入式装置的无操作系统的应用程序和虚拟DSP系统库编译形成。主CPU的实时模块SLAVE是动态链接库,由嵌入式装置基于操作系统开发的实时程序移植重构后和虚拟的主CPU实时系统库编译形成。非实时模块由嵌入式装置基于操作系统开发的非实时程序移植重构后和虚拟的主CPU非实时系统库编译形成,PC机仿真主界面进程支持导入应用程序目录,自动形成Makefile,调用PC机编译器(VC或GCC编译器),形成应用程序动态链接库。基于虚拟的PC机平台库,装置应用程序只需切换编译环境重新编译,无需修改应用层代码。
优选地,嵌入式装置的配置文件,通过可视化配置工具形成,虚拟仿真装置和实际装置共用相同的配置文件,应用人员无需修改装置配置。
PC机仿真主界面进程在启动虚拟管理进程后,通过输出重定向,获取Master虚拟装置初始化和运行过程中的提示信息(获取printf/perror等输出信息),并显示在界面上。仿真主界面进程获取虚拟管理进程记录的任务运算统计数据(优选地,通过进程间Pipe通信获取相关数据),并提供界面展示,包括各个等级任务运算时间、当前任务计数,并支持表格化、图形化的信息展示。
PC机仿真主界面进程还支持设置虚拟仿真数据源,可选Comtrade波形文件输入、PSCAD/Hypersim/自定义数据阵列输入(优选地,采用文本格式,按照通道逐点存储)、过程层网络GOOSE数据(优选地,通过winpcap抓包获取链路层GOOSE报文)、空数据等仿真模式,Master根据命令形参切换对应的仿真模式,当以波形、数据阵列输入时,由Master在实时线程中逐点读取数据,实时模块通过回调函数按照通道号获取当前点输入数据。
2)虚拟管理进程按照硬件声明顺序,通过虚拟CAN总线和实时模块进行初始化交互,实时模块上送输入输出变量注册信息、定值注册信息,管理进程下发装置任务周期信息,汇总各个实时模块的数据交换信息,分配数据总线中各个中断的变量数据交换地址,创建数据总线。虚拟管理进程按照配置文件中的非实时进程声明顺序,通过虚拟FIFO和非实时模块进行初始化交互,非实时模块上送变量注册信息、定值注册信息,管理进程下发共享内存的相关信息,非实时进程在初始化过程中可读取配置共享内存,完成该模块对应的初始化工作。嵌入式虚拟装置的初始化过程如图2所示。
3)虚拟管理进程启动虚拟实时任务调度线程,调用实时模块预定义的导出接口,对各个周期实时任务串行分级调度。实时线程的任务调度原理如图3所示,按照周期等级串行管理各个实时模块的任务,虚拟实时任务调度线程计算装置的多个实时任务周期的最小公倍数,按照最小公倍数作为步长循环,步长累加到对应等级的周期值时,调用该等级的任务,并更新虚拟装置的时标到共享内存,最小分辨率为虚拟1微秒。虚拟实时任务调度线程支持按照数据总线读、实时运算任务、数据总线写的顺序调度,精确模拟嵌入式装置并行总 线1个点延时;也支持数据总线读、数据总线写、实时运算任务的顺序调度,精确模拟嵌入式装置串行总线2个点延时,调度方式可配置。非实时线程的周期调用接口中,支持基于事件触发的通信报文收发任务(TCP的select/poll事件、串口的读写事件等),支持读取PC机的实际时间执行毫秒级的周期任务(平台库提供AddTimerTask管理周期任务,在周期调用接口通过计算当前时间和上次时间差进行非实时模块的多周期任务调度)。1个非实时模块对应1个线程,管理进程启动多个非实时线程,调用非实时模块周期任务,实现和多个调试客户端的并行通信。
4)虚拟装置运行过程中,实时模块基于数据总线获取处理器之间的交互数据,实时模块和非实时模块基于共享内存交互数据。实时SLAVE模块支持将非实时模块的变量代理刷新到数据总线,传递给其它处理器。实时模块SLAVE创建循环缓存区,可存储数据总线累计秒级数据(例如累计3秒的串行高速总线中断交互数据),用于虚拟装置形成波形文件时,可前推触发录波前若干周期数据。非实时模块根据共享内存中当前虚拟时标从共享数据缓存区中读取对应点的数据上送给调试客户端显示。
一种嵌入式虚拟装置运行系统,所述系统包括:可视化配置子系统、仿真界面子系统、虚拟管理子系统、实时子系统、非实时子系统、平台接口库子系统、虚拟数据输入子系统、调试客户端子系统,如图4所示。其中:
所述的可视化配置子系统,用于嵌入式装置的硬件和软件功能配置,支持图形化符号、可视化页面搭建装置应用功能,支持表格化配置定值分组、装置人机接口信息、通信点表配置等,形成装置驱动包和配置文件;其形成的配置文件是虚拟装置的输入文件;
所述的仿真界面子系统,用于仿真信息设置、启动停止仿真、虚拟装置输出信息和任务统计展示、应用程序自动编译等功能。在仿真界面子系统中,支持用户导入若干目录的h/c文件,该子系统自动扫描获取目录下h/c文件,自动形成VC、GCC编译器所需的Makefile,调用编译器,链接系统库,编译应用程序,形成动态链接库*.DLL文件。该子系统支持设置仿真模式和仿真数据源(可选Comtrade波形文件输入、PSCAD/Hypersim/自定义数据阵列输入、过程层网络GOOSE数据、空数据等仿真模式),该子系统启动虚拟管理子系统,获取虚拟管理进程的输出信息并展示,获取实时任务统计信息并按照表格、图表等方式展示;
所述的虚拟管理子系统,在main入口函数中读取装置配置文件,获取硬件配置信息,加载装置实时子系统,获取主CPU进程配置信息,加载非实时子系统,创建相关线程,进行实时任务、非实时任务调度,创建、释放共享内存;
所述的实时子系统,对应装置各个处理器的程序功能,编译为动态链接库。
所述的非实时子系统,对应装置主CPU基于操作系统开发的非实时进程,包括各种通信服务器端、装置公共服务例如打印等功能;
所述的平台接口库子系统,包括DSP实时库sysapi_dsp.lib、主CPU实时库sysapi_cpu_rt.lib、主CPU非实时库sysapi_cpu_nrt.lib,该子系统提供装置平台化公共接口和服务,定义实时模块、非实时模块的导出接口函数,提供数据注册、变量管理、总线通信等功能;
所述的虚拟数据输入子系统,为虚拟装置提供数据源,支持波形读取解析和通道映射、支持第3方仿真软件例如EMTDC/PSCAD、Hypersim软件的输出数据,支持自定义格式的数据阵列等;
所述的调试客户端子系统,包括可视化调试客户端,支持双击可视化页面的连接线,下发变量给虚拟管理子系统,虚拟管理子系统上送变量值,可视化调试客户端实时显示数据;包括虚拟液晶调试客户端,展示物理装置液晶的层次菜单和主画面内容,下发调试控制命令;包括IEC61850调试客户端,通过IEC61850协议读取装置模型,展示报告、数据集和定值;包括IEC103调试客户端,通过IEC103网络、串口协议,展示通用分组数据,上装波形;包括打印客户端,基于网络协议,打印装置菜单、定值、波形数据。调试客户端子系统基于公共系统库接口开发,可灵活扩展增加新的子模块。支持在仿真子系统中点击相关按钮,启动相关调试客户端,通过127.0.0.1进行TCP通信,支持虚拟键盘响应事件、串口收发等。
以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。

Claims (11)

  1. 一种嵌入式虚拟装置运行方法,其特征在于,所述方法具体步骤包括:
    第一步:设置仿真信息,启动嵌入式装置的虚拟管理进程,虚拟管理进程读取装置配置文件,获取硬件配置信息,加载各个处理器的实时模块,获取主CPU的进程配置信息,加载对应的非实时模块;虚拟管理进程读取配置文件中人机通信配置信息,创建配置共享内存;虚拟管理进程在加载模块时,提取并记录预定义的模块导出函数地址;
    第二步:虚拟管理进程按照硬件声明顺序,通过虚拟CAN总线和实时模块进行初始化交互,虚拟管理进程汇总各个实时模块的数据交换信息,创建数据总线;虚拟管理进程按照配置文件中的非实时进程声明顺序,通过虚拟FIFO和非实时模块进行初始化交互;
    第三步:虚拟管理进程启动虚拟实时任务调度线程,调用实时模块预定义的导出接口,对各个周期实时任务串行分级调度;虚拟管理进程启动多个非实时线程,调用非实时模块周期任务,实现和多个调试客户端的并行通信;
    第四步:虚拟装置运行过程中,实时模块基于数据总线获取处理器之间的交互数据,实时模块和非实时模块基于共享内存交互数据;实时SLAVE模块将非实时模块的变量代理刷新到数据总线,传递给其它处理器。
  2. 如权利要求1所述的一种嵌入式虚拟装置运行方法,其特征在于:所述的第一步中,DSP处理器的实时模块是动态链接库,由嵌入式装置的无操作系统的应用程序和虚拟DSP系统库编译形成;
    主CPU的实时模块SLAVE是动态链接库,由嵌入式装置基于操作系统开发的实时程序移植重构后和虚拟的主CPU实时系统库编译形成;
    非实时模块由嵌入式装置基于操作系统开发的非实时程序移植重构后和虚拟的主CPU非实时系统库编译形成;基于虚拟的PC机平台库,装置应用程序切换编译环境实现重新编译,虚拟仿真装置和实际装置共用相同的配置文件。
  3. 如权利要求1所述的一种嵌入式虚拟装置运行方法,其特征在于:所述的第三步中,按照周期等级串行管理各个实时模块的任务,虚拟实时任务调度线程计算装置的多个实时任务周期的最小公倍数,按照最小公倍数作为步长循环,步长累加到对应等级的周期值时,调用该等级的任务,并更新虚拟装置的时标到共享内存。
  4. 如权利要求1所述的一种嵌入式虚拟装置运行方法,其特征在于:所述的第三步中,虚拟实时任务调度线程按照数据总线读、实时运算任务、数据总线写的顺序调度,精确模拟嵌入式装置并行总线1个点延时;
    或者,虚拟实时任务调度线程按照数据总线读、数据总线写、实时运算任务的顺序调度,精确模拟嵌入式装置串行总线2个点延时。
  5. 如权利要求1所述的一种嵌入式虚拟装置运行方法,其特征在于:所述的第三步中,非实时线程的周期调用接口中,支持基于事件触发的通信报文收发任务,支持读取PC机的实际时间执行毫秒级的周期任务。
  6. 如权利要求1所述的一种嵌入式虚拟装置运行方法,其特征在于:所述的第四步中,实时模块SLAVE创建循环缓存区,存储数据总线累计秒级数据,用于虚拟装置录波时记录触发录波前若干周期数据;非实时模块根据共享内存中当前虚拟时标从缓存区中读取对应点的数据上送给调试客户端显示。
  7. 如权利要求1所述的一种嵌入式虚拟装置运行方法,其特征在于:所述的第一步中, 在启动虚拟管理进程后,通过输出重定向,实时显示虚拟装置初始化和运行过程中的提示信息。
  8. 如权利要求1所述的一种嵌入式虚拟装置运行方法,其特征在于:所述的第一步中,所述仿真信息对应支持的仿真模式包括指定Comtrade波形文件输入、PSCAD/Hypersim数据阵列输入、过程层网络GOOSE数据或者空数据。
  9. 如权利要求1所述的一种嵌入式虚拟装置运行方法,其特征在于:所述的第一步中,通过导入应用程序目录,形成Makefile,调用PC机编译器,形成应用程序动态链接库。
  10. 如权利要求1所述的一种嵌入式虚拟装置运行方法,其特征在于:所述的第一步中,对虚拟管理进程记录的任务运算统计信息提供界面展示,所述信息界面展示的内容包括各个等级任务运算时间、当前任务计数,信息界面展示的形式支持表格化、图形化的信息展示。
  11. 一种嵌入式虚拟装置运行系统,其特征在于,所述系统包括:可视化配置子系统、仿真界面子系统、虚拟管理子系统、实时子系统、非实时子系统、平台接口库子系统、虚拟数据输入子系统和调试客户端子系统,其中:
    所述的可视化配置子系统,用于嵌入式装置的硬件和软件功能配置,采用图形化符号、可视化页面搭建装置应用功能,形成装置驱动包和配置文件;
    所述的仿真界面子系统,用于仿真信息设置、启动停止仿真、虚拟装置输出信息和任务统计展示、应用程序自动编译;
    仿真界面子系统支持用户导入若干目录文件,自动形成Makefile,编译应用程序;仿真界面子系统支持设置仿真模式和仿真数据源,启动虚拟管理进程,获取虚拟管理进程的输出信息并展示,获取实时任务统计信息并按照表格、图表等方式展示;
    所述的虚拟管理子系统,读取装置配置文件,加载装置实时子系统、非实时子系统,进行实时任务、非实时任务调度,创建释放共享内存;
    所述的实时子系统,对应装置各个处理器的程序功能,编译为动态链接库;
    所述的非实时子系统,对应装置主CPU基于操作系统开发的非实时进程,包括各种通信服务器端、装置公共服务进程模拟,编译为动态链接库;
    所述的平台接口库子系统,包括DSP实时库、主CPU实时库、主CPU非实时库,提供装置平台化公共接口和服务,定义实时模块、非实时模块的导出接口函数,提供数据注册、变量管理、总线通信等功能;
    所述的虚拟数据输入子系统,为虚拟装置提供数据源,支持波形读取解析和通道映射、支持第3方仿真软件的输出数据,支持自定义格式的数据阵列;
    所述的调试客户端子系统,包括可视化调试客户端,支持可视化页面调试;包括虚拟液晶调试客户端,展示物理装置液晶的层次菜单和主画面内容;包括IEC61850调试客户端,展示装置模型、报告、数据集和定值;包括IEC103调试客户端,展示通用分组数据,上装波形;包括打印客户端,打印装置菜单、定值、波形数据;
    调试客户端子系统基于公共系统库接口开发,可灵活增加新的子模块。
PCT/CN2017/086081 2016-10-20 2017-05-26 一种嵌入式虚拟装置运行方法和系统 WO2018072445A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP17862886.3A EP3525094A4 (en) 2016-10-20 2017-05-26 EXECUTION METHOD FOR INTEGRATED TYPE VIRTUAL DEVICE AND SYSTEM
BR112019008039A BR112019008039A2 (pt) 2016-10-20 2017-05-26 método de execução para dispositivo e sistema virtual do tipo embarcado
US16/343,389 US10949242B2 (en) 2016-10-20 2017-05-26 Development of embedded type devices and running method for embedded type virtual device and system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610913664.6A CN106445640B (zh) 2016-10-20 2016-10-20 一种嵌入式虚拟装置运行方法和系统
CN201610913664.6 2016-10-20

Publications (1)

Publication Number Publication Date
WO2018072445A1 true WO2018072445A1 (zh) 2018-04-26

Family

ID=58176862

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/086081 WO2018072445A1 (zh) 2016-10-20 2017-05-26 一种嵌入式虚拟装置运行方法和系统

Country Status (5)

Country Link
US (1) US10949242B2 (zh)
EP (1) EP3525094A4 (zh)
CN (1) CN106445640B (zh)
BR (1) BR112019008039A2 (zh)
WO (1) WO2018072445A1 (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109858111A (zh) * 2019-01-15 2019-06-07 天津大学 Rlv虚拟仿真平台设计及实现方法
CN111352616A (zh) * 2020-02-20 2020-06-30 苏宁云计算有限公司 实时计算可视化开发系统及其应用方法
CN112612672A (zh) * 2020-12-18 2021-04-06 四川九洲电器集团有限责任公司 一种嵌入式软件实时运行状态监控方法
CN112685197A (zh) * 2020-12-28 2021-04-20 浪潮软件科技有限公司 接口数据的交互系统
CN112685095A (zh) * 2020-12-25 2021-04-20 北京浪潮数据技术有限公司 一种虚拟设备的加载方法、装置、设备及存储介质
CN113407214A (zh) * 2021-06-24 2021-09-17 广东泰坦智能动力有限公司 一种基于can通信的可重构化多线程并行上位机系统
CN113608879A (zh) * 2021-08-27 2021-11-05 北京易智联科技有限公司 一种可重构的模拟器或测试设备架构设计方法
CN113609694A (zh) * 2021-08-13 2021-11-05 国家电网有限公司华北分部 基于pscad的继电保护闭环仿真系统数据传输及同步方法
CN113792444A (zh) * 2021-11-15 2021-12-14 成都泰盟软件有限公司 一种机能学虚拟仿真实验波形构建方法
CN114347072A (zh) * 2021-12-06 2022-04-15 埃夫特智能装备股份有限公司 一种机器人控制器模拟化平台及其虚拟方法
WO2022126930A1 (zh) * 2020-12-17 2022-06-23 威胜集团有限公司 一种嵌入式设备驱动系统及方法
CN114915515A (zh) * 2022-05-04 2022-08-16 中国第一汽车股份有限公司 一种基于soc的can通信方法及系统
CN114968745A (zh) * 2022-06-10 2022-08-30 北京世冠金洋科技发展有限公司 一种处理系统模型的运行信息的方法及装置
CN116090372A (zh) * 2023-03-23 2023-05-09 湖南泛联新安信息科技有限公司 一种基于fpga的芯片仿真加速方法和系统

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106445640B (zh) 2016-10-20 2019-06-18 南京南瑞继保电气有限公司 一种嵌入式虚拟装置运行方法和系统
CN107479983B (zh) * 2017-07-11 2021-04-20 核动力运行研究所 基于时域控制技术的变步长多程序同步计算系统及方法
CN108460216B (zh) * 2018-03-12 2021-09-10 中国人民解放军国防科技大学 航天器测控覆盖分析设计平台
CN109948123B (zh) * 2018-11-27 2023-06-02 创新先进技术有限公司 一种图像合并方法及装置
CN110955602B (zh) * 2018-11-30 2023-07-07 中国航空工业集团公司沈阳飞机设计研究所 一种基于资源共享的分布式嵌入式软件测试系统
CN109814478B (zh) * 2019-01-14 2020-04-24 浙江工业大学 基于iOpenWorks的虚拟调试系统
CN110784545B (zh) * 2019-10-31 2022-02-11 上海埃威航空电子有限公司 实时数据分发系统
CN110781103B (zh) * 2019-11-05 2022-02-15 中电科思仪科技股份有限公司 一种pxi总线开关模块控制系统及方法
CN111078666B (zh) * 2019-12-11 2023-06-27 中国建设银行股份有限公司 基于跨中心多数据库的自动化卸数供数的方法
CN111176136B (zh) * 2019-12-18 2023-04-25 中国船舶重工集团公司第七一五研究所 一种机电液装备虚实一体化仿真系统
CN111143218B (zh) * 2019-12-27 2024-03-26 深圳市共进电子股份有限公司 适用于5G嵌入式设备的log调试方法、装置和可读存储介质
CN111258571A (zh) * 2020-02-11 2020-06-09 达闼科技(北京)有限公司 机器人应用程序开发方法、系统、装置及存储介质
CN111404793B (zh) * 2020-03-11 2022-01-21 超越科技股份有限公司 一种控制物理can口和虚拟can口进行映射的方法,系统,设备及可读存储介质
CN112379866A (zh) * 2020-11-03 2021-02-19 中国直升机设计研究所 一种综合任务处理系统仿真软件架构及工作方法
CN112328313B (zh) * 2020-11-09 2023-07-14 中国船舶重工集团公司第七0七研究所九江分部 一种应用于嵌入式软件的通用系统
CN112463614B (zh) * 2020-12-01 2023-07-14 北京计算机技术及应用研究所 一种基于硬件板卡接入的软件虚拟化测试环境构建方法
CN112765018B (zh) * 2021-01-12 2022-09-13 武汉光庭信息技术股份有限公司 一种仪器仪表调试系统及方法
CN113064708B (zh) * 2021-04-06 2022-03-18 上海大学 高速连续运动中的机械臂系统多任务协同与信息同步方法
CN113438008B (zh) * 2021-04-20 2022-10-28 北京控制工程研究所 一种适用于姿轨控系统多机容错架构的多机时标仿真方法
CN113608782B (zh) * 2021-06-22 2023-08-01 天津津航计算技术研究所 一种能够重定向于can总线的控制台设计方法
CN113806012B (zh) * 2021-08-17 2023-10-17 南京南瑞继保工程技术有限公司 一种电力系统嵌入式设备功能集成的系统及其运行方法
CN113821330B (zh) * 2021-11-24 2022-03-15 腾讯科技(深圳)有限公司 任务调度方法、装置、计算机设备和存储介质
CN114201149B (zh) * 2022-02-18 2022-05-31 北京阿丘科技有限公司 运行流程生成方法、装置、系统与计算机可读存储介质
CN114756492B (zh) * 2022-03-29 2023-11-03 中国西安卫星测控中心 适用于多种运载器的1553b数据总线处理方法
CN115002190A (zh) * 2022-05-27 2022-09-02 努比亚技术有限公司 一种功能配置文件调控方法、设备及计算机可读存储介质
CN115102278B (zh) * 2022-06-16 2024-01-23 国网信息通信产业集团有限公司 一种分布式光伏电能质量的配置监测系统及方法
CN115080280B (zh) * 2022-08-16 2022-12-27 南方电网数字电网研究院有限公司 一种多时间尺度数据融合的边缘计算平台控制系统和方法
CN115658277B (zh) * 2022-12-06 2023-03-17 苏州浪潮智能科技有限公司 一种任务调度方法、装置及电子设备和存储介质
CN116842763B (zh) * 2023-08-31 2024-01-26 国汽(北京)智能网联汽车研究院有限公司 仿真测试方法、装置、电子设备和存储介质
CN117880117A (zh) * 2024-03-12 2024-04-12 泉州华中科技大学智能制造研究院 一种用于虚拟调试的EtherCAT虚拟从站实现方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101453371A (zh) * 2008-06-26 2009-06-10 北京科技大学 网络化嵌入式系统的仿真方法及其装置
CN102508697A (zh) * 2011-11-25 2012-06-20 武汉钢铁(集团)公司 一种Java实现8位嵌入式CPU仿真运行环境的方法
CN102609297A (zh) * 2010-12-28 2012-07-25 微软公司 虚拟化嵌入式设备
US20140130048A1 (en) * 2010-01-04 2014-05-08 Vmware, Inc. Dynamic scaling of management infrastructure in virtual environments
CN106445640A (zh) * 2016-10-20 2017-02-22 南京南瑞继保电气有限公司 一种嵌入式虚拟装置运行方法和系统

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5444853A (en) * 1992-03-31 1995-08-22 Seiko Epson Corporation System and method for transferring data between a plurality of virtual FIFO's and a peripheral via a hardware FIFO and selectively updating control information associated with the virtual FIFO's
US5892941A (en) * 1997-04-29 1999-04-06 Microsoft Corporation Multiple user software debugging system
US7047176B2 (en) * 2000-05-05 2006-05-16 Fujitsu Limited Method and system for hardware simulation
JP4620771B2 (ja) * 2005-03-16 2011-01-26 ゲートロケット・インコーポレーテッド Fpgaエミュレーションシステム
US20070204271A1 (en) * 2006-02-28 2007-08-30 Andrew Gaiarsa Method and system for simulating a multi-CPU/multi-core CPU/multi-threaded CPU hardware platform
US8600556B2 (en) * 2009-06-22 2013-12-03 Johnson Controls Technology Company Smart building manager
US9042366B2 (en) * 2010-09-30 2015-05-26 Vitesse Semiconductor Corporation Timestamp predictor for packets over a synchronous protocol
WO2013143121A1 (en) * 2012-03-30 2013-10-03 Intel Corporation Accessing a device on a remote machine
TW201421420A (zh) * 2012-11-21 2014-06-01 Inst Information Industry 圖形處理單元虛擬裝置、圖形處理單元主機裝置及其圖形處理單元程式處理方法
CN103235756B (zh) * 2013-04-22 2015-11-04 北京航空航天大学 一种面向嵌入式系统分区应用程序软件的仿真测试方法
JP6241144B2 (ja) * 2013-08-30 2017-12-06 富士通株式会社 制御プログラム、制御方法および制御装置
US9898388B2 (en) * 2014-05-23 2018-02-20 Mentor Graphics Corporation Non-intrusive software verification
CN104267283A (zh) * 2014-09-26 2015-01-07 上海科梁信息工程有限公司 一种数字化变电站过程层到间隔层测试平台及方法
CN104750068B (zh) * 2015-02-13 2018-08-21 湖北锐世数字医学影像科技有限公司 一种多节点传感器网络的数据传输及控制装置
CN105718305B (zh) * 2016-03-15 2018-11-13 南京南瑞继保电气有限公司 一种基于进程的仿真任务并行调度方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101453371A (zh) * 2008-06-26 2009-06-10 北京科技大学 网络化嵌入式系统的仿真方法及其装置
US20140130048A1 (en) * 2010-01-04 2014-05-08 Vmware, Inc. Dynamic scaling of management infrastructure in virtual environments
CN102609297A (zh) * 2010-12-28 2012-07-25 微软公司 虚拟化嵌入式设备
CN102508697A (zh) * 2011-11-25 2012-06-20 武汉钢铁(集团)公司 一种Java实现8位嵌入式CPU仿真运行环境的方法
CN106445640A (zh) * 2016-10-20 2017-02-22 南京南瑞继保电气有限公司 一种嵌入式虚拟装置运行方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3525094A4 *

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109858111A (zh) * 2019-01-15 2019-06-07 天津大学 Rlv虚拟仿真平台设计及实现方法
CN111352616A (zh) * 2020-02-20 2020-06-30 苏宁云计算有限公司 实时计算可视化开发系统及其应用方法
WO2022126930A1 (zh) * 2020-12-17 2022-06-23 威胜集团有限公司 一种嵌入式设备驱动系统及方法
CN112612672B (zh) * 2020-12-18 2022-03-01 四川九洲电器集团有限责任公司 一种嵌入式软件实时运行状态监控方法
CN112612672A (zh) * 2020-12-18 2021-04-06 四川九洲电器集团有限责任公司 一种嵌入式软件实时运行状态监控方法
CN112685095B (zh) * 2020-12-25 2024-03-22 北京浪潮数据技术有限公司 一种虚拟设备的加载方法、装置、设备及存储介质
CN112685095A (zh) * 2020-12-25 2021-04-20 北京浪潮数据技术有限公司 一种虚拟设备的加载方法、装置、设备及存储介质
CN112685197A (zh) * 2020-12-28 2021-04-20 浪潮软件科技有限公司 接口数据的交互系统
CN112685197B (zh) * 2020-12-28 2022-08-23 浪潮软件科技有限公司 接口数据的交互系统
CN113407214A (zh) * 2021-06-24 2021-09-17 广东泰坦智能动力有限公司 一种基于can通信的可重构化多线程并行上位机系统
CN113609694A (zh) * 2021-08-13 2021-11-05 国家电网有限公司华北分部 基于pscad的继电保护闭环仿真系统数据传输及同步方法
CN113609694B (zh) * 2021-08-13 2024-01-02 国家电网有限公司华北分部 基于pscad的继电保护闭环仿真系统数据传输及同步方法
CN113608879A (zh) * 2021-08-27 2021-11-05 北京易智联科技有限公司 一种可重构的模拟器或测试设备架构设计方法
CN113608879B (zh) * 2021-08-27 2024-02-09 北京易智联科技有限公司 一种可重构的模拟器或测试设备架构设计方法
CN113792444A (zh) * 2021-11-15 2021-12-14 成都泰盟软件有限公司 一种机能学虚拟仿真实验波形构建方法
CN114347072A (zh) * 2021-12-06 2022-04-15 埃夫特智能装备股份有限公司 一种机器人控制器模拟化平台及其虚拟方法
CN114915515B (zh) * 2022-05-04 2024-01-26 中国第一汽车股份有限公司 一种基于soc的can通信方法及系统
CN114915515A (zh) * 2022-05-04 2022-08-16 中国第一汽车股份有限公司 一种基于soc的can通信方法及系统
CN114968745B (zh) * 2022-06-10 2023-06-16 北京世冠金洋科技发展有限公司 一种处理系统模型的运行信息的方法及装置
CN114968745A (zh) * 2022-06-10 2022-08-30 北京世冠金洋科技发展有限公司 一种处理系统模型的运行信息的方法及装置
CN116090372A (zh) * 2023-03-23 2023-05-09 湖南泛联新安信息科技有限公司 一种基于fpga的芯片仿真加速方法和系统

Also Published As

Publication number Publication date
US20190317791A1 (en) 2019-10-17
EP3525094A1 (en) 2019-08-14
US10949242B2 (en) 2021-03-16
CN106445640A (zh) 2017-02-22
EP3525094A4 (en) 2019-11-13
CN106445640B (zh) 2019-06-18
BR112019008039A2 (pt) 2019-07-02

Similar Documents

Publication Publication Date Title
WO2018072445A1 (zh) 一种嵌入式虚拟装置运行方法和系统
Zhang et al. Panappticon: Event-based tracing to measure mobile application and platform performance
US8739129B1 (en) Multi-domain unified debugger
Böhm et al. xSim: The extreme-scale simulator
US20130263090A1 (en) System and method for automated testing
CN111930365B (zh) 基于Qt的应用程序快速开发框架、开发方法及运行方法
CN103544103A (zh) 一种软件性能测试模拟并发方法及系统
KR101275172B1 (ko) 이산 사건 시뮬레이션 방법
CN104750603A (zh) 一种多核dsp软件仿真器及其物理层软件测试方法
CN112486791A (zh) 一种服务器集群的性能测试方法、装置及设备
Di Sanzo et al. A flexible framework for accurate simulation of cloud in-memory data stores
CN113051040A (zh) 一种异地远程分布式联合仿真方法
CN103942092A (zh) 一种支持LabView图形化编程的HLA协同仿真方法
Schlatte et al. Modeling and analyzing resource-sensitive actors: a tutorial introduction
Reiss Visual representations of executing programs
Kunkel HDTrace–a tracing and simulation environment of application and system interaction
CN116069649A (zh) 页面测试方法、装置、设备及介质
Carvalho et al. Experimental evaluation of distributed middleware with a virtualized java environment
Lehrig et al. Performance prototyping with protocom in a virtualised environment: A case study
Daoud et al. Multilevel analysis of the java virtual machine based on kernel and userspace traces
Henning Prototype of a scalable monitoring infrastructure for Industrial DevOps
Andrade et al. Openmads: An open source tool for modeling and analysis of distributed systems
Mos A framework for adaptive monitoring and performance management of component-based enterprise applications
Rover et al. Software tools for complex distributed systems: Toward integrated tool environments
CN113268421A (zh) 服务调用处理方法、装置、服务器及存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17862886

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112019008039

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 2017862886

Country of ref document: EP

Effective date: 20190508

ENP Entry into the national phase

Ref document number: 112019008039

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20190418