CN106940642B - Bus simulator system with dynamic ICD configuration - Google Patents

Bus simulator system with dynamic ICD configuration Download PDF

Info

Publication number
CN106940642B
CN106940642B CN201710026227.7A CN201710026227A CN106940642B CN 106940642 B CN106940642 B CN 106940642B CN 201710026227 A CN201710026227 A CN 201710026227A CN 106940642 B CN106940642 B CN 106940642B
Authority
CN
China
Prior art keywords
data
bus
icd
control
dds
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
CN201710026227.7A
Other languages
Chinese (zh)
Other versions
CN106940642A (en
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.)
Southwest Electronic Technology Institute No 10 Institute of Cetc
Original Assignee
Southwest Electronic Technology Institute No 10 Institute of Cetc
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 Southwest Electronic Technology Institute No 10 Institute of Cetc filed Critical Southwest Electronic Technology Institute No 10 Institute of Cetc
Priority to CN201710026227.7A priority Critical patent/CN106940642B/en
Publication of CN106940642A publication Critical patent/CN106940642A/en
Application granted granted Critical
Publication of CN106940642B publication Critical patent/CN106940642B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing 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/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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

Abstract

The invention provides a bus simulator system with dynamic ICD configuration, and aims to provide a bus simulator system with higher expansibility, reusability and high universality. The invention is realized by the following technical scheme: the display control system and the bus communication system are respectively independent software for carrying out data communication through DDS communication middleware; the display control system dynamically generates interface controls by loading interface configuration files, autonomously traverses a group of controls bound by the ICD and reads numerical values in the controls, and automatically packages and unpacks ICD data items according to a big-end-sequence format or a small-end-sequence format; modeling the relative layout relation of the interface control and the control, and generating an automatically-laid control according to the tree-shaped hierarchical structure of the interface configuration file; the bus communication system realizes the forwarding of data between two bus drivers; the receiving and sending of the bus data and the analysis and generation of the bus data are decoupled with the bottom layer drive through the DDS communication middleware.

Description

Bus simulator system with dynamic ICD configuration
Technical Field
The invention relates to a bus simulator system mainly applied to an avionic device joint test occasion.
Background
With the development of information technology and computer technology, bus technology has been widely popularized and applied. Compared with the traditional information transmission technology, the bus has the characteristics of information digitization and interface standardization, and the design of the system can be greatly simplified by adopting the bus technology, so that the bus is developed rapidly in recent years. The avionic bus simulator system is very complex in signal type and parameter type, and is convenient to collect data of various bus types and non-bus types in order to collect comprehensiveness of functions, and comprises most of the existing signal types, such as 1553B signals, 422 signals, 429 signals, AFDX signals, CAN signals, network signals, analog quantity signals and discrete quantity signals; the bus simulator includes more complex parameter types than signal types. This causes great difficulty in designing and implementing the Interface display module and the bus communication module code of the bus simulator, and once the Interface Control Document (ICD) is changed, the Interface display module and the bus communication module code need to be rewritten.
Traditionally, a bus simulator system mainly adopts a customized development mode, and is roughly divided into three steps: making an ICD document by a general designer according to project requirements; software personnel compile a bus simulator system according to the structures of the interface display layer, the service logic layer and the bus driving layer, and then debug the bus simulator system to meet the use requirements. The bus simulator has the advantages that the bus simulator is large in manual workload, difficult to maintain and upgrade at the later stage, incapable of effectively accumulating work results, lack of generality and the like in the traditional customized development process, particularly on an interface display layer, dozens of ICDs are fewer, hundreds of ICDs are more, each ICD contains multiple data items, each data item corresponds to one control on the interface, hundreds of even thousands of controls are roughly estimated, the data items in each ICD are required to be combined into a complete packet of data or the complete packet of data is required to be split into the data items in the ICD and mapped onto the interface controls, all the data items are manually developed and completed, and the development work of the interface display layer accounts for more than half of the whole system development work amount. Because the differences of avionics and functional hardware, bus communication and ICD of different host stations and different models are large, the avionics and functional hardware, the bus communication and the ICD are changed and upgraded frequently, the rigid customized development mode causes the later maintenance difficulty of a bus simulator system, and consumes a large amount of manpower and material resources. As an interface control automatic generation technology of a bus simulator system core, two implementation modes are disclosed:
based on an MFC framework, generating an rc file by combining with an ICD, then loading the generated rc file in a resource view of a Visual Studio of a Microsoft development platform, finely adjusting an interface control in the resource view in a Visual mode by a software developer, and then manually completing the rest development work; and secondly, describing the control type and control layout corresponding to the ICD by using XAML language based on a WPF framework to generate an XAML file, then loading the generated XAML file in the Microsoft development platform Visual Studio, finely adjusting the interface control in a Visual mode by a software developer, and then manually finishing the rest development work.
In the two implementation modes, the rc file and the XAML file only provide descriptions of the interface control, and cannot describe information (including data type, data length, encoding mode and the like) of the ICD internal data item, and developers still need to manually encode to establish the relationship between the ICD internal data item and the interface control, and neither can realize framework multiplexing, but can realize multiplexing of control styles by using the XAML file. The two implementation modes only partially solve the problem of time consumption of interface control development on the surface, and do not really realize automatic generation of the interface control.
Disclosure of Invention
Aiming at the defects of huge manual workload, difficult later maintenance and upgrading, incapability of effectively accumulating work results, lack of universality and the like exposed in the traditional customized development process of the bus simulator, the invention provides the dynamically ICD-configured bus simulator system which has higher expansibility, reusability, adaptability and universality, can shorten the development period and improve the performance and reliability of the system.
The above object of the present invention can be achieved by the following means. A dynamically ICD configured bus simulator system comprising: the display control system, the bus communication system, the Data Distribution Service (DDS) as the communication middleware, the interface configuration file generation tool, characterized in that: reading an interface configuration file generation tool into an ICD document, designing a control type corresponding to each data item in each ICD by a developer by using the interface configuration file generation tool, and then generating an interface configuration file; when a bus simulator system sends data to a bus, after a user operates an interface control in the display control system, the display control system autonomously traverses a group of controls bound with an ICD (interface control document) which is operated just before and reads numerical values in the controls, and then the controls are packaged into DDS data frames in a large end sequence or small end sequence mode, the DDS data frames are sent to the bus communication system by a communication middleware DDS, and the bus communication system converts the DDS data frames into actual bus data according to a bus mapping relation and sends the actual bus data; when the bus simulator system receives bus data, the bus communication system firstly receives actual bus data and converts the actual bus data into DDS data frames according to a bus mapping relation, the DDS data frames are sent to the display control system by the communication middleware DDS, and the display control system analyzes the data and displays the data; in a display control system, modeling a relative layout relationship of interface controls: three basic layout relations, namely an up-down relation, a left-right relation and an inclusion relation, can be mutually nested and combined into any complex interface layout, an interface configuration file describes the relative layout relation between controls corresponding to all data items in the ICD in an XML file format, a display control system analyzes the layout relation after loading the interface configuration file, dynamically draws the controls in a recursive mode and automatically adjusts the positions of the controls according to the constraint of the relative layout relation; the display control system and the bus communication system are respectively independent software, the input and the output of the display control system are always DDS data frames, the communication middleware DDS realizes the data communication between the display control system and the bus communication system, and the bus communication system realizes the mutual conversion of the DDS data frames and the bus data frames according to the bus mapping relation, so that the display control system is decoupled from an actual bus. The programming language used by the present invention is C + +, and other object-oriented languages can be used in the implementation of the present invention.
Compared with the prior art, the invention has the following beneficial effects.
And has better expansibility and reusability. The interface configuration file is generated according to the ICD file, the bus simulator system loads the interface configuration file to dynamically generate the interface control, the package and the unpacking of ICD data are automatically realized, the ICD file in the XML format can be quickly converted into the interface configuration file through the interface configuration file generation tool, and the common control types including a Button, an Edit box Edit, an inspection box CheckBox, a drop-down box ComboBox, a List List, a Button group, and the like are supported. The system is constructed in an object-oriented mode, so that the system is convenient to expand and maintain, and a new control type and a new bus driver which can be automatically generated can be added in an inheritance mode. Compared with the two existing interface control automatic generation technologies, the method combines the information of the ICD internal data item and the information of the interface control, automatically establishes a data channel between the ICD internal data item and the interface control, realizes frame-level multiplexing, and realizes multiplexing of a display control system among different items by replacing interface configuration files. This is more scalable than traditional process-oriented systems.
Adaptability and commonality are strong. The invention is convenient to add new control types and bus types. By automating the processes of interface control generation, ICD data packaging, ICD data analysis and the like, the repetitive mental labor in the development process of the bus simulator system is greatly reduced, the software quality is ensured, the development period is shortened, and the reusability of the bus simulator system in various model projects is increased. The control interface can be automatically drawn when the system runs according to the interface configuration file tool, interface drawing codes do not need to be written manually, and the upgrading of the bus simulator can be realized only by replacing an old interface configuration file with a new interface configuration file after the ICD file is updated without changing the codes and recompiling programs. When the use requirement or the ICD bus protocol changes, a new interface control layout can be automatically generated only by modifying the corresponding interface configuration file, so that the adaptability and the universality of software are enhanced.
The development period is shortened. The invention realizes the automatic generation of the control in a mode of dynamically configuring the interface control based on the ICD file, and greatly reduces the workload of manual development. The system automatically associates the control and the data item during running, but not manually associates the control and the data item during compiling, so that the development time of the avionic simulator system is greatly saved, and the running reliability and consistency of the system are ensured. By automating the processes of interface control generation, ICD data unpacking and packaging and the like, the repetitive mental labor in the development process of the bus simulator system is greatly reduced, the software quality is ensured, the development period is shortened, and the reusability of the bus simulator system in various model projects is increased.
System performance and reliability are improved. The invention adopts ICD data unpacking interface to map the data in the computer memory to the corresponding control and display according to the sequence of ICD internal data items and the occupied bit number; the ICD data packet and the ICD data unpacking are inverse processes, an object-oriented method is used for modeling the relative layout relation of the interface control and the control, and the corresponding control is generated according to the tree-shaped hierarchical structure of the interface configuration file by reading the interface configuration file and is automatically laid out. The decoupling of the bus simulator and the bottom layer drive is realized by using the DDS, the single-machine and distributed deployment of a bus simulator system is supported, and the performance and the reliability of the system are improved.
The invention can be used for replacing all subsystems of avionics to generate avionic bus signals and replacing the subsystems to process and display the avionic bus signals.
Drawings
The invention is further described with reference to the following figures.
FIG. 1 is a schematic diagram of the architecture of a bus simulator system for dynamic ICD configuration according to the present invention.
Fig. 2 is a schematic view of the working principle of fig. 1.
Fig. 3 is a schematic structural diagram of the interface control file ICD in fig. 1.
Fig. 4 is a schematic diagram of the interface profile structure of fig. 1.
FIG. 5 is the control data map of FIG. 1.
FIG. 6 is a diagram of control layout modeling of FIG. 1.
FIG. 7 is the entity control data packing/unpacking process of FIG. 1.
Fig. 8 is a flow chart of interface control file ICD data packaging/unpacking in fig. 1.
FIG. 9 is a diagram of the control layout class of FIG. 1.
Fig. 10 is a drive class diagram of fig. 1.
Detailed Description
See fig. 1. In embodiments described below, a dynamically ICD configured bus simulator system includes: the interface configuration file generation system comprises a display control system, a bus communication system, a Data Distribution Service (DDS) as communication middleware and an interface configuration file generation tool, wherein: the display control system includes: ICD data unpacker, ICD data group packer, interface control automatic generator, DDS communication interface subassembly, interface control automatic generator includes again: the Button control generator, the CheckBox control generator, the ComboBox control generator, the List control generator, the radio group control generator, the bus communication system includes: DDS communication interface subassembly, bus data repeater, bus driver, interface configuration file generation instrument includes: ICD content analyzer, interface configuration file generator. The display control system and the bus communication system interact DDS data frames through a DDS communication middleware of a data distribution service system, and the bus communication system converts the DDS data frames into actual bus data according to a bus mapping relation and sends the actual bus data; and after the interface configuration file generation tool is used by a developer to read in the ICDs, the developer designs the control types corresponding to the data items in each ICD, then generates the interface configuration file, and displays the interface configuration file loaded by the control system and automatically draws a control interface. In the display control system, an interface control automatic generator traverses an interface configuration file, dynamically draws a corresponding control according to the control type of each data item in the interface configuration file, establishes a mapping relation between the data items and the control, establishes a control tree in a recursive mode, realizes automatic layout of the control on the basis of the control tree, and registers a user-defined Windows message to respond to the operation of sending data by a user interface. And the display control system responds to the operation of sending data by the user interface to start the ICD data packet assembler. The ICD data packaging device creates a section of idle memory block, traverses the control tree, takes out the current value of the control according to the mapping relation between the data item and the control and stores the current value into the data item, takes the base address of the memory block as the bit offset starting position and adds the bit offset of the data item as the storage address of the data in the data item, and takes the bit domain width of the data item as the storage length of the data in the memory block. When the display control system is just started, the ICD name is used as the subject name to register with the DDS communication interface component in two types, the ICD needing to be sent is registered in a 'publishing' mode, and the ICD needing to be received is registered in a 'subscribing' mode. And after the ICD data packaging device finishes working, starting the DDS communication interface component, and calling a data release function of the DDS communication interface component by taking the ICD name, the packaged memory block initial address and the memory block length as parameters. When a data packet subscribed by the display control system arrives, the ICD data unpacker locates an interface control file ICD according to the subject name of the DDS data frame, then locates a control tree according to the interface control file ICD identifier, traverses the control tree, extracts data from the receiving memory block according to the bit domain width and the bit offset description of the data item, stores the data into the data item bound with the control, and then refreshes the control.
And the interface configuration file generation tool generates an interface configuration file according to the ICD file, wherein the interface configuration file comprises the description of information such as ICD data, a bus, interface controls and the like. In an interface configuration file generation tool, an ICD content analyzer loads and analyzes an interface control file ICD document, an interface configuration file generator selects an Edit control for integer data in an ICD internal data item according to an analysis result of the ICD content analyzer, selects a ComboBox control for enumerated data with enumerated values of 3 or more, selects a RadioGroup control for the enumerated data with enumerated values of 2 or less, and selects a List control for a data type with a variable-length data structure. These are default settings, and the developer can make fine adjustments on the operation interface, such as: change the type of control, change the enumerated value, etc. Interface configuration file generator the interface configuration file generation tool can not only generate a new interface configuration file, but also load the existing interface configuration file so as to facilitate the management and maintenance of the interface configuration file.
The display control system dynamically generates interface controls by loading interface configuration files and automatically arranges, automatically realizes ICD data packaging and unpacking, and supports ICD data formats of large end sequence and small end sequence. In a bus communication system, a bus driver is packaged, a general interface of a bus is abstracted, the bus communication system comprises a bus data repeater, the bus data repeater transmits bus data from one bus interface to another bus interface according to a data forwarding rule, a specific bus type is determined when a bus data forwarding subsystem operates by means of the multi-state property of a programming language (C + +), one end of the bus data repeater determines to use a DDS communication interface component, and the other end of the bus data repeater determines according to specific items, and the bus data repeater CAN be any one of buses such as AFDX, 1394, CAN, 485 and 422.
The bus communication system encapsulates the bottom board card drive, receives data from the DDS and forwards the data to the bus when sending ICD data, and receives data from the bus and forwards the data to the DDS when receiving the ICD data; the DDS realizes data interaction through a mode of 'publishing-subscribing' ICD identifier, when ICD data is sent, the display control system is a publisher, the bus communication system is a subscriber, when the ICD data is received, the bus communication system is a publisher, and the display control system is a subscriber. The display control system and the bus communication system are mounted on the DDS, and the DDS is used as a data communication medium between the display control system and the bus communication system in a 'publish-subscribe' mode; the data subscribed by the bus communication system is routed to the actual bus driver and sent out, and the data subscribed by the display control system is processed by the ICD data unpacker. Besides using DDS, other process communication methods can be used to implement data interaction between the display control system and the bus communication system, such as: shared memory, pipelines, etc.; other bus drivers can be supported as long as the bus is packaged in the specified format.
When a bus simulator system sends data to a bus, after a user operates an interface control in the display control system, the display control system autonomously traverses a group of controls bound with an ICD (interface control document) which is operated just before and reads numerical values in the controls, and then the controls are packaged into DDS data frames in a large end sequence or small end sequence mode, the DDS data frames are sent to the bus communication system by a communication middleware DDS, and the bus communication system converts the DDS data frames into actual bus data according to a bus mapping relation and sends the actual bus data; when the bus simulator system receives bus data, the bus communication system firstly receives actual bus data and converts the actual bus data into DDS data frames according to a bus mapping relation, the DDS data frames are sent to the display control system by the communication middleware DDS, and the display control system analyzes the data and displays the data; in a display control system, modeling a relative layout relationship of interface controls: three basic layout relations, namely an up-down relation, a left-right relation and an inclusion relation, can be mutually nested and combined into any complex interface layout, an interface configuration file describes the relative layout relation between controls corresponding to all data items in the ICD in an XML file format, a display control system analyzes the layout relation after loading the interface configuration file, dynamically draws the controls in a recursive mode and automatically adjusts the positions of the controls according to the constraint of the relative layout relation; the display control system and the bus communication system are respectively independent software, the communication middleware DDS is commercial software, the input and the output of the display control system are always DDS data frames, the communication middleware DDS realizes data communication between the display control system and the bus communication system, and the bus communication system realizes mutual conversion of the DDS data frames and the bus data frames according to a bus mapping relation, so that the display control system is decoupled from an actual bus.
See fig. 2. The interface configuration file generation tool sends the read interface control file ICD into an ICD content analyzer, the ICD content analyzer inputs the acquired information of the data type, the bit domain width and the like of the data items in the ICD into an interface configuration file generator, the interface configuration file generator obtains a control type interface configuration file under default configuration according to the information and sends the control type interface configuration file into a display control system, the interface configuration file generator generates the interface configuration file, the interface configuration file is loaded, and the dynamically generated control is automatically laid out. The configuration file of the loading interface can be changed on the operation interface by an operator. In the display control system, when a user selects ICD data to be sent on the display control system, an interface control automatic generator of the display control system finds a control tree corresponding to the ICD, an ICD data packet of the control tree is traversed, ICD data of the data packet is sent to a DDS communication middleware through a DDS communication middleware interface, and the DDS communication middleware group data is sent to a bus communication system. In a bus communication system. The DDS communication middleware sends the packed data to a DDS driver in a bus communication system, and the DDS driver sends the received DDS data frame to a bus data repeater, routes the DDS data frame to an actual bus driver and sends the DDS data frame to an actual bus. The actual bus comprises: 429 bus driver, AFD bus driver, 422 bus driver, 485 bus driver, ethernet bus driver, and FC bus driver. When actual bus data arrives, the actual bus driver receives the data, an actual bus data frame is routed to the DDS bus driver through the bus data repeater, the DDS bus driver sends the data to the DDS communication middleware, a DDS communication middleware interface of the display control system receives the DDS data frame, the display control system sends the DDS data frame to the interface control automatic generator, and the interface control automatic generator traverses the control tree to complete ICD data unpacking and refresh the control.
See fig. 3. The ICD file implements the original input file in XML. The ICD file consists of four parts, namely a bus, a message, a theme, a signal group and a signal. Signals are the most basic functional units, including: bus number, bus name, bus header, bus trailer and bus description; the message comprises: a message number, a reference topic number, a message definition name, and a message definition alias; the theme comprises a theme number, a reference signal and a theme name, wherein the reference signal comprises a signal and a signal group; the signal group includes: signal group number, signal group name, bit field width and reference signal; the signal comprises: the signal is numbered. Signal name, signal description, signal type, and bit-field width. The multiplexing of signals, signal groups, subjects and buses avoids the repeated definition of data items. The multiplexing of the referencing means makes it possible to modify only the referenced item, all the places where it is referenced following naturally without manual changes, which makes updating of the ICD easier.
See fig. 4. See fig. 4. And the interface configuration file generation tool generates an interface configuration file in an XML mode and outputs the interface configuration file. The interface configuration file generation tool consists of a page and an ICD panel. The page includes: page name, ICD panel of reference, and page alias. The ICD panel includes: a panel name, a panel alias, a data item, a message ID, and a message length, wherein the data item includes: the method comprises the following steps of data item name, data item alias, enumeration item, bit offset, domain width, default value and control type, wherein the enumeration item comprises numerical value and enumeration description. A page is a container that holds ICD panels, and may reference multiple ICD panels. The ICD panel contains a plurality of data items, each of which contains the three most important attributes: bit offset amount, bit field width, control type. The bit offset amount is calculated as 0, and the bit offset amount of one data item is the sum of the bit field widths of all the data items preceding it. The control types include: a drop-down box ComboBox, a button group RadioGroup, a textbox, a List, etc.
See fig. 5. In the control data mapping, control 1 and control 2 … control n correspond to ICD data item 1 and ICD data item 2 … data item n, respectively. An ICD contains a plurality of data items, one for each control. When an operator selects to send an ICD on the display control system, an ICD data packaging device of the display control system acquires values of corresponding data items according to the binding relationship between the controls and the data items, and then packages the values of all the data items to acquire a binary source code corresponding to the ICD; when the display control system analyzes an ICD, an ICD data unpacker of the display control system operates a character type pointer on the binary source code according to the bit offset of the data item in the ICD, offsets the binary source code to obtain the source code value of the corresponding data item, and updates the control value bound with the data item according to the offset.
See fig. 6. In control layout modeling, a control contains: the system comprises a left nested control, a right nested control, an upper nested control, a lower nested control, an inclusion nested control and an entity control. The left nested control and the right nested control are composed of a left control and a right control; the upper nested control and the lower nested control are composed of an upper control and a lower control; the embedded control consists of an outer control and an inner control; the left control, the right control, the upper control, the lower control, the outer control and the inner control are formed by controls, and the controls can be any one of a left nested control, a right nested control, an upper nested control, a lower nested control, an inclusion nested control and an entity control. This loop nested structure supports the entire control layout.
See fig. 7. The display control system gives a pBuffer stored in a data memory address, a bit offset nBitOffset and a bit number nBit of a data occupied item, wherein the memory address of the data item is equal to the memory head address for storing the whole ICD data plus the bit offset. When the memory first address, the bit offset nBitOffset and the bit domain width of the data item of the whole ICD data are the entity control data packet, the data item content bound with the entity control is taken out and stored into the memory address of the data item; when the data of the entity control is unpacked, a data value is taken from a memory address of the data item, the taking-out bit width of the data is determined by the bit field width of the data item, if the data is stored in a big end mode, the data is accessed in a data memory address pBuffer according to the big end mode, otherwise, the data is accessed in the data memory address pBuffer according to a small end mode, the data memory address pBuffer and the bit offset nBitOffset are updated, the taken-out data value is stored in the data item bound with the entity control, then the control is refreshed to display a new value, and the memory address and the bit offset are updated after the data package or the data are unpacked.
See fig. 8. Endowing a root node control rootNode in a control tree to a current processing control pCurNode, and then defining two temporary variables of the control: pNode1, pNode 2. If pCurNode is left and right nested control, the left control of pCurNode nesting is assigned to pNode1, and the right control of pCurNode nesting is assigned to pNode 2. If pCurNode is not the left-right nested control, then judge pCurNode whether it is the upper-lower nested control. If pCurNode is the top and bottom nested control, the top control of pCurNode nesting is assigned to pNode1, and the bottom control of pCurNode nesting is assigned to pNode 2. If pCurNode is not the upper and lower nested control, then judge pCurNode whether it contains nested control. If pCurNode contains nested controls, the outer controls nested by pCurNode are assigned to pNode1, and the inner controls nested by pCurNode are assigned to pNode 2. And if the pCurNode is not any one of the left-right nested control, the up-down nested control and the contained nested control, carrying out error processing, and finishing the processing. After the control type judgment of the pCurNode is completed and the values of pNode1 and pNode2 are given, then the control type judgment of the pNode1 and pNode2 is carried out. If the pNode1 is not an entity control, then the pNode1 is assigned to the pCurNode for the next recursion process. If the pNode1 is an entity control, then the pNode1 control is data packed/unpacked. Under the condition that the pNode1 is an entity control, if the pNode2 is not an entity control, the pNode2 is assigned to the pCurNode to continue the next recursion process. Under the condition that the pNode1 is an entity control, if the pNode2 is also an entity control, the pNode2 control is subjected to data packaging/unpacking, and then the processing is finished. The recursion call of the whole processing flow begins from the processing of the current processing control pCurNode control, wherein in the initial state, the pCurNode is the root node control in the control tree, and in the recursion processing process, the pCurNode is the nested control in the control tree.
See fig. 9. In a software implementation of a control tree of a display control system, object-oriented modeling is performed on nodes of the control tree. There are two types of control nodes in the control tree: an entity control node and a nested control node (including a left nested control node, a right nested control node, an upper nested control node, a lower nested control node and an including nested node). The entity control node can only be a leaf node of the control tree because it cannot nest other controls. The nested control node is necessarily used as an intermediate node of the control tree because other controls need to be nested, and the child nodes of the nested control node can be an entity control node or other nested control nodes. Because each nested control node has two child nodes, the control tree thus formed is a binary tree. The CNode is an abstract base class of all control type nodes in the control tree. The embedded control type FrmTrl, the left and right embedded control type HCatCrlCtrl, the upper and lower embedded control type VCatCrlCtrl and the entity control type RawCtrl are inherited to CNode. Contrl is a control wrapper class in which there is a pointer pNode to a CNode type object. An instantiated object of a Contrl class can be considered as a control whose type is determined by the type of object actually pointed to by the pNode (which can be any one of FrmTrl, HCatCrlCtrl, VCatCrlCtrl, and RawCtrl, since they are inherited to the CNode, they are CNode type objects, and thus the pointer to them can be assigned to the pNode). In FrmTrl, both pOutCtrl and pInCtrl are pointers to Contrl type objects, pOutCtrl points to the outward control, and pInCtrl points to the inward control; in HCatCrlCtrl, pLeftCtrl and pRightCtrl are both pointers to Contrl type objects, pLeftCtrl points to the left control, and pRightCtrl points to the right control; in VCatCrlCtrl, both pUpCtrl and pDOwnCtrl are pointers to objects of the Contrl type, pUpCtrl points to the up control, and pDOwnCtrl points to the down control. The button group class CRADIOGroupBox, the drop-down box class CCombobox, the text box class CTextEdit and the list class CList are all inherited to the universal control base class CtrlCommClass. There is a pointer pCtrlComm in the entity control class RawCtrl that points to the generic control base class CtrlCommclass. The specific type of entity control is determined by the type of object that pCtrlComm actually points to (which may be any one of coadio group box, ccombox, CTextEdit, CList, since they all inherit to ctrl commcs, they are ctrl commcs type objects, so the pointer to them can be assigned to pCtrlComm). The Display () is a control layout function, and in the automatic layout process of the control, pNode- > Display () is called in a Contrl class; calling pOutCtrl- > Display () and pINCtrl- > Display () in sequence in a layout function Display () of the FrmTrl class; calling pLeftCtrl- > Display () and pRightCtrl- > Display () in sequence in the layout function Display () of the HCatCrlCtrl class; calling pUPCtrl- > Display () and pDOwnCtrl- > Display () in sequence in the layout function Display () of VCatCrlCtrl class; in the layout function Display () of the RawCtrl class, pCtrlComm- > Display () is called. The FrmCtrl class, the HCatCrlCtrl class, the VCatCrlCtrl class and the RawCtrl class inherit the CNode class and realize the Display () function, and according to the polymorphism of the C + + language, the pNode- > Display () in the control class Display () executes the Display () version of the pNode actual pointing type. The CRADIOGroupBox class, the CCombobox class, the CTextEdit class and the CList class are inherited to the CtrlCommclass class and realize the Display () function, and the version of the Display () with the actual pointing type of the pCtrlComm is executed by the pCtrlComm- > Display () in the RawCtrl class Display (), according to the polymorphism of the C + + language. Therefore, the layout function Display () of the nested control can call the layout function Display () of the nested control, the layout function Display () of the entity control can actually draw the control, and calling the layout function Display () of the type Contrl class to which the root node of the control tree belongs can trigger to recursively call the layout function Display () at each layer of child nodes of the control tree until all the controls on the control tree are drawn, so that the automatic layout of the control is realized.
See fig. 10. In a driving class diagram of a bus communication system, a driverlenerhandler is a bus monitoring base class, wherein a virtual function OnRecvdata () is used for processing received bus data, and a bus driving mapper class DriverMap inherits the driverlenerhandler to realize the virtual function OnRecvdata (). Drivecreator is a bus driver generator class, and function CreateDriver () is used to generate a bus driver. The DriverMap has a pointer pdrickt to the bus driver generator class drivermatter. The BusDriver is a bus driver base class, in which a SetListenerHandler () function is used to register a bus snooping class object, a virtual function InitDriver () is used to initialize a bus driver, and a virtual function Send () is used to Send bus data. The DDS driver class DDSDriver, the AFDX bus driver class AFDXdriver and the CAN bus driver class CANDriver inherit from the Busdriver and realize virtual functions InitDriver () and Send (). Each bus mapping relationship comprises a pair of bus drivers, one is DDS driver and the other is actual bus driver. When the DriverMap class establishes the bus mapping relation table, the DriverMap class calls pDrCrt- > createDriver () to obtain a bus driver. In the CreateDriver () implementation of the driverecreator class, a pointer pBusDriver of the BusDriver type is defined and given with an initial value of 0, and then a corresponding bus driver is generated according to the bus type. If type is equal to DRIVER _ DDS, then new a DDSDriver object and assign its pointer to pBusDriver; if type is equal to DRIVER _ AFDX, then new an AFDXdriver object and assign its pointer to pBusdriver; if type is equal to DRIVER _ CAN, then new a CANDriver object and assign its pointer to pBusDriver, then return to pBusDriver. When the DriverMap class obtains a bus driver, the DriverMap class calls a SetListenerHandler () function of the BusDriver class to register the SetListenerHandler () function, so that the OnRecvdata () function of the DriverListenerHandler class is called when the driver receives actual bus data, and the actually called OnRecvdata () function of the DriverMap class is called according to polymorphism of the C + + language. In the implementation of OnRecvdata () function of a driverMap class, firstly, a pointer pDestdriver of a BusDriver type is defined and is given with an initial value of 0, then a bus mapping relation table is searched according to a source driver, a corresponding target driver is found and is given to the pDestdriver, and the pDestdriver- > Send () is called to Send data. Since Send () is a dummy function, pDestDriver- > Send () executes the version of the Send () function that pDestDriver actually points to the driver type. The bus drive mapper class realizes the decoupling between the bus drive class and the bus drive mapper class DriverMap by using the bus drive base class BusDriver, the bus drive mapper class realizes corresponding service only by using a virtual function provided by the bus drive base class BusDriver and does not care which specific bus drive realizes the virtual function, so that the addition of a new bus driver class is very convenient, only a class inherited to the BusDriver needs to be newly added, a creation statement of a new bus driver is added in a createDriver () function, and the bus drive mapper class DriverMap does not make any modification.

Claims (10)

1. A dynamically ICD configured bus simulator system comprising: the interface configuration file generating tool, the display control system, the bus communication system and the data distribution service system DDS as the communication middleware are characterized in that: the display control system and the bus communication system are respectively independent software for carrying out data communication through DDS communication middleware; when the bus simulator system sends data to the bus, the interface configuration file generation tool reads in interface control documents ICD, developers use the interface configuration file generation tool to design control types corresponding to all data items in each interface control document ICD and generate interface configuration files; the display control system loads an interface configuration file, dynamically generates an interface control on an interface, autonomously traverses a group of controls bound by the ICD and reads values in the controls, and then the controls are packaged into DDS data frames in a big end sequence or small end sequence mode, the DDS data frames are sent to the bus communication system through the DDS communication middleware, and the bus communication system converts the DDS data frames into actual bus data and sends the actual bus data according to a bus mapping relation; when the bus simulator system receives bus data, the bus communication system receives actual bus data, the actual bus data are converted into DDS data frames according to a bus mapping relation, the DDS data frames are sent to an interface control through DDS communication middleware, and the display control system analyzes the data and displays the data on an interface; the display control system models the relative layout relation of the interface controls according to the interface configuration file, establishes any complex interface layout formed by nesting and combining three basic layout relations of 'up-down relation', 'left-right relation' and 'inclusion relation', and the interface configuration file which describes the relative layout relation between the controls corresponding to each data item in the ICD in an XML file format; after the display control system loads the interface configuration file, the layout relation is analyzed, the position of the control is automatically adjusted according to the constraint of the relative layout relation, and the control is dynamically drawn in a recursive mode; the bus communication system realizes the mutual conversion of the DDS data frame and the bus data frame according to the bus mapping relation, so that the display control system is decoupled from the actual bus.
2. The dynamically ICD configured bus simulator system of claim 1, wherein: the interface configuration file generation tool converts the ICD file into an interface configuration file, the tree structure of the ICD file is traversed through the interface configuration file generator, interface configuration content items are generated in a recursive mode and finally the interface configuration file is formed, and the display control system runs and loads the interface configuration file and automatically draws a control interface.
3. The dynamically ICD configured bus simulator system of claim 1, wherein: the display control system analyzes tree-shaped structure content of the ICD file, an interface control automatic generator of the display control system traverses the interface configuration file, corresponding controls are dynamically drawn according to control types corresponding to data items in the interface configuration file, a mapping relation between the data items and the controls is established, a control tree is established in a recursive mode, automatic control layout is realized on the basis of the control tree, and self-defined Windows information is registered to respond to the operation of sending data by a user interface.
4. The dynamically ICD configured bus simulator system of claim 1, wherein: when the display control system performs data packaging, preparing a section of memory block, traversing a control tree, taking out a current value of a control from a mapping relation between the data item and the control and storing the current value into the data item, taking a base address of the memory block as a bit offset starting position and adding a bit offset amount of the data item as a storage address of data in the data item, taking a bit domain width of the data item as the data in the data item, and taking a storage length in the memory block; when the display control system sends data, the data package is completed firstly, then the data is released through the DDS, and the data package is automatically received by the system which subscribes the data package on the DDS of the data distribution service system.
5. The dynamically ICD configured bus simulator system of claim 4, wherein: when a data packet subscribed by the display control system arrives, the display control system positions an ICD according to the subject name of the data packet, relocates the ICD to a control tree by an ICD identifier, traverses the control tree, stores data into a data item bound with the control according to the bit domain width and the bit offset description of the data item, and refreshes the data value in the data item displayed by the control.
6. The dynamically ICD configured bus simulator system of claim 1, wherein: the interface configuration file generation tool loads and analyzes ICD documents, the interface configuration file generator selects an edit box control for integer data in ICD internal data items, selects a drop-down box control for enumerated data with more than 3 enumerated values, selects a button group control for enumerated data with less than 2 enumerated values, and selects a list control for data types with variable-length data structures.
7. The dynamically ICD configured bus simulator system of claim 1, wherein: the bus communication system encapsulates the bottom board card drive, receives data from the data distribution service system DDS and forwards the data to the bus when transmitting ICD data, and receives data from the bus and forwards the data to the data distribution service system DDS when receiving the ICD data; the DDS realizes data interaction through a mode of 'publishing-subscribing' ICD identifier, when ICD data is sent, the display control system is a publisher, the bus communication system is a subscriber, when the ICD data is received, the bus communication system is a publisher, and the display control system is a subscriber.
8. The dynamically ICD configured bus simulator system of claim 1, wherein: the display control system is mounted on a data distribution service system DDS, and the DDS is used as a data communication medium between the display control system and a bus communication system in a 'publish-subscribe' mode; the DDS data frame subscribed by the bus communication system is routed to the actual bus driver according to the bus mapping relation and sent out, and the data received by the actual bus driver is routed to the DDS communication interface component according to the bus mapping relation and sent out.
9. The dynamically ICD configured bus simulator system of claim 1, wherein: in the control data mapping, an ICD comprises a plurality of data items, and each data item corresponds to a control; when an ICD is sent, the display control system acquires the value of the corresponding data item according to the binding relationship between the control and the data item, and then the value group packets of all the data items are acquired to obtain a binary source code corresponding to the ICD; when an ICD is analyzed, the display control system operates a character type pointer to perform offset on the binary source code according to the bit offset of the data item in the ICD to obtain the source code value of the corresponding data item, and then the control state bound with the data item is updated according to the source code value.
10. The dynamically ICD configured bus simulator system of claim 1, wherein: in a bus communication system, a bus drive generator driverCreator generates corresponding bus drives according to bus types, a mapping relation between the generated bus drives and corresponding DDS communication interfaces is maintained in a bus drive mapper driverMap, the bus drive mapper is registered in each bus drive and each DDS communication interface, when one bus drive receives data, the bus drive mapper receives a notification and finds the corresponding DDS communication interface, a sending function of the DDS communication interface is called to send the data out, when the DDS communication interface receives a DDS data frame, the bus drive mapper receives the notification and finds the corresponding destination bus drive, and the sending function of the destination bus drive is called to send the data to an actual bus.
CN201710026227.7A 2017-01-13 2017-01-13 Bus simulator system with dynamic ICD configuration Active CN106940642B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710026227.7A CN106940642B (en) 2017-01-13 2017-01-13 Bus simulator system with dynamic ICD configuration

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710026227.7A CN106940642B (en) 2017-01-13 2017-01-13 Bus simulator system with dynamic ICD configuration

Publications (2)

Publication Number Publication Date
CN106940642A CN106940642A (en) 2017-07-11
CN106940642B true CN106940642B (en) 2020-03-31

Family

ID=59468640

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710026227.7A Active CN106940642B (en) 2017-01-13 2017-01-13 Bus simulator system with dynamic ICD configuration

Country Status (1)

Country Link
CN (1) CN106940642B (en)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109960492A (en) * 2018-10-15 2019-07-02 扬州万方电子技术有限责任公司 A kind of detection system and its application method based on QT platform
CN109510748B (en) * 2018-12-29 2021-06-29 北京润科通用技术有限公司 Node and node interaction method and system
CN109558367B (en) * 2019-01-10 2022-10-28 西南电子技术研究所(中国电子科技集团公司第十研究所) Multi-bus processor MHAL routing method
CN110046452B (en) * 2019-04-25 2020-07-10 北京世冠金洋科技发展有限公司 Data bus management method and device and electronic equipment
CN111580796A (en) * 2020-05-08 2020-08-25 中国北方车辆研究所 Armored vehicle display control software design method based on service modularization
CN111966613B (en) * 2020-07-20 2022-03-15 深圳市广和通无线股份有限公司 Communication module data processing method and device, computer equipment and storage medium
CN112286512B (en) * 2020-10-30 2024-02-23 西南电子技术研究所(中国电子科技集团公司第十研究所) UI management subsystem of avionic simulation test platform
CN112364496B (en) * 2020-11-03 2024-01-30 中国航空无线电电子研究所 Avionics simulation panel generation system based on HTML5 and VUE technologies
KR102419119B1 (en) * 2020-12-16 2022-07-07 주식회사 한화 Test device for generating graphic user interface according to interface control document and operation mehtod of the same
CN112272132B (en) * 2020-12-23 2021-03-30 奥特酷智能科技(南京)有限公司 DDS protocol real-time transmission method and system for realizing CAN data based on FPGA
CN113010359B (en) * 2021-03-26 2023-03-17 西安航空电子科技有限公司 Bus test system generation method, system, device and storage medium
CN113254100B (en) * 2021-05-25 2023-08-01 四川虹魔方网络科技有限公司 Method for realizing dynamic loading of multistage route based on Vue
CN114415626B (en) * 2021-12-23 2023-12-19 商飞软件有限公司 Modularized aviation data testing system and testing method thereof
CN115019595B (en) * 2022-05-23 2023-06-06 中国电子科技集团公司第十研究所 Training simulator implementation method and system based on avionics simulation I/O management
CN116684725B (en) * 2022-10-18 2024-04-16 荣耀终端有限公司 Layout method and device of application interface, electronic equipment, storage medium and chip

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002060400A (en) * 2000-08-17 2002-02-26 Terumo Corp Hybrid polypeptide having collagen-binding activity and angiogenesis modulating activity
CN101706773A (en) * 2009-11-19 2010-05-12 北京四方继保自动化股份有限公司 Method for realizing fast and automatic modeling of transformer substation IEC 61850 by adopting XML information recombination
US8484624B1 (en) * 2003-10-15 2013-07-09 Sprint Communications Company L.P. Test integration tool
CN103207795A (en) * 2012-12-20 2013-07-17 诸暨市供电局 Electric energy configuration method based on light WEB server
CN104461881A (en) * 2014-12-03 2015-03-25 陕西千山航空电子有限责任公司 ICD-oriented ARINC429 bus signal simulation test assembly
CN104486075A (en) * 2014-10-13 2015-04-01 国家电网公司 Intelligent substation ICD model file digital signature verification method
CN106155686A (en) * 2016-06-30 2016-11-23 华为技术有限公司 Interface creating method, device and system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080059954A1 (en) * 2002-06-18 2008-03-06 Martin Joseph B Universal system component emulator with human readable output
US9420238B2 (en) * 2014-04-10 2016-08-16 Smartvue Corporation Systems and methods for automated cloud-based 3-dimensional (3D) analytics for surveillance systems

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002060400A (en) * 2000-08-17 2002-02-26 Terumo Corp Hybrid polypeptide having collagen-binding activity and angiogenesis modulating activity
US8484624B1 (en) * 2003-10-15 2013-07-09 Sprint Communications Company L.P. Test integration tool
CN101706773A (en) * 2009-11-19 2010-05-12 北京四方继保自动化股份有限公司 Method for realizing fast and automatic modeling of transformer substation IEC 61850 by adopting XML information recombination
CN103207795A (en) * 2012-12-20 2013-07-17 诸暨市供电局 Electric energy configuration method based on light WEB server
CN104486075A (en) * 2014-10-13 2015-04-01 国家电网公司 Intelligent substation ICD model file digital signature verification method
CN104461881A (en) * 2014-12-03 2015-03-25 陕西千山航空电子有限责任公司 ICD-oriented ARINC429 bus signal simulation test assembly
CN106155686A (en) * 2016-06-30 2016-11-23 华为技术有限公司 Interface creating method, device and system

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Towards a OMG DDS Communication Backbone for Factory Automation Applications;Isidro Calvo et al;《 IEEE ETFA"2011》;20111231;全文 *
基于ICD配置的航电中心测试软件自动生成方法研究;韩晓东等;《测控技术》;20111130;第30卷(第11期);全文 *
基于IEC61850的配电终端模拟器的设计和实现;辛红汪等;《电力系统通信》;20130210;第33卷(第244期);全文 *
基于中间件的动态配置容错对象管理框架;周明辉等;《计算机学报》;20050930;第28卷(第9期);全文 *

Also Published As

Publication number Publication date
CN106940642A (en) 2017-07-11

Similar Documents

Publication Publication Date Title
CN106940642B (en) Bus simulator system with dynamic ICD configuration
US7493594B2 (en) System and method for designing component based applications
EP1770510B1 (en) Executable and declarative specification for graphical user interfaces
US20060236307A1 (en) System and method for transformation of wireless application definition to simplified form
CN106980560B (en) ICD database based multi-bus protocol testing and simulating method and platform
US20060236302A1 (en) System and method for unified visualization of two-tiered applications
WO2007006127A1 (en) System and method for generating screen components
CN104063231B (en) Test resource rapid access method based on HIT-TENA
CN115543315A (en) Method and system for controlling page interaction by using data model
CN113900704A (en) Method and device for issuing application program installation package, readable medium and electronic equipment
CN117539459A (en) API interface configuration method, system and equipment
CN103678485B (en) Virtual experiment process node driving and movable packaging system
US9830204B2 (en) Facilitating communication between software components that use middleware
CN116755669A (en) Low code development method and tool based on DSL language operation model
CN115756634A (en) Database object relational mapping model establishing method, device, equipment and medium
CN114816475A (en) Method, device, equipment and medium for updating embedded operating system
CA2543898C (en) System and method for unified visualization of two-tiered applications
CN115964019A (en) Information fusion component specification method and system suitable for industrial scene
US20070112793A1 (en) Model publishing framework
WO2010097688A1 (en) System and method for the generation of applications by means of a computer network
CN116360779B (en) Method for constructing micro front end base based on qiankun in Vue CLI application
CN112653648B (en) Method and device for generating communication protocol
EP2866139A1 (en) Method facilitating the communication between two software components that use two different middleware by automatically generating a communication layer between them
CN116893817A (en) Component library construction method, device, equipment and readable storage medium
Price Design Automation and its Challenges in AUTOSAR-Based Vehicle E/E Systems

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