Cooperative Control System, Method, Device and Medium for Combined Motion Motor

Through the collaborative control system of the combined motion motor, the problems of collaborative motion and two-dimensional scanning of multiple motors in the prior art are solved, and a safe and efficient NanoARPES experiment is achieved.

CN115933759BActive Publication Date: 2025-07-25SHANGHAI TECH UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211603922.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-13
Publication Date
2025-07-25
Estimated Expiration
2042-12-13

AI Technical Summary

Technical Problem

The existing control software cannot control the coordinated movement of multiple motors at the same time, cannot achieve two-dimensional scanning and focusing, and lacks collision protection functions, resulting in the NanoARPES experiment not being carried out normally.

Method used

It provides a collaborative control system for combined motion motors, including a motor control module and a space scanning module. The motor and ARPES analyzer are controlled through the packaging module, and the collaborative motion and two-dimensional scanning of multiple motors are realized, soft limits are set to prevent collisions, and visual interface and history recording functions are provided.

Benefits of technology

The coordinated control of multiple motors is realized, which improves the safety and efficiency of the experiment, provides two-dimensional scanning capabilities and focus functions, reduces collision risks, and simplifies experimental operations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115933759B_ABST
    Figure CN115933759B_ABST
Patent Text Reader

Abstract

The present application provides a cooperative control system, method, device and medium for a combined motion motor, including: a motor control module, including a motor control thread unit and a motor motion thread unit; the motor control thread unit controls a motor controller by importing a packaging module that packages a motor control function; the motor control thread unit responds to a user operation and sends different motion instructions to a motion queue containing multiple motor information; the motor motion thread unit monitors the motion tasks of each motor; a space scanning module, including a space scanning control thread unit and a space scanning motion thread unit; the space scanning control thread unit controls an ARPES analyzer controller through a packaging module that packages an analyzer control function; the space scanning motion thread unit is used to push a scanning motion to the motion queue and save a scanning result. The present invention is used to achieve better cooperative control of the motor.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the technical field of motor collaborative control, and particularly to a collaborative control system, method, device, and medium for combined motion motors. Background Art

[0002] When performing an angle-resolved photoemission spectroscopy (ARPES) experiment, a beam of light is directed at a sample to be measured, and a measuring device is used for measurement. The measuring device can only collect the signals at the location where the light irradiates the sample. To obtain the signals at different positions of the sample in order to understand the differences at different positions of the sample, it is necessary to control the motor to move and scan the sample, and separately collect the signals at different positions.

[0003] A typical scanning process controls the movement of the motor to make the surface of the sample move at the same interval within its two-dimensional plane, as Figure 1 shown in a motor movement method, where label 4 represents the sample, label 1 represents the initial measurement position, and label 2 represents that the motor scans along the path shown by label 3 so that the instrument can measure the signals at different positions of the sample.

[0004] In addition to translating the sample within its own plane, due to experimental needs, it is also necessary to control the sample to rotate along two different directions. The rotation directions are shown by the Figure 2 arrows in

[0005] When performing a spatially resolved nano angle-resolved photoemission spectroscopy (NanoARPES) experiment, there are a zone plate and a series selection aperture outside the measuring device and the sample to be measured to assist in focusing the light beam. Before the formal measurement, it is necessary to drive the motor to make the Figure 2 light beam (5), the center of the zone plate (6), and the center of the series selection aperture (7) in

[0006] the same straight line, and make the focus of the light beam located on the surface of the sample (8). During focusing, it is necessary to control the zone plate and the series selection aperture to scan along the direction perpendicular to the sample, and the sample to scan along the horizontal or vertical direction, and complete the focusing by comparing the sharpness of the images of the zone plate and the series selection aperture at different positions.

[0007] In most of the currently disclosed control software, there is only a simple function of scanning along the plane where the sample is located. It can neither meet the basic requirements such as focusing and rotation required by NanoARPES, nor control the coordinated movement of multiple motors to move the system in any direction. At the same time, in a system with multiple motors, due to higher degrees of freedom, collisions are more likely to occur during movement. Therefore, the corresponding protection function is also lacking in the current control software. Summary of the Invention

[0008] In view of the above-mentioned disadvantages of the prior art, the purpose of this application is to provide a coordinated control system, method, device and medium for combined motion motors to solve the technical problem of coordinated motor control.

[0009] To achieve the above purpose and other related purposes, the first aspect of this application provides a coordinated control system for combined motion motors, including: a motor control module, including a motor control thread unit and a motor motion thread unit; the motor control thread unit controls the motor controller by importing a wrapper module that wraps motor control functions; the motor control thread unit sends different motion instructions to a motion queue containing multiple motor information in response to user operations; the motor motion thread unit monitors the motion tasks of each motor; a space scanning module, including a space scanning control thread unit and a space scanning motion thread unit; the space scanning control thread unit controls the ARPES analyzer controller by a wrapper module that wraps analyzer control functions; the space scanning motion thread unit is used to push the scanning motion to the motion queue and save the scanning results.

[0010] In some embodiments of the first aspect of this application, the coordinated control system further includes a global variable module; wherein, the motor control thread unit executes the response and drawing of the user interface, and / or saves the read information to the global variable module after reading the real-time position information and status information of the motor.

[0011] In some embodiments of the first aspect of this application, the data structure of the motion queue includes multiple motion tasks; each motion task includes motor number information, motor target position information, and motor motion number information.

[0012] In some embodiments of the first aspect of this application, the coordinated control system is also provided with a virtual motor controller outside the real motor controller, which is also connected to the wrapper module that wraps the motor control functions to simulate the control of the motor operation task.

[0013] In some embodiments of the first aspect of the present application, the functions encapsulated by the motor control module include any one or more combinations of the following: 1) Presetting multiple groups of combined axes to enable multiple motors to move collaboratively in different directions and distances; 2) Setting a visual display interface for visualizing the real-time position of the motors and displaying the real-time relative positions of the sample, the zone plate, and the order selection aperture; 3) Setting a prompt control for the current state of the motor in the display interface; 4) Setting anti-collision soft limit values for the movement ranges of each axis according to the relative relationship of the actual device; 5) Automatically recording historical operation information when the motor is moving; 6) Presetting a specific position as the target position of one or more motors and, through a preset control program, achieving one-key movement to this specific position; 7) Establishing a communication connection with an external program to indirectly control the movement of the motor through the external program.

[0014] In some embodiments of the first aspect of the present application, the collaborative control system further includes a virtual analyzer controller outside the real electronic analyzer controller, which is also connected to the packaging module that packages the analyzer control function to simulate the control of the electronic analyzer.

[0015] In some embodiments of the first aspect of the present application, the system further includes a first storage module for storing the historical record information of the movement of each motor; and / or a second storage module for storing the spatial scanning results.

[0016] To achieve the above and other related purposes, the second aspect of the present application provides a collaborative control method for a combined movement motor, including: controlling a motor controller by importing a packaging module that packages motor control functions; and, in response to a user operation, sending different movement instructions to a movement queue containing multiple motor information and monitoring the movement tasks of each motor; controlling an ARPES analyzer controller by a packaging module that packages analyzer control functions; and pushing a scanning movement to the movement queue and saving the scanning results.

[0017] To achieve the above and other related purposes, the third aspect of the present application provides a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, the collaborative control method for the combined movement motor is implemented.

[0018] To achieve the above and other related purposes, the fourth aspect of the present application provides an electronic terminal, including: a processor and a memory; the memory is used for storing a computer program, and the processor is used for executing the computer program stored in the memory so that the terminal executes the collaborative control method for the combined movement motor.

[0019] As described above, the present application has the following beneficial effects:

[0020] First, there is the motor control module set in the present invention. Through integration, the movement of all motors can be controlled simultaneously in one program. By using closed-loop motion control for the motors, the return difference of the motors can be controlled within a smaller range, making the imaging result more reliable. By setting the function of the combined axis, many complex steps in the experiment that require repeatedly adjusting the movement of multiple axes can be simplified to only need to adjust one combined axis. By setting soft limits, the motor will stop and give a warning before the motor actually collides, greatly reducing the probability of mechanism collision. Historical records and presets are provided, making the movement path of the motor more traceable. An external program control function is provided, making it possible to use other software to control and read the motor position later, and also making external control more convenient. The communication method of shared memory used by this function ensures that all commands can still be executed in sequence when multiple programs control the motor simultaneously.

[0021] Secondly, there is the spatial scanning module set in the present invention. The two-dimensional scanning in the present invention can be along any two directions, which makes it possible to focus the motor. Motion paths suitable for different scenarios are provided. For example, the S-shaped path is faster and the E-shaped path has a smaller return difference. The current spectrogram is also displayed during two-dimensional scanning, which is very useful for determining the properties of samples in the experiment. Two pointers, red and blue, are provided to cut the two-dimensional scan image, and the cut one-dimensional broken line is displayed below and on the right, which can be used to compare the sharpness of the boundary, etc. The historical scan records are visually displayed and can be imported into the main interface, which can help compare the differences between two scans. A function of temporarily disconnecting from the analyzer is provided. Since sometimes the analyzer's own software needs to be used and the own software and this software cannot be opened simultaneously, it can be temporarily disconnected, instead of having to close the software like other software. Brief Description of the Drawings

[0022] Figure 1 It shows a schematic diagram of the real-time spectrogram scanning software of the combined motion motor in an embodiment of the present application scanning a sample to move the light spot relative to the sample.

[0023] Figure 2 It shows a schematic diagram of the device and motor directions controlled when the real-time spectrogram scanning software of the combined motion motor in an embodiment of the present application is working.

[0024] Figure 3 It shows a schematic diagram of the structure of the collaborative control system of the combined motion motor in an embodiment of the present application.

[0025] Figure 4 It shows a schematic diagram of the data structure of the motion queue in an embodiment of the present application.

[0026] Figure 5A It shows a schematic diagram of the connection structure of the virtual motor controller in an embodiment of the present application.

[0027] Figure 5B It shows a schematic connection structure diagram of a virtual analyzer controller in an embodiment of the present application.

[0028] Figure 6 It shows a schematic diagram of a control interface of a motor control software in an embodiment of the present application.

[0029] Figure 7 It shows a schematic diagram of a control interface of a space scanning module in an embodiment of the present application.

[0030] Figure 8 It shows a schematic flow diagram of a cooperative control method for a combined motion motor in an embodiment of the present application.

[0031] Figure 9 It shows a schematic structure diagram of an electronic device in an embodiment of the present application. Detailed implementation manners

[0032] The following uses specific specific examples to illustrate the implementation manners of the present application. Those skilled in the art can easily understand other advantages and effects of the present application from the content disclosed in this specification. The present application can also be implemented or applied through other different specific implementation manners. Various details in this specification can also be modified or changed based on different viewpoints and applications without departing from the spirit of the present application. It should be noted that, without conflict, the following embodiments and the features in the embodiments can be combined with each other.

[0033] It should be noted that in the following description, reference is made to the accompanying drawings, which describe several embodiments of the present application. It should be understood that other embodiments can also be used, and mechanical composition, structure, electrical, and operational changes can be made without departing from the spirit and scope of the present application. The following detailed description should not be considered restrictive, and the scope of the embodiments of the present application is only defined by the claims of the published patent. The terms used here are only for describing specific embodiments and are not intended to limit the present application. Spatially related terms, such as "upper", "lower", "left", "right", "below", "beneath", "lower part", "above", "upper part", etc., can be used in the text to facilitate the description of the relationship between one element or feature shown in the figure and another element or feature.

[0034] In the present application, unless otherwise clearly specified and defined, terms such as "install", "connect", "couple", "fix", "hold" should be understood in a broad sense. For example, it can be a fixed connection, a detachable connection, or an integral connection; it can be a mechanical connection or an electrical connection; it can be directly connected or indirectly connected through an intermediate medium, and it can be the communication inside two elements. For those of ordinary skill in the art, the specific meanings of the above terms in the present application can be understood according to specific situations.

[0035] Furthermore, as used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly dictates otherwise. It should be further understood that the terms "comprises", "comprising" indicate the presence of the stated features, operations, elements, components, items, species, and / or groups, but do not preclude the presence, occurrence or addition of one or more other features, operations, elements, components, items, species, and / or groups. The terms "or" and "and / or" used herein are to be construed as inclusive, or meaning any one or any combination. Thus, "A, B or C" or "A, B and / or C" means "any of the following: A; B; C; A and B; A and C; B and C; A, B and C". An exception to this definition occurs only when the combination of elements, functions or operations are mutually exclusive in some manner.

[0036] The object of the present invention is to overcome the problems that current software cannot simultaneously control any number of motors to move in coordination, cannot scan along any plane or curved surface, and lacks a collision protection function.

[0037] On this basis, in order to enable experimenters to complete experiments more conveniently, quickly and safely, the present invention innovatively provides additional functions such as an interface for displaying the real-time position of the motor, relative movement and absolute movement functions, a combined axis movement function in a specific direction, a real-time status display function of the motor, an automatic saving function of historical movement records, a function of presetting a specific position and moving to the preset position, a function of setting detailed parameters of the analyzer, different scanning paths in multiple scenarios, and a graphical real-time slicing analysis interface.

[0038] In order to make the object, technical solution and advantages of the present invention more clear and understandable, the technical solutions in the embodiments of the present invention will be further described in detail through the following embodiments in combination with the accompanying drawings. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not used to limit the invention.

[0039] Before further elaborating on the present invention, the nouns and terms involved in the embodiments of the present invention are described. The nouns and terms involved in the embodiments of the present invention are applicable to the following explanations:

[0040] (1) ARPES (Angle-resolved photoemission spectroscopy) is angle-resolved photoemission spectroscopy, which uses the photoelectric effect to study the fixed electronic structure. A beam of light irradiates the surface of a sample. When the frequency of the incident light is higher than a specific threshold (work function), electrons near the surface will leave the sample and become free electrons, which is the photoelectric effect.

[0041] (2) PyQt5 is the Python language implementation of the Qt framework, providing a good collection of window controls; each PyQt control corresponds to a Qt control.

[0042] As Figure 3 shown, the present invention provides a cooperative control system for a combined motion motor, mainly including two modules, namely a motor control module 13 and a spatial scanning module 20, both of which can use Python as the programming language and PyQt5 as the graphical interface solution. It should be understood that the motor control module and the spatial scanning module can run independently respectively, and there are also some functions that require the two modules to run jointly to achieve. The operating principles of these two modules will be explained in detail below.

[0043] It should be noted that this system includes two parts, a motor control module and a spatial scanning module, for software to control the motor movement and the analyzer to measure. A typical placement method of the motor controlled by the program is as Figure 2 shown. Three translation motors are placed on the zone plate (6), the order screening hole (7), and the sample stage (8) respectively, and two rotation motors are placed on the sample to achieve the experimental purpose. The embodiment of the present invention takes Figure 2 as an example but is not limited thereto.

[0044] The motor control module 13 includes a motor control thread unit 11 and a motor movement thread unit 12. The motor control module 13 controls the motor controller 9 through a wrapper module 10 that wraps the motor control function, and enables the motor control thread unit 11 to import the wrapper module 10 to achieve the purpose of controlling the motor.

[0045] Optionally, the motor control module 13 uses a preset call interface, for example, communicates with the motor controller 9 through a serial port. The call interface provides functions such as moving to a set coordinate, reading the current coordinate, and reading the motor status. It can be understood that the serial port refers to a serial communication interface, which is an extended interface using serial communication mode; the serial interface means that data is transmitted sequentially bit by bit, and its characteristic is that the communication line is simple, and only a pair of transmission lines can achieve two-way communication, thus greatly reducing the cost, especially suitable for long-distance communication. The serial interface in this embodiment can use a synchronous serial interface or an asynchronous serial interface. Examples of the asynchronous serial interface include RS-232 interface, RS-422 interface, RS-485 interface, etc.

[0046] In this embodiment, the motor control thread unit 11 will send different motion instructions to the motion queue 23 in response to the experimental operations of the experimenter, and the motor movement thread unit 12 will repeatedly monitor the motion queue 23 to monitor and complete one by one the motion tasks pre-created in the motion queue 23.

[0047] More preferably, the data structure of the motion queue 23 can be designed in the manner of Figure 4 In the motion queue 23, there are multiple motion tasks, such as motion task 1, motion task 2... Taking the motion task 1 corresponding to the label 24 as an example to illustrate the structure of each motion task, which includes a motor number 25, a target position 26, and a motion number 27. The numbers of the completed or ongoing motion tasks are stored in the global variable module 22, enabling the space scanning module 20 to have a more comprehensive and transparent control over the motor motion state, with higher reliability.

[0048] Furthermore, the motor motion thread unit 12 saves the historical record information of each motor motion to a file in the first storage module 14 for convenient data traceability.

[0049] In this embodiment, the motor control thread unit 11 is also used to execute the response and drawing of the user interface, and / or read the real-time position information and status information of the motor, and save the read information to the global variable module 22. It can be understood that the motor status information is used to reflect the current state of the motor. For example, the average voltage, average current, and rotation angle information, etc. can be used to reflect the state of the brushless motor, or the pulse frequency, pulse number, and rotation angle information, etc. can be used to reflect the state of the stepper motor.

[0050] In a more preferred implementation manner, a virtual motor controller is provided outside the packaging module 10 that packages the motor control function and the real motor controller 9, and the structure is as shown in Figure 5A This virtual motor controller is used to provide an analog interface and an analog operation mode that are exactly the same as those of the real controller, but does not actually control the hardware. The virtual motor controller provided in this example is essentially a virtual controller (such as a vPLC). Its ability to separate the logical function (software) from the physical device and run on commercial hardware enables the virtualized controller to reduce costs and improve flexibility and scalability. Therefore, in this embodiment, the virtual motor controller can be used during software debugging to effectively avoid risks such as motor collision and analyzer burnout during the real operation process caused by software errors.

[0051] In this embodiment, the functions encapsulated by the motor control module 13 include: controlling the closed-loop motion of the motor to the set coordinates and / or moving to the set distance according to different settings.

[0052] In this embodiment, the functions encapsulated by the motor control module 13 include: setting the length unit and / or angle unit of the motor motion according to different scenarios. The length units include but are not limited to the following units: μm, nm, pm; the angle units include but are not limited to the following units: m°, μ°, n°.

[0053] In this embodiment, the functions encapsulated in the motor control module 13 include: presetting two sets of combined axes, which are used to enable multiple motors to move collaboratively in different directions and distances. The combined axes are composed of axes with different directions. For example, two axes with an included angle of 90° are provided, and different motors are arranged to move collaboratively along the two axes. It should be noted that through the design of the combined axes in the embodiments of the present invention, many complex steps that require repeatedly adjusting the movement of multiple axes in the experiment can be simplified to only adjusting one combined axis.

[0054] In this embodiment, the functions encapsulated in the motor control module 13 include: setting a visual display interface for visualizing the real-time position of the motor and displaying the real-time relative positions of the sample, the zone plate, and the order selection aperture. It should be understood that the zone plate is composed of alternating transparent and opaque rings, which are used to block odd or even zones in the Fresnel half-wave zone. Under the illumination of a point light source, the diffraction characteristics of the zone plate that can obtain the image point with the highest intensity can be obtained through it.

[0055] In this embodiment, the functions encapsulated in the motor control module 13 include: setting a prompt control for the current state of the motor in the display interface, such as setting a motor status indicator light; the motor status indicator light is used to prompt the following motor statuses: whether the motor controller is connected, whether it is in active movement, whether it is in closed-loop movement, whether it has reached the limit movement range, whether it has reached the limit following position, whether a collision has occurred, whether it has reached the soft limit, etc.

[0056] In this embodiment, the functions encapsulated in the motor control module 13 include: setting anti-collision soft limit values for the movement ranges of each axis according to the relative relationship of the actual device. It can be understood that the soft limit is a virtual limit, and its basic principle is to track and calculate the position of the moving part in the device (such as the movement position of the motor) in real time through a counting control circuit. When the position of the moving part reaches the position preset by the counting control circuit, the counting control circuit considers that the moving part has reached the limit, and at this time, the counting control circuit will send corresponding control signals to the motor driver to control the motor to stop running or reverse running.

[0057] In this embodiment, the functions encapsulated in the motor control module 13 include: automatically recording historical operation information when the motor is moving, for example, it can be recorded in an internal memory, and the internal memory can include a high-speed random access memory, and can also include a non-volatile memory, such as at least one disk storage device, a flash memory device, a universal flash storage (UFS), etc.

[0058] In this embodiment, the functions encapsulated by the motor control module 13 include: presetting a specific position as the target position of one or more motors, and realizing one-key movement to this specific position through a preset control program. The advantage of this is that regardless of the position of the motor at this time, through such a setting, the preset specific position can be used as the target position, without the need to manually input the coordinate information of the target position each time, and the motor can be quickly controlled to reach the target position.

[0059] In this embodiment, the functions encapsulated by the motor control module 13 include: establishing a communication connection with an external program to indirectly control the movement of the motor through the external program. For example, the motor control module 13 can establish a communication connection with a mobile phone APP program, so that the user can indirectly control the movement of the motor through the interaction with the mobile phone APP program, which is more convenient for the user to operate and the interaction method is more convenient.

[0060] The spatial scanning module 20 includes a spatial scanning control thread unit 17 and a spatial scanning movement thread unit 18. The spatial scanning module 20 communicates with the electron analyzer controller 15 using the TCP protocol through the interface provided by the angle-resolved photoemission electron analyzer.

[0061] It can be understood that the TCP (Transmission Control Protocol) is a connection-oriented, reliable, byte-stream-based transport layer communication protocol, designed to adapt to the hierarchical protocol architecture that supports multiple network applications, and is a transport protocol specifically designed to provide reliable end-to-end byte streams over an unreliable Internet.

[0062] In this embodiment, the spatial scanning module 20 communicates with the ARPES electron analyzer and the motor control module 13 at the same time to achieve functions including but not limited to the following: one is to customize the analyzer measurement parameters, scanning path, and saved data structure; the second is to automatically record information such as the motor position during each scan; the third is to visually display the two-dimensional scan results, motor coordinates, current position spectra, etc. in real time; the fourth is to display and import historical scan records; the fifth is to display the motor movement status and connection status, etc.

[0063] In this embodiment, the spatial scanning module 20 uses the wrapper module 16 that wraps the analyzer control function to control the electron analyzer controller 15, so that the spatial scanning control thread unit 17 in the spatial scanning module 20 controls the electron analyzer by importing the wrapper module 16.

[0064] Further, the spatial scan control thread unit 17 is also used to execute the response and drawing of the user interface, and read in real time the information such as the motor position and status stored in the global variable module 22 and feedback it to the user interface. After starting the scan program, the spatial scan motion thread unit 18 will push the scan motion to the motion queue 23 and save the scan result to the second storage module 19. It can be understood that the motor status information is used to reflect the current status of the motor. For example, the average voltage, average current, and rotation angle information, etc. can be used to reflect the status of the brushless motor, or the pulse frequency, pulse number, and rotation angle information, etc. can be used to reflect the status of the stepper motor.

[0065] More preferably, the spatial scan module 20 only pushes one motion instruction each time, and waits for the motor to complete the motion before pushing the next one, so as to ensure that there will not be a large number of motion tasks remaining when the program crashes, which will make the motion uncontrollable.

[0066] In a more preferred embodiment, a virtual analyzer controller is provided outside the packaging module 16 that packages the analyzer control function and the real electronic analyzer controller 15, and the structure is as Figure 5B shown. The virtual analyzer controller is used to provide the same simulation interface and simulation operation mode as the real controller, but does not actually control the hardware. The virtual analyzer controller provided in this example can be used during software debugging to effectively avoid risks such as motor collision and analyzer burnout during the real operation process caused by software errors.

[0067] For the convenience of those skilled in the art to understand, the implementation principle of this embodiment will be further described in combination with Figure 6 the control interface of the motor control software shown:

[0068] During the experiment, confirm the motor name in the interface 32 and the motor motion direction in the interface 31, observe the current position in the interface 33, input the corresponding distance to be moved in the set position interface 34, and click the "+" and "-" buttons to control forward or backward. When the mode switch button in the interface 35 is switched from "NowRel" to "NowAbs", it becomes clicking the "+" and "-" buttons to directly move to the input coordinates. During the movement, the relative positions of each motor can be observed in the interface 36, and the motor status can be specifically observed in the interface 37, including whether the motor is moving and whether it reaches the limit, etc. If you want to stop urgently, you can click the stop button in the interface 38. Console output will be generated during the motor movement and displayed in the interface 39. After the motor movement is completed, the history record area in the interface 40 will immediately display which motor has moved and the coordinate information of all motors this time. If you need to record the current position, you can save it in the preset area of the interface 41.

[0069] More preferably, the program can provide different combined axes according to the experimental requirements, such asFigure 6 The combined axes of OSAX+ZPX and OSAX+ZPX-SpX-SpY are provided.

[0070] More preferably, the corresponding position of the motor position frame in the interface 36 can change according to the real-time position of the motor.

[0071] More preferably, the interface 41 can reach the preset position in one key with a suitable movement sequence.

[0072] Figure 7 The schematic diagram of the control interface of the spatial scanning module in the embodiment of the present invention is shown. During the test, first set the parameters, movement path, saved file type, file path, etc. used by the analyzer to collect data in the interface 43. Then observe the current position of the motor in the interface 45, and set the two axes for two-dimensional scanning, their respective movement distances, directions, scanning accuracies, etc. Click the right button on the interface 42 to start scanning, and the scanning results will be displayed in the historical record area of the interface 46 in sequence.

[0073] Preferably, during the scanning, two pointers in the central frame of the area 44 can cross-cut the scanned picture, and the data at the cross-cut position will be displayed below and on the right. In addition, the real-time position of the motor is displayed in the central frame of the area 44, and the real-time measured data of the analyzer is displayed in the small picture at the lower right corner of the area 44.

[0074] Preferably, different scanning paths can be provided. For different target areas, different scanning paths for both sides, bottom, top, and middle of the scanning area can be provided. For different scanning ranges, paths optimized for scanning time or scanning accuracy can be provided.

[0075] Preferably, as shown in 45, the moving range of the motor and the size of each pixel point under the current settings can be prompted.

[0076] Preferably, in the interface 44, a square box can be used to prompt the current scanning range of the motor and the next scanning range.

[0077] As Figure 8 shown, the schematic diagram of the flow of a cooperative control method for a combined motion motor in the embodiment of the present invention is shown. The cooperative control method in this embodiment includes:

[0078] Step S81: Control the motor controller by importing a wrapper module that wraps the motor control function; and, in response to a user operation, send different motion commands to a motion queue containing multiple motor information, and monitor the motion tasks of each motor.

[0079] Step S82: Control the ARPES analyzer controller by a wrapper module that wraps the analyzer control function; and push the scanning motion to the motion queue and save the scanning results.

[0080] It should be noted that the collaborative control method of the combined motion motor in this embodiment is similar to the collaborative control system of the combined motion motor in the above text, so it will not be elaborated here.

[0081] The collaborative control method of the combined motion motor provided in the embodiments of this application can be applied to electronic devices. The following introduces the electronic devices and the embodiments for using such electronic devices. The electronic devices in the embodiments of this application can be, for example, tablet computers, mobile phones, vehicle-mounted devices, augmented reality (AR) / virtual reality (VR) devices, laptop computers, ultra-mobile personal computers (UMPCs), netbooks, personal digital assistants (PDAs), wearable devices, Internet of Things (IoT) devices, car machines, etc. The embodiments of this application do not impose any restrictions on the specific types of electronic devices. In some embodiments, the electronic device can support a stylus.

[0082] Figure 1 FIG. is a schematic structural diagram of an electronic device 900 provided in an embodiment of this application. As Figure 9 shown, the electronic device 900 may include a processor 910, an external memory interface 920, an internal memory 921, a universal serial bus (USB) interface 930, a charging management module 940, a power management module 941, a battery 942, antenna 1, antenna 2, a mobile communication module 950, a wireless communication module 960, an audio module 970, a speaker 970A, a receiver 970B, a microphone 970C, a headphone interface 970D, a sensor module 980, a button 990, a motor 991, an indicator 992, a camera 993, a display screen 994, and a subscriber identification module (SIM) card interface 995, etc.

[0083] The processor 910 may include one or more processing units. For example, the processor 910 may include an application processor (AP), a modem processor, a graphics processing unit (GPU), an image signal processor (ISP), a controller, a memory, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU), etc. Among them, different processing units may be independent devices or integrated in one or more processors. Among them, the controller may be the nerve center and command center of the electronic device 900. The controller can generate operation control signals according to the instruction operation code and timing signal to complete the control of fetching and executing instructions. A memory may also be provided in the processor 910 for storing instructions and data. In some embodiments, the memory in the processor 910 is a cache memory. This memory can save the instructions or data just used or recycled by the processor 910. If the processor 910 needs to use the instruction or data again, it can be directly called from the memory. This avoids repeated accesses, reduces the waiting time of the processor 910, and thus improves the efficiency of the system.

[0084] The USB interface 930 is an interface that complies with the USB standard specification. Specifically, it may be a Mini USB interface, a Micro USB interface, a USB Type-C interface, etc. The USB interface 930 can be used to connect a charger to charge the electronic device 900, or to transfer data between the electronic device 900 and peripheral devices. The charging management module 940 is used to receive the charging input from the charger. The power management module 941 is used to connect the battery 942, the charging management module 940, and the processor 910. The power management module 941 receives the inputs from the battery 942 and / or the charging management module 940 to supply power to the processor 910, the internal memory 921, the external memory, the display screen 994, the camera 993, and the wireless communication module 960, etc.

[0085] The wireless communication function of the electronic device 900 can be implemented through antenna 1, antenna 2, the mobile communication module 950, the wireless communication module 960, the modem processor, and the baseband processor, etc. Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in the electronic device 900 can be used to cover a single or multiple communication frequency bands. Different antennas can also be multiplexed to improve the utilization rate of the antennas. For example, antenna 1 can be multiplexed as the diversity antenna of the wireless local area network. In some other embodiments, the antenna can be used in combination with a tuning switch.

[0086] The mobile communication module 950 may provide solutions for wireless communications including 2G / 3G / 4G / 5G, etc. applied to the electronic device 900. The mobile communication module 950 may include at least one filter, switch, power amplifier, low noise amplifier (LNA), etc. The mobile communication module 950 may receive electromagnetic waves through the antenna 1, filter, amplify, and perform other processing on the received electromagnetic waves, and then transmit them to the modulation and demodulation processor for demodulation. The mobile communication module 950 may also amplify the signal modulated by the modulation and demodulation processor and convert it into electromagnetic waves through the antenna 1 for radiation. In some embodiments, at least some functional modules of the mobile communication module 950 may be disposed in the processor 910. In some embodiments, at least some functional modules of the mobile communication module 950 and at least some modules of the processor 910 may be disposed in the same device.

[0087] The wireless communication module 960 may provide solutions for wireless communications including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), infrared technology (IR), etc. applied to the electronic device 900. The wireless communication module 960 may be one or more devices integrating at least one communication processing module. The wireless communication module 960 receives electromagnetic waves through the antenna 2, performs frequency modulation and filtering processing on the electromagnetic wave signals, and sends the processed signals to the processor 910. The wireless communication module 960 may also receive the signals to be transmitted from the processor 910, perform frequency modulation and amplification on them, and convert them into electromagnetic waves through the antenna 2 for radiation.

[0088] In some embodiments, antenna 1 of electronic device 900 is coupled to mobile communication module 950, and antenna 2 is coupled to wireless communication module 960, enabling electronic device 900 to communicate with a network and other devices via wireless communication technologies. The wireless communication technologies may include Global System for Mobile Communications (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Time-Division Code Division Multiple Access (TD-SCDMA), Long Term Evolution (LTE), BT, GNSS, WLAN, NFC, FM, and / or IR technologies, etc. The GNSS may include Global Positioning System (GPS), Global Navigation Satellite System (GLONASS), BeiDou Navigation Satellite System (BDS), Quasi-Zenith Satellite System (QZSS), and / or Satellite-Based Augmentation Systems (SBAS).

[0089] The display screen 994 is used to display the display interface of an application, such as the display page of an application installed on the electronic device 900, etc. The display screen 994 includes a display panel. The display panel can adopt a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active matrix organic light-emitting diode or an active-matrix organic light-emitting diode (AMOLED), a flexible light-emitting diode (FLED), a Miniled, a MicroLed, a Micro-oLed, a quantum dot light-emitting diode (QLED), etc. In some embodiments, the electronic device 900 may include one or N display screens 994, where N is a positive integer greater than 1.

[0090] The camera 993 is used to capture still images or videos. An object generates an optical image through a lens and projects it onto a photosensitive element. The photosensitive element can be a charge-coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor. The photosensitive element converts the optical signal into an electrical signal, and then transmits the electrical signal to the ISP to be converted into a digital image signal. The ISP outputs the digital image signal to the DSP for processing. The DSP converts the digital image signal into an image signal in a standard format such as RGB, YUV, etc. In some embodiments, the electronic device 900 may include one or N cameras 993, where N is a positive integer greater than 1.

[0091] The internal memory 921 can be used to store computer-executable program code, and the executable program code includes instructions. The processor 910 executes various functional applications and data processing of the electronic device 900 by running the instructions stored in the internal memory 921. The internal memory 921 can include a program storage area and a data storage area. Among them, the program storage area can store the operating system and the software code of at least one application program, etc. The data storage area can store the data generated during the use of the electronic device 900 (such as the captured images, recorded videos, etc.). In addition, the internal memory 921 can include a high-speed random access memory, and can also include a non-volatile memory, such as at least one disk storage device, a flash memory device, a universal flash storage (UFS), etc.

[0092] The external memory interface 920 can be used to connect an external memory card, such as a MicroSD card, to expand the storage capacity of the electronic device. The external memory card communicates with the processor 910 through the external memory interface 920 to implement the data storage function. For example, files such as pictures and videos are saved in the external memory card.

[0093] The electronic device 900 can implement audio functions through the audio module 970, speaker 970A, receiver 970B, microphone 970C, headphone jack 970D, and the application processor, etc. For example, music playback, recording, etc.

[0094] Among them, the sensor module 980 can include a pressure sensor 980A, an acceleration sensor 980B, a touch sensor 980C, etc.

[0095] The pressure sensor 980A is used to sense pressure signals and can convert the pressure signals into electrical signals. In some embodiments, the pressure sensor 980A can be disposed on the display screen 994.

[0096] The touch sensor 980C is also called a "touch panel". The touch sensor 980C can be disposed on the display screen 994. The touch sensor 980C and the display screen 994 form a touch screen, also called a "touch control screen". The touch sensor 980C is used to detect touch operations acting on or near it. The touch sensor can transmit the detected touch operations to the application processor to determine the type of touch event. Visual outputs related to the touch operations can be provided through the display screen 994. In other embodiments, the touch sensor 980C can also be disposed on the surface of the electronic device 900, at a different position from the display screen 994.

[0097] The keys 990 include a power-on key, volume keys, etc. The keys 990 can be mechanical keys or touch keys. The electronic device 900 can receive key inputs and generate key signal inputs related to the user settings and function controls of the electronic device 900. The motor 991 can generate vibration prompts. The motor 991 can be used for incoming call vibration prompts and can also be used for touch vibration feedback. For example, touch operations on different applications (such as taking pictures, audio playback, etc.) can correspond to different vibration feedback effects. The touch vibration feedback effects can also support customization. The indicator 992 can be an indicator light, which can be used to indicate the charging state, battery level change, and can also be used to indicate messages, missed calls, notifications, etc. The SIM card interface 995 is used to connect the SIM card. The SIM card can be inserted into or removed from the SIM card interface 995 to achieve contact and separation with the electronic device 900.

[0098] It can be understood that Figure 9The components shown do not constitute a specific limitation on the electronic device 900. The electronic device may also include more or fewer components than shown, or combine certain components, or split certain components, or have different component arrangements. In addition, Figure 9 the combination / connection relationship between the components in

[0099] Based on the above embodiments, the present application also provides a computer program product including instructions. When the computer program product runs on a computer, it causes the computer to execute the various methods described in the embodiments of the present application.

[0100] Those of ordinary skill in the art can understand that all or part of the steps of implementing the above method embodiments can be completed by hardware related to a computer program. The foregoing computer program can be stored in a computer-readable storage medium. When the program executes, it performs the steps including the above method embodiments; and the foregoing storage medium includes: ROM, RAM, magnetic disk, or optical disc and other various media that can store program codes.

[0101] In the embodiments provided by the present application, the computer-readable and writable storage medium may include a read-only memory, a random access memory, an EEPROM, a CD-ROM, or other optical disc storage devices, a magnetic disk storage device, or other magnetic storage devices, a flash memory, a USB flash drive, a portable hard disk, or any other medium that can be used to store the desired program code in the form of instructions or data structures and can be accessed by a computer. Additionally, any connection may be appropriately referred to as a computer-readable medium. For example, if instructions are sent from a website, a server, or other remote source using coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of the medium. However, it should be understood that the computer-readable and writable storage medium and the data storage medium do not include connections, carriers, signals, or other transient media, but are intended to refer to non-transient, tangible storage media. As used in the application, magnetic disks and optical discs include compact discs (CDs), laser discs, optical discs, digital versatile discs (DVDs), floppy disks, and Blu-ray discs. Among them, magnetic disks usually replicate data magnetically, while optical discs optically replicate data using lasers.

[0102] In summary, the present application provides a cooperative control system, method, device, and medium for a joint motion motor,

[0103] First, there is the motor control module provided by the present invention. Through integration, the movement of all motors can be controlled simultaneously in one program. By using closed-loop motion control for the motors, the return error of the motors can be controlled within a small range, making the imaging results more reliable. By setting the function of the combined axis, many complex steps in the experiment that require repeatedly adjusting the movement of multiple axes can be simplified to only adjusting one combined axis. By setting soft limits, the motors will stop and a warning will be given before the motors actually collide, greatly reducing the probability of mechanism collisions. Historical records and presets are provided, making the movement paths of the motors more traceable. An external program control function is provided, making it possible to use other software to control and read the motor positions later, and also making external control more convenient. The communication method of shared memory used for this function ensures that all commands can still be executed in sequence when multiple programs control the motors simultaneously.

[0104] Secondly, there is the spatial scanning module provided by the present invention. The two-dimensional scanning in the present invention can be along any two directions, which makes the focusing of the motors possible. Movement paths suitable for different scenarios are provided. For example, the S-shaped path is faster and the E-shaped path has a smaller return error. The current spectrogram is also displayed during two-dimensional scanning, which is very useful for determining the properties of samples in the experiment. Two pointers, red and blue, are provided to cut the two-dimensional scan image, and the cut one-dimensional broken line is displayed below and on the right, which can be used to compare the sharpness of the boundaries, etc. The historical scan records are visually displayed and can be imported into the main interface, which can help compare the differences between two scans. A function to temporarily disconnect from the analyzer is provided. Since sometimes the analyzer's own software needs to be used and the own software and this software cannot be opened simultaneously, it is possible to temporarily disconnect instead of having to close the software like other software.

[0105] Therefore, this application effectively overcomes various drawbacks in the prior art and has high industrial utilization value.

[0106] The above embodiments merely illustrate the principles and effects of this application and are not used to limit this application. Any person familiar with this technology can modify or change the above embodiments without departing from the spirit and scope of this application. Therefore, all equivalent modifications or changes completed by those with ordinary knowledge in the technical field without departing from the spirit and technical ideas disclosed by this application should still be covered by the claims of this application.

Claims

1. A collaborative control system for a combined motion motor, characterized in that, Including: A motor control module, including a motor control thread unit and a motor motion thread unit; the motor control thread unit controls a motor controller by importing a wrapper module that wraps motor control functions; the motor control thread unit responds to user operations and sends different motion instructions to a motion queue containing multiple motor information; the motor motion thread unit monitors the motion tasks of each motor. A spatial scanning module, including a spatial scanning control thread unit and a spatial scanning motion thread unit; the spatial scanning control thread unit controls an ARPES analyzer controller by a wrapper module that wraps analyzer control functions; the spatial scanning motion thread unit is used to push scanning motion to the motion queue and save scanning results.

2. The collaborative control system of the combined motion motor according to claim 1, characterized in that, The collaborative control system further includes a global variable module; wherein, the motor control thread unit executes the response and drawing of the user interface, and / or reads the real-time position information and status information of the motor and saves the read information to the global variable module.

3. The collaborative control system of the combined motion motor according to claim 1, characterized in that, The data structure of the motion queue includes multiple motion tasks; each motion task includes motor number information, motor target position information, and motor motion number information.

4. The collaborative control system of the combined motion motor according to claim 1, characterized in that, The collaborative control system further includes a virtual motor controller outside the real motor controller, which is also connected to the wrapper module that wraps motor control functions to simulate the control of motor operation tasks.

5. The collaborative control system of the combined motion motor according to claim 1, characterized in that, The functions encapsulated by the motor control module include any one or more combinations of the following: 1) Presetting multiple groups of combined axes to enable multiple motors to move collaboratively in different directions and distances; 2) Setting a visual display interface for visualizing the real-time position of the motor and displaying the real-time relative positions of the sample, zone plate, and order selection aperture; 3) Setting a prompt control for the current state of the motor in the display interface; 4) Setting anti-collision soft limit values for the motion ranges of each axis according to the relative relationship of the actual device; 5) Automatically recording historical operation information during motor movement; 6) Presetting a specific position as the target position of one or more motors and realizing one-key movement to this specific position through a preset control program; 7) Establishing a communication connection with an external program to indirectly control motor movement through the external program.

6. The collaborative control system of the combined motion motor according to claim 1, characterized in that Including: The collaborative control system further includes a virtual analyzer controller outside the real electronic analyzer controller, which is also connected to the wrapper module that wraps analyzer control functions to simulate the control of the electronic analyzer.

7. The collaborative control system of the combined motion motor according to claim 1, characterized in that, The system further includes a first saving module for saving the historical record information of each motor movement; and / or a second saving module for saving spatial scanning results.

8. A cooperative control method for a combined motion motor, characterized in that, Including: Controlling a motor controller by importing a wrapper module that wraps motor control functions; and, in response to user operations, sending different motion instructions to a motion queue containing multiple motor information and monitoring the motion tasks of each motor. Controlling an ARPES analyzer controller by a wrapper module that wraps analyzer control functions; and, pushing scanning motion to the motion queue and saving scanning results.

9. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the collaborative control method of the combined motion motor described in claim 8.

10. An electronic device, characterized in that, Comprising at least one processor, the at least one processor being coupled to at least one memory, the at least one processor being configured to read a computer program stored in the at least one memory to execute the cooperative control method of the combined motion motor as claimed in claim 8.

Citation Information

Patent Citations

  • Control method of multi-axis motion card control system

    CN103941649A

  • 4D (four-dimensional) ultrasonic probe scanning control method, 4D ultrasonic probe scanning control device and 4D ultrasonic probe scanning control system

    CN106691507A