Software oscilloscope system and waveform data display method based on software oscilloscope
Through the multi-channel display and custom processing functions of the software oscilloscope system, the problem of the existing software oscilloscope's waveform display is not smooth in high-frequency signal processing, and efficient and flexible waveform data analysis is achieved, improving the user's operation experience.
Patent Information
- Application Number
- CN202510397590.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-01
- Publication Date
- 2025-07-18
AI Technical Summary
When existing software oscilloscopes face complex and changeable signal environments, the waveform display is not smooth, the detection accuracy is insufficient, and the processing speed is slow. Especially when processing high-frequency and high-speed signals, it is difficult to ensure the real-time, accuracy and clarity of the waveform.
Design a software oscilloscope system, including an oscilloscope module and a historical waveform redraw module, realize multi-channel real-time display, offset processing, screen clearing and custom calculation of waveform data, and adapt to different resolution display through high scaling technology, supporting user-defined operations.
It improves the display effect of waveform data, simplifies the operation process, coordinates the logical relationship between real-time oscilloscope functions and historical waveform reproduction, provides a flexible user interface, and ensures an efficient data analysis experience.
Smart Images

Figure CN120335653A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the technical field of oscilloscopes, and particularly to a software oscilloscope system and a method for displaying waveform data based on a software oscilloscope. Background Art
[0002] With the rapid development of fields such as power electronics, automation control, communication technology, and measurement technology, the demand for real-time monitoring and analysis of signals is increasing day by day. As an important test tool, a software oscilloscope can implement the functions of a traditional oscilloscope, and can display waveforms and perform calculation and analysis on signals such as voltage and current on a computer. The software oscilloscope has the advantages of high customizability and a good user interface, and can also be seamlessly docked with data acquisition devices to achieve real-time data acquisition and display.
[0003] However, when facing a complex and changing signal environment, existing software oscilloscopes often have problems such as unsmooth waveform display, insufficient detection accuracy, and slow processing speed. Especially when processing high-frequency and high-speed changing signals, how to ensure the real-time, accurate, and clear display of waveforms is the main challenge in the design of software oscilloscopes. Summary of the Invention
[0004] Embodiments of this application provide a software oscilloscope system and a method for displaying waveform data based on a software oscilloscope to improve the effect of displaying waveform data by the software oscilloscope.
[0005] Embodiments of this application adopt the following technical solutions:
[0006] In a first aspect, embodiments of this application provide a software oscilloscope system, and the software oscilloscope system includes:
[0007] An oscilloscope module, configured to save the read waveform data and display the read waveform data in multiple independent channels on an oscilloscope window in real time, and perform a first processing on the waveform data displayed in real time in response to a first operation event of a user, where the first processing includes at least one of a first offset processing, a screen clearing processing, and a custom calculation processing of the waveform data;
[0008] A historical waveform redrawing module, configured to redraw the waveform data saved by the oscilloscope module on a historical waveform redrawing window, and perform a second processing on the redrawn waveform data in response to a second operation event of a user, where the second processing includes at least one of a second offset processing, a waveform redrawing processing, and a custom calculation processing of the waveform data.
[0009] Optionally, the oscilloscope module is further configured to:
[0010] Determine whether a user triggers a waveform data saving condition;
[0011] When the user triggers the waveform data saving condition, determine whether the user triggers the waveform data display event;
[0012] When the user triggers the waveform data display event, save the read waveform data as a waveform data file and display the read waveform data in multiple independent channels in real time on the oscilloscope window;
[0013] When the user does not trigger the waveform data saving condition but triggers the waveform data display event, directly display the read waveform data in multiple independent channels in real time on the oscilloscope window.
[0014] Optionally, the oscilloscope module is further configured to:
[0015] Determine whether the file name input by the user is empty;
[0016] If the file name is not empty, prompt the user to input a file path and determine whether the file save path input by the user is empty;
[0017] If the file save path is not empty, prompt the user to select a file to save and determine whether the user confirms the selection to save the file;
[0018] If the user confirms the selection to save the file, prompt the user that the file is saved and determine that the user triggers the waveform data saving condition;
[0019] Otherwise, prompt the user that the file cannot be saved and confirm that the user does not trigger the waveform data saving condition.
[0020] Optionally, the first operation event includes at least one of a screen clearing event, an offset event, and a calculation event, and the oscilloscope module is further configured to:
[0021] In response to the user's screen clearing event, perform initialization processing on the graph window attributes of the waveform data currently displayed in the oscilloscope window and redraw the waveform data;
[0022] In response to the user's offset event, obtain the offset parameter input by the user, and perform offset drawing on the waveform data according to the offset parameter, where the offset parameter includes an offset channel and an offset amount, and the offset drawing is a one-time offset drawing;
[0023] In response to the user's calculation event, determine the calculation box and obtain the calculation parameter input by the user, and calculate the waveform data in the calculation box according to the calculation parameter.
[0024] Optionally, the oscilloscope module is further configured to:
[0025] In response to the user's calculation event, locate the mid-axis position of the waveform data to be processed;
[0026] Obtain the calculation range parameter input by the user, and determine a calculation box based on the central axis position of the waveform data to be processed and the calculation range parameter;
[0027] Obtain the calculation parameter input by the user, and perform calculations on the waveform data within the calculation box according to the calculation parameter.
[0028] Optionally, the first operation event further includes a display control event, the display control event includes at least one of a display pause event and a display stop event, and the oscilloscope module is further configured to:
[0029] In response to the user's display pause event, pause the display of the waveform data in the oscilloscope window and continue the waveform data reading process;
[0030] In response to the user's display stop event, stop the display of the waveform data in the oscilloscope window and end the waveform data reading process.
[0031] Optionally, the historical waveform redrawing module is further configured to:
[0032] In response to the historical waveform redrawing event triggered by the user on the oscilloscope window, display a historical waveform redrawing window;
[0033] Obtain the waveform data file saved by the oscilloscope module;
[0034] Determine a historical waveform redrawing strategy according to the data size in the waveform data file;
[0035] According to the historical waveform redrawing strategy, redraw the waveform data in the waveform data file in the historical waveform redrawing window.
[0036] Optionally, the historical waveform redrawing module is further configured to:
[0037] Determine whether the file size of the waveform data file is greater than a preset file size threshold;
[0038] If not, perform a one-time reading of the waveform data file, and determine whether the array length of the waveform data in the waveform data file is greater than a preset array length threshold;
[0039] If not, determine that the historical waveform redrawing strategy is a one-time redrawing strategy;
[0040] Otherwise, determine that the historical waveform redrawing strategy is a segmented redrawing strategy.
[0041] Optionally, the historical waveform redrawing module is further configured to:
[0042] When the file size of the waveform data file is greater than a preset file size threshold or the array length of the waveform data in the waveform data file is greater than a preset array length threshold, extract waveform data with a preset array length threshold from the read waveform data, and perform channel splitting and drawing display;
[0043] Perform channel splitting on all the remaining waveform data in the read waveform data, and use a time wheel for drawing display.
[0044] Optionally, the second operation event includes at least one of a waveform redrawing event, an offset event, and a calculation event, and the historical waveform redrawing module is further configured to:
[0045] In response to the user's waveform redrawing event, restore the window properties of the historical waveform redrawing window to the initialization state;
[0046] In response to the user's offset event, obtain the offset parameter input by the user, and perform offset drawing on the waveform data according to the offset parameter. The offset parameter includes an offset channel and an offset amount, and the offset drawing is an offset drawing based on a time wheel;
[0047] In response to the user's calculation event, determine a calculation box and obtain the calculation parameter input by the user, and perform calculation on the waveform data within the calculation box according to the calculation parameter.
[0048] In a second aspect, an embodiment of the present application further provides a method for displaying waveform data based on a software oscilloscope. The method for displaying waveform data is executed by a software oscilloscope system. The method for displaying waveform data based on a software oscilloscope includes:
[0049] Save the read waveform data and display the read waveform data in multiple independent channels in real time on an oscilloscope window;
[0050] In response to the user's first operation event, perform a first process on the waveform data displayed in real time. The first process includes at least one of a first offset process, a screen clearing process, and a custom calculation process of the waveform data;
[0051] Redraw the saved waveform data on a historical waveform redrawing window;
[0052] In response to the user's second operation event, perform a second process on the redrawn waveform data. The second process includes at least one of a second offset process, a waveform redrawing process, and a custom calculation process of the waveform data.
[0053] In a third aspect, an embodiment of the present application further provides a device, including:
[0054] A processor; and a memory arranged to store computer-executable instructions, which when executed cause the processor to execute the foregoing waveform data display method based on a software oscilloscope.
[0055] In a fourth aspect, an embodiment of the present application further provides a computer program product, including a computer program / instructions, which when executed by a processor implement the foregoing waveform data display method based on a software oscilloscope.
[0056] The above at least one technical solution adopted in the embodiments of the present application can achieve the following beneficial effects: The software oscilloscope system of the embodiments of the present application includes: an oscilloscope module, configured to save the read waveform data and display the read waveform data in multiple independent channels on an oscilloscope window in real time, and perform a first processing on the waveform data displayed in real time in response to a first operation event of the user, the first processing including at least one of a first offset processing, a screen clearing processing, and a custom calculation processing of the waveform data; a historical waveform redrawing module, configured to redraw the waveform data saved by the oscilloscope module on a historical waveform redrawing window, and perform a second processing on the redrawn waveform data in response to a second operation event of the user, the second processing including at least one of a second offset processing, a waveform redrawing processing, and a custom calculation processing of the waveform data. The software oscilloscope system of the present application can read signals such as voltage and current generated during the operation of an energy storage device, and meet the display requirements of various signal data of an energy storage converter system through the configured multiple independent channels. The architecture of the software oscilloscope system designed in the present application greatly facilitates the operation of the user, simplifies the complex operation process, and cleverly coordinates the logical relationship between the real-time oscilloscope function and the historical waveform reproduction, ensuring that the user can enjoy a smooth and efficient operation interface when backtracking and analyzing waveform data. In addition, the system also supports the user to perform custom processing of waveform data according to actual needs, showing a high degree of flexibility and user autonomy. BRIEF DESCRIPTION OF THE DRAWINGS
[0057] The drawings described herein are used to provide a further understanding of the present application, and constitute a part of the present application. The schematic embodiments of the present application and their descriptions are used to explain the present application, and do not constitute an improper limitation to the present application. In the drawings:
[0058] Figure 1 is a schematic diagram of the principle of a software oscilloscope system in an embodiment of the present application;
[0059] Figure 2 is a schematic diagram of the layout of an oscilloscope window in an embodiment of the present application;
[0060] Figure 3 is a schematic diagram of the working process of an oscilloscope module in an embodiment of the present application;
[0061] Figure 4 Schematic diagram of the file saving process of an oscilloscope module in an embodiment of the present application;
[0062] Figure 5 Schematic diagram of an offset processing process and display effect in an embodiment of the present application;
[0063] Figure 6 Schematic diagram of a custom calculation process and display effect in an embodiment of the present application;
[0064] Figure 7 Schematic diagram of the working process of a historical waveform redrawing module in an embodiment of the present application;
[0065] Figure 8 Schematic diagram of the layout of a historical waveform redrawing window in an embodiment of the present application;
[0066] Figure 9 Schematic diagram of the working process of another historical waveform redrawing module in an embodiment of the present application. Detailed implementation manners
[0067] To make the objectives, technical solutions and advantages of the present application clearer, the technical solutions of the present application will be clearly and completely described below in conjunction with specific embodiments of the present application and the corresponding drawings. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. All other embodiments obtained by those of ordinary skill in the art based on the embodiments in the present application without creative efforts shall fall within the protection scope of the present application.
[0068] The following details the technical solutions provided by each embodiment of the present application in conjunction with the drawings.
[0069] Under the grand background of the rapid development of power technology, the development of smart grids has put forward higher requirements for the measurement and monitoring of grid-connected equipment. This poses more stringent requirements for measurement and testing technologies and their equipment. As the complexity of grid-connected equipment continues to increase, the test tools required to test these systems must also have more powerful functions. In this context, the software oscilloscope, as a core measurement tool, has become increasingly important.
[0070] The basic function of a software oscilloscope is to receive time-domain signals, measure and calculate relevant parameters of these signals, and visually display them on the screen in the form of waveform images. However, with the continuous expansion and deepening of test requirements, these basic functions are no longer sufficient to meet the complex requirements in actual work. Therefore, digital oscilloscopes are constantly pursuing breakthroughs in key performance indicators such as sampling rate, bandwidth, and storage depth in order to achieve higher test accuracy and a larger test range.
[0071] In terms of the analysis ability of signal waveforms, existing software oscilloscopes mainly analyze and process the acquired signals through built-in signal processing algorithms. These algorithms can extract key features of the signals, such as frequency, amplitude, phase, etc., thus helping users better understand and analyze the signals. However, with the increasingly rich testing requirements of users, such as the requirement to accurately analyze complex modulation signals and effectively detect weak signals, the existing signal processing algorithms and waveform analysis capabilities are stretched thin.
[0072] In scenarios with high real-time requirements, software oscilloscopes need to quickly acquire, process, and display waveform data to ensure that users can immediately observe the dynamic changes of the signals. When dealing with high-frequency sampling data, the existing technical frameworks often struggle to balance real-time display while also achieving high-quality data processing and complex waveform analysis capabilities. This trade-off not only limits the application scope of the oscilloscopes but also affects users' trust in the accuracy and reliability of the test results. Additionally, in terms of the user interface and interaction experience, existing software oscilloscopes also have problems that cannot be ignored. The operation interfaces of some oscilloscopes are designed too complexly, with numerous function buttons and setting options, which requires users to spend a lot of time getting familiar with and mastering them. This unfriendly operation experience not only increases the learning cost for users but may also lead to misoperations during actual testing, affecting the accuracy of the test results. At the same time, the lack of intuitiveness in the interface is also one of the common problems of existing software oscilloscopes. Users often need to go through multiple levels or steps to find the required functions or settings, which not only reduces work efficiency but also easily makes users feel confused and inconvenient during operation.
[0073] To address these challenges, this application aims to propose a new implementation scheme for software oscilloscopes. This scheme not only makes breakthroughs in traditional performance indicators but also achieves a significant improvement in the analysis ability of signal waveforms. By introducing advanced signal processing technologies and algorithms, this scheme can more effectively analyze and process complex signals, meeting the growing testing requirements of users.
[0074] Specifically, the embodiment of the present application provides a software oscilloscope system, and the software oscilloscope system includes: an oscilloscope module, configured to save the read waveform data and display the read waveform data in real time on an oscilloscope window through multiple independent channels, and perform a first processing on the waveform data displayed in real time in response to a first operation event of a user, where the first processing includes at least one of a first offset processing, a screen clearing processing, and a custom calculation processing of the waveform data; a historical waveform redrawing module, configured to redraw the waveform data saved by the oscilloscope module on a historical waveform redrawing window, and perform a second processing on the redrawn waveform data in response to a second operation event of the user, where the second processing includes at least one of a second offset processing, a waveform redrawing processing, and a custom calculation processing of the waveform data.
[0075] Combined with Figure 1 , a schematic diagram of the principle of a software oscilloscope system in the embodiment of the present application is provided. The software oscilloscope system in the embodiment of the present application mainly includes an oscilloscope module and a historical waveform redrawing module. The oscilloscope module is mainly used for waveform data saving and real-time waveform display. In software testing and measurement, if detailed processing of data such as waveforms is required, operations still need to be performed on the original data. Because of the high requirement for real-time performance, the oscilloscope window will discard some data details. Saving the original data and analyzing the original data can reveal more details in the waveform.
[0076] The historical waveform redrawing module is mainly used for reproducing the data saved by the former or the data read in real time. In addition, both modules can perform waveform processing operations such as waveform data offset, screen clearing, and custom calculation. The two modules can share a set of processing operation architectures, but there are differences in the logic of some waveform processing operations.
[0077] To meet diverse signal monitoring requirements, the software oscilloscope system in the embodiment of the present application also designs multiple independent data channels, and each channel can accurately display its corresponding waveform data. The number of channels is set based on project needs, that is, the number of channels can be set according to the data to be displayed in the project.
[0078] The architecture of the software oscilloscope system designed in the present application greatly facilitates the operation of the user, simplifies the complex operation process, and cleverly coordinates the logical relationship between the real-time oscilloscope function and the historical waveform reproduction, ensuring that the user can enjoy a smooth and efficient operation interface when recalling and analyzing waveform data. In addition, the system also supports the user to perform custom processing of waveform data according to actual needs, showing a high degree of flexibility and user autonomy.
[0079] In some embodiments of the present application, in order to ensure clear and delicate waveform images can be presented under different resolutions and display settings, high-scaling technology can also be enabled in the system. High-scaling technology is a technology used to improve the display effect of applications on high-resolution display devices, and it can intelligently adjust the rendering details of waveform images according to the resolution and scaling settings of the current display device.
[0080] The software oscilloscope is different from the hardware oscilloscope. Since the hardware oscilloscope is fixed, its display resolution is not affected. However, the software oscilloscope can be applied to different display devices. If high-scaling technology is not applied, running the software oscilloscope on a high-resolution display will cause the edges of the waveform to be blurred, which is not conducive to observing waveform details. Applying high-scaling technology can automatically adjust and render waveform details according to different display resolutions, thereby improving the display effect.
[0081] For the convenience of understanding the above embodiments, as Figure 2 shown, a schematic diagram of the layout of an oscilloscope window in an embodiment of the present application is provided. The window of the software oscilloscope system in the embodiment of the present application mainly realizes seven major functions: 1) Program running control function, used to start, pause, and terminate the execution of the program; 2) File saving function, covering file name editing, saving path setting, and file saving operation check box; 3) Screen cleaning function, used to clear the current displayed content; 4) Historical waveform display function, used to review and display the waveform data recorded in the past; 5) Waveform offset adjustment function, including channel selection items and offset input fields, so that users can accurately adjust the waveform according to their needs; 6) Calculation and analysis function, this module integrates a waveform selection tool, range setting options, calculation parameter selection, calculation execution button, and calculation result display area; 7) Configuration information panel function, this panel integrates real-time prompt boxes for device status information, thread running information, and file attribute information, etc.
[0082] In some embodiments of the present application, the oscilloscope module is further configured to: determine whether the user triggers the waveform data saving condition; in the case where the user triggers the waveform data saving condition, determine whether the user triggers the waveform data display event; in the case where the user triggers the waveform data display event, save the read waveform data as a waveform data file and display the read waveform data in multiple independent channels in real time on the oscilloscope window; in the case where the user does not trigger the waveform data saving condition but triggers the waveform data display event, directly display the read waveform data in multiple independent channels in real time on the oscilloscope window.
[0083] Combined with Figure 3, a schematic diagram of the working process of an oscilloscope module in an embodiment of the present application is provided. When the software oscilloscope system is enabled, the system makes multiple judgments and identifications and responds to whether the current user operation involves the need to save an oscilloscope file. For example, it can include judgments on whether the user has entered a file name, file path, and whether the user has confirmed the selection of the save file, etc., and gradually determines whether the user has the need to save waveform data according to the user's operation. After the user clicks the start button, the system immediately enters the data graphical display stage, and the corresponding graph can be located and displayed by clicking the legend on the oscilloscope window.
[0084] The oscilloscope module of the embodiment of the present application provides a more flexible and personalized operation experience by allowing the user to select whether to save waveform data according to the need and displaying the waveform data in real time when needed. The oscilloscope module can intelligently process data according to user instructions and preset conditions, avoiding unnecessary operations, thereby improving the data processing efficiency.
[0085] In some embodiments of the present application, the oscilloscope module is further configured to: determine whether the file name entered by the user is empty; if the file name is not empty, prompt the user to enter the file path and determine whether the file save path entered by the user is empty; if the file save path is not empty, prompt the user to select the save file and determine whether the user confirms the selection of the save file; if the user confirms the selection of the save file, prompt the user that the file has been saved and determine that the user has triggered the waveform data save condition; otherwise, prompt the user that the file cannot be saved and confirm that the user has not triggered the waveform data save condition.
[0086] Combined with Figure 4 , a schematic diagram of the file save process of an oscilloscope module in an embodiment of the present application is provided. This process ensures the accuracy and integrity of the file save operation through three core judgment links. First, the system checks whether the file name is empty. If it is empty, it immediately prompts similar information such as "The file name is empty and the file cannot be saved", and activates the locking function to prevent the user from proceeding to the subsequent steps. If the file name has been correctly entered, it will enter the second judgment stage, unlock the file path setting, and verify whether the file path is empty. If the user has not specified the file storage location, the system will give another clear prompt, such as "The path has not been set and the file cannot be saved" and other similar information, and maintain the locked state of the save file check box. Finally, when the user has successfully set the file name and path, the option of the save file check box will be unlocked, and the third judgment link will be entered to confirm whether the user has checked the save file. If checked, the save operation will be immediately executed, and similar information such as "The file save is about to continue" can be prompted; if not checked, prompt similar information such as "The save file has not been checked and the file cannot be saved".
[0087] Whether to save the next oscilloscope data can be determined by whether the file name and save path are input and by selecting the saved file. Moreover, corresponding information guidance is provided for each operation step. When an incorrect operation occurs, a pop-up window will appear to prompt the user, enabling them to know the result of each operation step and enhancing the user's operation experience. Additionally, through multiple-step verification and confirmation, the oscilloscope module ensures that the file is only saved when the user truly intends to do so, guaranteeing the accuracy and correctness of file saving.
[0088] Of course, it should be noted that those skilled in the art can flexibly adjust the above file saving process according to requirements. For example, it is also possible to first determine whether the user has input the file save path and then determine whether the file name has been input.
[0089] In some embodiments of the present application, the first operation event includes at least one of a screen clearing event, an offset event, and a calculation event. The oscilloscope module is further configured to: in response to the user's screen clearing event, perform initialization processing on the graph window attributes of the waveform data currently displayed in the oscilloscope window and redraw the waveform data; in response to the user's offset event, obtain the offset parameter input by the user, and perform offset drawing on the waveform data according to the offset parameter, where the offset parameter includes an offset channel and an offset amount, and the offset drawing is a one-time offset drawing; in response to the user's calculation event, determine the calculation box and obtain the calculation parameter input by the user, and perform calculations on the waveform data within the calculation box according to the calculation parameter.
[0090] The oscilloscope module of the embodiments of the present application supports the user to perform screen clearing processing on the data displayed on the oscilloscope window. As in the foregoing embodiments, the user can switch the display and hiding of the waveform by clicking the legend in the oscilloscope window. However, after a long time of debugging, the oscilloscope window often accumulates and displays a large number of complex waveforms. If it is rather cumbersome to achieve the screen clearing effect by clicking each legend, therefore, the oscilloscope module of the embodiments of the present application sets a "screen clearing" button in the oscilloscope window. By clicking the "screen clearing" button, the user can initialize the graph window attributes and redraw the waveform.
[0091] The oscilloscope module of the embodiments of the present application also supports the user to perform offset processing on the waveform data. Combining Figure 5, a schematic diagram of an offset processing flow and display effect in an embodiment of the present application is provided. The process starts with the user selecting the channel for which the offset operation needs to be performed, that is, the waveform curve to be offset, and then entering an appropriate offset value, which will be directly applied to the vertical direction of the waveform data of the selected channel to achieve the up and down movement of the waveform. After determining the parameters of the offset operation, the specific drawing method will also be determined according to the type of the current window. For the oscilloscope window, since its original design purpose is to display real-time signal waveforms with relatively small data volume, a one-time drawing method is adopted. In the historical waveform redrawing window, due to the large amount of data to be processed, one-time drawing will cause drawing delay. Therefore, the process selects a segmented drawing method. Through offset processing, even the originally overlapping waveforms can be effectively separated, thereby improving the accuracy and clarity of waveform observation.
[0092] The oscilloscope module of the embodiment of the present application also supports users to perform custom calculations on waveform data, that is, allows users to flexibly select the data range to be calculated by box selection according to actual needs and select the corresponding parameter type for calculation, showing a high degree of flexibility and user autonomy.
[0093] In some embodiments of the present application, the oscilloscope module is further configured to: in response to a user's calculation event, locate the mid-axis position of the waveform data to be processed; obtain the calculation range parameter input by the user, and determine a calculation box according to the mid-axis position of the waveform data to be processed and the calculation range parameter; obtain the calculation parameter input by the user, and calculate the waveform data within the calculation box according to the calculation parameter.
[0094] Combined with Figure 6 , a schematic diagram of a custom calculation process and display effect in an embodiment of the present application is provided. The process starts with clicking the "box selection" function button to accurately locate the mid-axis position of the data to be processed. Subsequently, a range value needs to be input to define the box selection area for subsequent analysis. On this basis, the parameter type to be calculated needs to be selected from the preset options, and click calculate, and the system will automatically trigger the calculation process. Finally, the calculation result will be real-time fed back to Figure 2 the parameter display box shown, presenting the channel information, the selected parameter type, and the calculated result information.
[0095] The calculation ability of the software oscilloscope system of the embodiment of the present application shows a high degree of flexibility and user autonomy, allowing users to freely select the area, range to be calculated, and the characteristic parameters to be extracted according to actual needs. In addition, the system not only supports static calculations in the pause or stop state, but also can perform real-time dynamic calculations during the waveform operation, ensuring the instant analysis and response to data, thereby greatly improving the calculation efficiency and practicality.
[0096] In some embodiments of the present application, the first operation event further includes a display control event, and the display control event includes at least one of a display pause event and a display stop event. The oscilloscope module is further configured to: in response to a user's display pause event, pause the display of waveform data in the oscilloscope window and continue the waveform data reading process; in response to a user's display stop event, stop the display of waveform data in the oscilloscope window and end the waveform data reading process.
[0097] The software oscilloscope system of the embodiments of the present application also supports the user's factual and dynamic control of the waveform data display process, and the user can flexibly control the waveform data display process according to needs.
[0098] For example, when the user clicks the "Pause" button on the window, the waveform can be paused for display so as to more carefully observe the currently captured characteristic waveform, and the data reading process in the background during the pause is not affected. In this way, the user can not only focus on analyzing the waveform features of current interest, but also need not worry about the impairment of data real-time performance due to the pause of display. Once the observation of the characteristic waveform is completed, the user can resume the dynamic display of the waveform at any time and continue to track the real-time changes of the signal;
[0099] For another example, when the user has successfully captured the required waveform features, just click the "Stop" button to end the oscilloscope module process. Different from the above "Pause" function, the "Stop" button will trigger a complete process termination mechanism, which not only immediately stops the dynamic display of the waveform, but also cuts off the data reading process to ensure the reasonable release of system resources.
[0100] By providing the functions of display pause and display stop, the user can more flexibly control the display behavior of the oscilloscope window. When the user needs to carefully analyze the waveform data in a certain time period, the display can be paused for careful observation; when the user no longer needs to continue monitoring the waveform data, the display can be stopped to save system resources.
[0101] In some embodiments of the present application, the historical waveform redrawing module is further configured to: in response to a historical waveform redrawing event triggered by the user on the oscilloscope window, display a historical waveform redrawing window; obtain the waveform data file saved by the oscilloscope module; determine a historical waveform redrawing strategy according to the data size in the waveform data file; and redraw the waveform data in the waveform data file in the historical waveform redrawing window according to the historical waveform redrawing strategy.
[0102] Combined with Figure 7, a schematic diagram of the workflow of a historical waveform redrawing module in an embodiment of the present application is provided. The user can click the "Historical Waveform" function button in the oscilloscope window, and the system immediately responds to the historical waveform redrawing event triggered by the user and enters the window interface for historical waveform redrawing. After the user successfully enters the historical waveform redrawing window, the primary task is to select and open a historical waveform file for subsequent analysis. If the file to be opened is the file saved last time, the system will automatically apply the "memory path" function, that is, the path where the file was saved last time is defaultly displayed. If the file to be opened is located in other paths, the user can browse the file. In addition, the historical waveform redrawing module can not only reproduce the historical waveform, but also perform interactive operations and calculation analysis on the waveform data like the oscilloscope module.
[0103] Before redrawing the historical waveform file, the historical waveform redrawing module will also determine a suitable historical waveform redrawing strategy according to the data size in the data file, such as information like file size and data length. The historical waveform redrawing strategy here mainly includes an all-at-once redrawing strategy and a segmented redrawing strategy. The all-at-once redrawing strategy reads the data all at once and completes the drawing, and the segmented redrawing strategy reads the data in segments and completes the drawing in segments. Since the data volume in the historical waveform redrawing stage may be much larger than that in the oscilloscope stage, designing different historical waveform redrawing strategies is mainly to meet the redrawing requirements and redrawing effects for large-volume waveform data in the historical redrawing stage.
[0104] By providing the historical waveform redrawing function, the user can conveniently view the waveform data collected previously, which is very useful for scenarios such as data analysis, fault troubleshooting, or historical record viewing, and helps improve user satisfaction and convenience. The historical waveform redrawing module can determine a suitable redrawing strategy according to factors such as data size, so as to ensure that the waveform data is clearly and accurately displayed in the historical waveform redrawing window, helping the user better understand the data characteristics, trends, and abnormal points.
[0105] For the convenience of understanding the above embodiments, as Figure 8 shown, a schematic diagram of the layout of a historical waveform redrawing window in an embodiment of the present application is provided. The access entrance of this window is located at the "Historical Waveform" button in the oscilloscope window. Once entering the historical waveform redrawing window, just open the corresponding file, and the historical waveform data can be clearly displayed in the window. At the same time, an offset module is also configured in the historical waveform redrawing window to achieve comparative observation of channel data; a calculation module, where the calculation range is selected by frame selection and the parameter type is selected for calculation; and an information panel to display the system status and provide operation guidance.
[0106] It should be noted that in the embodiments of the present application, only an entry to enter the historical waveform redrawing window is set through the "Historical Waveform" button located within the oscilloscope window, so as to ensure that only one historical waveform redrawing window can be opened each time, ensuring the uniqueness of the window and the uniqueness of the operation of saving file data.
[0107] In some embodiments of the present application, the historical waveform redrawing module is further configured to: determine whether the file size of the waveform data file is greater than a preset file size threshold; if not, read the waveform data file at one time, and determine whether the array length of the waveform data in the waveform data file is greater than a preset array length threshold; if not, determine that the historical waveform redrawing strategy is a one-time redrawing strategy; otherwise, determine that the historical waveform redrawing strategy is a segmented redrawing strategy.
[0108] As Figure 9 shown, a schematic diagram of the working process of another historical waveform redrawing module in the embodiments of the present application is provided. Before attempting to open a file, the system will first judge the size of the file. If the file is too large, it will cause a long time to open the file, easily cause the system to freeze for a long time, and even cause data loss. Therefore, when the file size is less than the set range (such as 500MB), the file is read at one time. When the file is greater than 500MB, the file is read in segments, the large file is split into multiple smaller data blocks, and they are loaded into the program array one by one;
[0109] When the file is less than the set range, further judge the array size in the file. If the array length is less than the set range (such as 100,000 data points), determine that the historical waveform redrawing strategy is a one-time redrawing strategy. When the array length is greater than the set range, if a one-time drawing is still performed at this time, the time required to split all data by channels is relatively long, and directly drawing all the split data at one time has a large amount of data and takes a long time, and even causes the system to crash. Therefore, when the system judges that the data length is greater than the set range, determine that the historical waveform redrawing strategy is a segmented redrawing strategy. When the file is greater than 500MB, there is no need to judge the array length, and its subsequent processing directly executes the logic of the segmented redrawing strategy.
[0110] By judging and selecting an appropriate redrawing strategy according to the file size and array length, the historical waveform redrawing module can make more effective use of system resources, help avoid system overload or performance degradation when processing large waveform data files, optimize resource utilization, and ensure that users can obtain a good usage experience in different scenarios.
[0111] In some embodiments of the present application, the historical waveform redrawing module is further configured to: when the file size of the waveform data file is greater than a preset file size threshold or the array length of the waveform data in the waveform data file is greater than a preset array length threshold, extract waveform data with a preset array length threshold from the read waveform data, perform channel splitting and drawing display; perform channel splitting on all the remaining waveform data in the read waveform data, and use a time wheel for drawing display.
[0112] Continue to refer to Figure 9 , based on the segmented drawing strategy, first extract data points within a set range (such as the first 100,000) from the read data for channel splitting and drawing. This step aims to enable the user to see the initial form of the historical waveform in the first place. Secondly, perform channel splitting on all the remaining data. Finally, use a time wheel for drawing. The time wheel is essentially a timer, that is, set the timing time, and draw a graph every how long. This can not only ensure that the previous historical waveform data is presented to the user for analysis, but also ensure that the subsequent data is being updated, shortening the time required for drawing.
[0113] In some embodiments of the present application, the second operation event includes at least one of a waveform redrawing event, an offset event, and a calculation event. The historical waveform redrawing module is further configured to: in response to the user's waveform redrawing event, restore the window attribute of the historical waveform redrawing window to the initialization state; in response to the user's offset event, obtain the offset parameter input by the user, and perform offset drawing on the waveform data according to the offset parameter. The offset parameter includes an offset channel and an offset amount, and the offset drawing is an offset drawing based on a time wheel; in response to the user's calculation event, determine the calculation box and obtain the calculation parameter input by the user, and perform calculation on the waveform data in the calculation box according to the calculation parameter.
[0114] The historical waveform redrawing module of the embodiments of the present application also supports the user to clear the screen of the data displayed on the historical waveform redrawing window. In the historical waveform redrawing window, when the user faces numerous waveform images, in order to provide a clearer and neater observation environment, a "waveform redrawing" button is also added. However, different from the "clear screen" button in the oscilloscope window, at this time, clicking this button will no longer trigger the redrawing of waveform data, but restore the attribute setting of the window to the initialization state.
[0115] The main consideration for setting this is that during the oscilloscope display process, the waveform drawn is only the waveform at the current time, with a small amount of data and convenient for redrawing. However, in the historical waveform redrawing window, the amount of data is large. If the entire data is to be redrawn for the waveform, it takes a long time and is not conducive to user observation. Restoring the figure window property settings to the initial state can achieve the same effect as redrawing the waveform in the recording window, but it takes less time than redrawing the waveform.
[0116] The historical waveform redrawing module of the embodiment of the present application also supports the user to perform offset processing on the data displayed in the historical waveform redrawing window. In the historical waveform redrawing window, in order to meet the user's need to observe multiple waveforms simultaneously in the same window and ensure the clarity and distinguishability between waveforms, a waveform offset function is specifically set. This function is similar to the waveform offset in the oscilloscope window, but there are differences in the implementation details. The offset in the oscilloscope window is a one-time drawing, while the amount of data in the historical waveform redrawing window is large. Therefore, the drawing after offset is set as a time wheel drawing to better adapt to the characteristics of large amount of data and complex processing in the historical waveform window.
[0117] The historical waveform redrawing module of the embodiment of the present application also supports the user to perform custom calculations on the data displayed in the historical waveform redrawing window. In the historical waveform redrawing window, a calculation function is also set, and this function is consistent with the calculation function in the oscilloscope window in essence. The calculation range is determined by selecting the position of the central axis and the box range, and finally the calculation is performed by selecting parameters.
[0118] In summary, the key points and technical effects achieved by the present application mainly include:
[0119] 1) The software oscilloscope system designed in the present application can read signals such as voltage and current generated by the energy storage device during operation transmitted by the underlying communication module on the upper computer, and is equipped with multiple independent channels for display, which can meet the display of parameters such as the bus voltage, output current, CT current, and active and reactive power of the energy storage converter system.
[0120] 2) The program architecture of the software oscilloscope system designed in the present application is extremely user-friendly, greatly facilitating the user's operation experience, providing intuitive operation guidance for the user, simplifying complex processes, and skillfully coordinating the logical relationship between the recording function and the historical waveform reproduction, ensuring that the user can enjoy a smooth and efficient operation interface when tracing and analyzing waveform data.
[0121] 3) The software oscilloscope system designed in this application can simultaneously receive data from multiple independent channels and perform real-time monitoring and high-definition display on the screen. This system further has the ability to efficiently store a large dataset from multiple independent channels. Through actual test verification, when continuously saving the data volume for 1 hour, the memory occupancy of the saved file is approximately 2GB. At the same time, by opening the file for detailed verification, this system demonstrates the performance of short time consumption and accurate data when saving large-scale data.
[0122] 4) The computing ability of the software oscilloscope system designed in this application shows a high degree of flexibility and user autonomy, allowing users to freely select the area, range to be calculated, and the characteristic parameters to be extracted according to actual needs. It not only supports static calculation in the paused or stopped state, but also can achieve real-time dynamic calculation during the waveform operation, ensuring instant analysis and response to data, thereby greatly improving the computing efficiency and practicality.
[0123] 5) When the software oscilloscope system designed in this application reproduces historical waveforms, it adopts a dual splitting system. This design enables the system to correctly read 2G of data volume in a short time, while shortening the data processing and drawing time, and further improving the efficiency and accuracy of waveform reproduction.
[0124] The embodiment of this application also provides a method for displaying waveform data based on a software oscilloscope. The method for displaying the waveform data is executed by the software oscilloscope system. The method for displaying waveform data based on a software oscilloscope includes the following steps S1010 to step S1040:
[0125] Step S1010, save the read waveform data and display the read waveform data in multiple independent channels on the oscilloscope window in real time;
[0126] Step S1020, perform a first processing on the waveform data displayed in real time in response to the user's first operation event. The first processing includes at least one of the first offset processing, screen clearing processing, and custom calculation processing of the waveform data;
[0127] Step S1030, redraw the saved waveform data on the historical waveform redrawing window;
[0128] Step S1040, perform a second processing on the redrawn waveform data in response to the user's second operation event. The second processing includes at least one of the second offset processing, waveform redrawing processing, and custom calculation processing of the waveform data.
[0129] It can be understood that the above-described waveform data display method based on a software oscilloscope can be executed by the software oscilloscope system provided in the foregoing embodiments. The relevant explanations regarding the software oscilloscope system are applicable to the waveform data display method based on a software oscilloscope, and will not be elaborated herein.
[0130] In general, the various embodiments of the present application can be implemented in hardware or a dedicated circuit, software, logic, or any combination thereof. Some aspects can be implemented in hardware, while other aspects can be implemented in firmware or software, which can be executed by a controller, a microprocessor, or other computing devices. Although the various aspects of the embodiments of the present disclosure are shown and described as block diagrams, flowcharts, or using some other graphical representation, it should be understood that the blocks, devices, systems, techniques, or methods described herein can be implemented as, by way of non-limiting example, hardware, software, firmware, a dedicated circuit or logic, general hardware or a controller or other computing devices, or some combination thereof.
[0131] It should be noted that although the embodiments of the present application are described above in conjunction with the accompanying drawings respectively, the above embodiments are not independent of each other, and they can also be combined to obtain other embodiments. The manners, situations, categories, and the division of the embodiments in the embodiments of the present application are only for the convenience of description and should not constitute a special limitation. The features in various manners, categories, situations, and embodiments can be combined with each other under logical conditions. The various embodiments of the present application can be combined arbitrarily to achieve different technical effects. The embodiments of the present application will no longer list various combinations.
[0132] In addition, although the operations of the method of the present disclosure are described in a specific order in the drawings, this does not require or imply that these operations must be performed in that specific order, or that all of the illustrated operations must be performed to achieve the desired result. On the contrary, the steps depicted in the flowchart can be changed in the order of execution. Additionally or alternatively, some steps can be omitted, multiple steps can be combined into one step for execution, and / or one step can be decomposed into multiple steps for execution. It should also be noted that the features and functions of two or more devices according to the present disclosure can be embodied in one device. Conversely, the features and functions of one device described above can be further divided and embodied by multiple devices.
[0133] It should also be noted that the term "comprising", "including" or any other variant thereof is intended to cover a non-exclusive inclusion, such that a process, method, commodity or device comprising a series of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, commodity or device. Without further limitation, an element defined by the phrase "comprising a..." does not exclude the presence of additional identical elements in the process, method, commodity or device comprising the element.
[0134] The above are only embodiments of the present application and are not intended to limit the present application. For those skilled in the art, various changes and modifications can be made to the present application. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included within the scope of the claims of the present application.
Claims
1. A software oscilloscope system, characterized in that, The software oscilloscope system includes: An oscilloscope module, which is used to save the read waveform data and display the read waveform data in multiple independent channels in real time on an oscilloscope window, and perform a first processing on the waveform data displayed in real time in response to a first operation event of the user. The first processing includes at least one of a first offset processing, a screen clearing processing, and a custom calculation processing of the waveform data; A historical waveform redrawing module, which is used to redraw the waveform data saved by the oscilloscope module on a historical waveform redrawing window, and perform a second processing on the redrawn waveform data in response to a second operation event of the user. The second processing includes at least one of a second offset processing, a waveform redrawing processing, and a custom calculation processing of the waveform data.
2. The software oscilloscope system according to claim 1, wherein The oscilloscope module is further used for: Determine whether the user triggers a waveform data saving condition; When the user triggers the waveform data saving condition, determine whether the user triggers a waveform data display event; When the user triggers the waveform data display event, save the read waveform data as a waveform data file and display the read waveform data in multiple independent channels in real time on the oscilloscope window; When the user does not trigger the waveform data saving condition but triggers the waveform data display event, directly display the read waveform data in multiple independent channels in real time on the oscilloscope window.
3. The software oscilloscope system according to claim 2, wherein The oscilloscope module is further used for: Determine whether the file name input by the user is empty; If the file name is not empty, prompt the user to input a file path and determine whether the file save path input by the user is empty; If the file save path is not empty, prompt the user to select a file to save and determine whether the user confirms the selection to save the file; If the user confirms the selection to save the file, prompt the user that the file is saved and determine that the user triggers the waveform data saving condition; Otherwise, prompt the user that the file cannot be saved and confirm that the user does not trigger the waveform data saving condition.
4. The software oscilloscope system according to claim 1, wherein The first operation event includes at least one of a screen clearing event, an offset event, and a calculation event. The oscilloscope module is further used for: In response to the user's screen clearing event, perform an initialization processing on the window attributes of the oscilloscope window for the waveform data currently displayed, and redraw the waveform data; In response to the user's offset event, obtain the offset parameter input by the user, and perform offset drawing on the waveform data according to the offset parameter. The offset parameter includes an offset channel and an offset amount, and the offset drawing is a one-time offset drawing; In response to the user's calculation event, determine a calculation box and obtain the calculation parameter input by the user, and perform a calculation on the waveform data within the calculation box according to the calculation parameter.
5. The software oscilloscope system according to claim 4, wherein The oscilloscope module is further used for: In response to the user's calculation event, locate the central axis position of the waveform data to be processed; Obtain the calculation range parameter input by the user, and determine a calculation box according to the central axis position of the waveform data to be processed and the calculation range parameter; Obtain the calculation parameter input by the user, and perform a calculation on the waveform data within the calculation box according to the calculation parameter.
6. The software oscilloscope system according to claim 1, wherein The first operation event further includes a display control event, and the display control event includes at least one of a display pause event and a display stop event. The oscilloscope module is further used for: In response to the user's display pause event, pause the display of the waveform data in the oscilloscope window and continue the waveform data reading process; In response to the user's display stop event, stop the display of the waveform data in the oscilloscope window and end the waveform data reading process.
7. The software oscilloscope system according to claim 1, wherein The historical waveform redrawing module is further configured to: In response to the historical waveform redrawing event triggered by the user on the oscilloscope window, display the historical waveform redrawing window; Obtain the waveform data file saved by the oscilloscope module; Determine the historical waveform redrawing strategy according to the data size in the waveform data file; According to the historical waveform redrawing strategy, redraw the waveform data in the waveform data file in the historical waveform redrawing window.
8. The software oscilloscope system according to claim 7, characterized in that The historical waveform redrawing module is further configured to: Determine whether the file size of the waveform data file is greater than a preset file size threshold; If not, perform a one-time read of the waveform data file and determine whether the array length of the waveform data in the waveform data file is greater than a preset array length threshold; If not, determine that the historical waveform redrawing strategy is a one-time redrawing strategy; Otherwise, determine that the historical waveform redrawing strategy is a segmented redrawing strategy.
9. The software oscilloscope system according to claim 8, wherein The historical waveform redrawing module is further configured to: In the case where the file size of the waveform data file is greater than the preset file size threshold or the array length of the waveform data in the waveform data file is greater than the preset array length threshold, extract the waveform data of the preset array length threshold from the read waveform data, and perform channel splitting and drawing display; Perform channel splitting on all the remaining waveform data in the read waveform data, and use a time wheel for drawing display.
10. The software oscilloscope system according to claim 1, wherein The second operation event includes at least one of a waveform redrawing event, an offset event, and a calculation event, and the historical waveform redrawing module is further configured to: In response to the user's waveform redrawing event, restore the window properties of the historical waveform redrawing window to the initial state; In response to the user's offset event, obtain the offset parameter input by the user, and perform offset drawing on the waveform data according to the offset parameter, where the offset parameter includes an offset channel and an offset amount, and the offset drawing is an offset drawing based on a time wheel; In response to the user's calculation event, determine the calculation box and obtain the calculation parameter input by the user, and perform calculation on the waveform data in the calculation box according to the calculation parameter.
11. A waveform data display method based on a software oscilloscope, characterized in that, The method for displaying waveform data is executed by a software oscilloscope system, and the method for displaying waveform data based on a software oscilloscope includes: Save the read waveform data and display the read waveform data in multiple independent channels in real time on the oscilloscope window; Perform a first processing on the waveform data displayed in real time in response to the user's first operation event, where the first processing includes at least one of a first offset processing, a screen clearing processing, and a custom calculation processing of the waveform data; Redraw the saved waveform data on the historical waveform redrawing window; Perform a second processing on the redrawn waveform data in response to the user's second operation event, where the second processing includes at least one of a second offset processing, a waveform redrawing processing, and a custom calculation processing of the waveform data.
Citation Information
Cited By
Waveform data processing method and device and storage medium
CN120580317A