Cooperative calibration system, calibration method thereof and computer program product

By designing a collaborative calibration system, using the server and the answering end to connect, the requesting end calls the calibration database to create mapping system variables, and realizes collaborative calibration of multi-vehicle ECUs, solving the problem of the inability to simultaneously monitor and interoperate local and remote ECUs in the prior art, and improving the convenience and accuracy of multi-vehicle calibration.

CN119603316APending Publication Date: 2025-03-11SHANGHAI TOSUN TECH LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411252206.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-09-08
Filing Date
2024-09-06
Publication Date
2025-03-11

AI Technical Summary

Technical Problem

In multi-vehicle calibration scenarios, the prior art cannot realize simultaneous monitoring and interoperability between the ECU of the local computer and the ECU connected to the remote computer, resulting in limited convenience and accuracy of multi-vehicle calibration.

Method used

A collaborative calibration system is designed. Through the server, multiple answering ends can be connected to the server's calibration database, automatically create mapping system variables, and read and compare data through a graphical program to realize collaborative calibration of multiple vehicles.

Benefits of technology

It realizes simultaneous monitoring and interoperability of local and remote ECUs in multi-vehicle calibration scenarios, improving the convenience and accuracy of multi-vehicle calibration.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119603316A_ABST
    Figure CN119603316A_ABST
Patent Text Reader

Abstract

The invention belongs to the technical field of signal calibration processing, and particularly relates to a collaborative calibration system, a calibration method thereof and a computer program product. A plurality of response terminals, which are distributed in different regions, and send calibration signals of corresponding automobile ECUs to the server for storage; a calibration module of the request end is suitable for calling the calibration database of the server and automatically creating mapping system variables for corresponding calibration signals in the calibration database; and the request end is also used for constructing a graphic program for judging the calibration signal defined as the observed quantity.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is based upon and claims the benefit of priority from U.S. patent application No. 18 / 243,750 filed on September 8, 2023. The entire contents of the above application are incorporated herein by reference. Technical Field

[0002] The present invention belongs to the technical field of signal calibration, and specifically relates to a collaborative calibration system and a calibration method and a computer program product. Background Art

[0003] In the related art, as far as the inventors know, the automated function of the calibration system is limited to one computer. Users need to write their own programs to automatically calibrate the local ECU. However, if in a multi-vehicle calibration scenario, that is, it is necessary to access the ECU connected to the remote system, deploy the local calibration data to the remote, or obtain remote observation calibration data, the current existing program cannot be implemented, and another program needs to be written to access the remote ECU, and the two programs cannot achieve data fusion. Summary of the invention

[0004] The purpose of the present invention is to provide a collaborative calibration system and its calibration method, and a computer program product.

[0005] In order to solve the above technical problems, the present invention provides a collaborative calibration system, comprising:

[0006] server;

[0007] A plurality of answering terminals, each answering terminal is distributed in a different region, and each answering terminal sends a calibration signal of a corresponding automobile ECU to the server for storage;

[0008] A requesting end, wherein the calibration module of the requesting end is adapted to call the calibration database of the server and automatically create a mapping system variable for a corresponding calibration signal in the calibration database; and

[0009] The request side is also used to construct a graphical program for judging the calibration signal defined as the observed quantity;

[0010] When the automobile ECU function test is started, the calibration module on the requesting end connects to the corresponding automobile ECU on the responding end through the server to read the current value of the calibration signal in each automobile ECU and assign it to the corresponding mapping system variable, that is, assign an initial value to the mapping system variable;

[0011] Then, the calibration module on the requesting end periodically reads the calibration signal value in each vehicle ECU through query or DAQ mode, and stores it in the corresponding mapping system variable; finally, when executing the graphic program, it directly reads the value of the corresponding mapping system variable and compares it to complete the coordinated calibration of each corresponding vehicle.

[0012] In another aspect, the present invention further provides a collaborative calibration method applied to the collaborative calibration system as described above, comprising:

[0013] Calling the calibration signal from the server through the request end to read the calibration signal value, sending a calibration signal write command to the server and a command to read the calibration signal after writing to the server; and

[0014] The response end sends a calibration signal to the server, and is also used to receive the written target value sent by the server and complete the online calibration of the vehicle.

[0015] In a third aspect, the present invention further provides a working method of a requesting end for a collaborative calibration system, comprising:

[0016] Calling the calibration database of the server through the calibration module in the request end, and automatically creating a mapping system variable for the corresponding calibration signal in the calibration database; and

[0017] The request side is also used to construct a graphical program for judging the calibration signal defined as the observed quantity;

[0018] When the automobile ECU function test is started, the calibration module on the requesting end connects to the corresponding automobile ECU on the responding end through the server to read the current value of the calibration signal in each automobile ECU and assign it to the corresponding mapping system variable, that is, assign an initial value to the mapping system variable;

[0019] Then, the calibration module on the requesting end periodically reads the calibration signal value in each vehicle ECU through query or DAQ mode, and stores it in the corresponding mapping system variable; finally, when executing the graphic program, it directly reads the value of the corresponding mapping system variable and compares it to complete the coordinated calibration of each corresponding vehicle.

[0020] In a fourth aspect, the present invention further provides a computer, wherein the computer is configured to act as a requesting end to execute a computer program or instruction, so that the computer acts as a requesting end to execute the working method as described above.

[0021] In a fifth aspect, the present invention further provides a computer program product, comprising a computer program or instructions, wherein when the computer program or instructions are executed on a computer, the computer is enabled to execute the working method as described above.

[0022] In a sixth aspect, the present invention further provides a storage medium storing computer-readable instructions, which, when executed by at least one processor, enables the working method described above to be executed.

[0023] The beneficial effect of the present invention is that the collaborative calibration system of the present invention can realize simultaneous monitoring and interoperation of the ECU of the local computer and the ECU connected to the remote computer in a multi-vehicle calibration scenario, effectively improving the convenience and accuracy of multi-vehicle calibration.

[0024] This summary is intended to provide a brief overview of some of the subject matter described in this document. It should therefore be understood that the above features are merely examples and should not be interpreted as narrowing the scope or essence of the subject matter described herein in any way.

[0025] Other features, aspects, and advantages of the subject matter described herein will become apparent from the following detailed description, drawings, and claims. BRIEF DESCRIPTION OF THE DRAWINGS

[0026] In order to more clearly illustrate the specific implementation methods of the present invention or the technical solutions in the prior art, the drawings required for use in the specific implementation methods or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some implementation methods of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0027] Figure 1 A step diagram of a method for remote calibration of a vehicle in multiple locations in accordance with some embodiments is shown;

[0028] Figure 2 A step diagram of a method for remote calibration of a vehicle in multiple locations in accordance with some embodiments is shown;

[0029] Figure 3 A principle block diagram of a server involved in some implementation modes is shown;

[0030] Figure 4 A principle block diagram of a request end involved in some implementation modes is shown;

[0031] Figure 5 A principle block diagram of a response end involved in some implementation modes is shown;

[0032] Figure 6 A principle block diagram of a multi-location collaborative remote calibration system for automobiles involved in some implementations is shown. DETAILED DESCRIPTION

[0033] In order to make the purpose, technical solution and advantages of the embodiments of the present invention clearer, the technical solution of the present invention will be clearly and completely described below in conjunction with the accompanying drawings. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0034] As known to the inventors, in a multi-vehicle calibration scenario, vehicles are generally distributed in different provinces and cities. Under relevant technical conditions, it is impossible to drag the calibration signals of the same name in vehicles in multiple locations into the same curve window for observation, nor is it possible to reproduce the execution of the algorithm program in vehicles in other provinces and cities by directly running the algorithm program on the local developer's computer. The algorithm program can only be copied to the developer computers of other provinces and cities at the same time, and executed by the developers of other provinces and cities. That is, similar software products can only realize local monitoring of ECUs, and cannot simultaneously monitor and interoperate with the ECU of the local computer and the ECU connected to the remote computer.

[0035] Some embodiments of the present invention provide a method for remote calibration of a vehicle in multiple locations. Various non-limiting implementations of the embodiments of the present disclosure are described in detail below in conjunction with the accompanying drawings.

[0036] like Figure 1 As shown, at least one embodiment provides a method for coordinated remote calibration of a vehicle at multiple locations, including:

[0037] server, requester, and responder;

[0038] Step S101, storing a calibration database through a server and receiving and storing a calibration signal sent from a response end; and

[0039] In step S102, the requesting end calls the calibration signal from the server to read the calibration signal value; and / or after the requesting end writes the calibration signal, the written target value is sent to the responding end through the server, and the responding end completes the online calibration of the vehicle, and the requesting end applies to the server to read the written calibration signal.

[0040] In some application embodiments, the responder refers to a computer connected to the automobile ECU in different provinces and cities, and the requester refers to a computer connected to the automobile ECU locally; each responder is suitable for sending a calibration signal to the server. The requester creates corresponding mapping system variables for each calibration signal of the server, and assigns initial values ​​to the mapping system variables. Subsequently, the developer only needs to read or modify the corresponding calibration signal on the requester to monitor the vehicle calibration signals distributed in different provinces and cities or synchronously modify the vehicle calibration signal values ​​in different provinces and cities, effectively improving the convenience and accuracy of multi-vehicle calibration.

[0041] The calibration database is configured to store at least all calibration signals of the ECU corresponding to each transponder, including observed quantity calibration signals, writable observed quantity calibration signals and calibrated quantity calibration signals.

[0042] like Figure 2 As shown, in some embodiments, a method for remote calibration of a vehicle in multiple locations includes:

[0043] Step S201, calling the calibration signal from the server through the request end to read the calibration signal value; and / or sending a calibration signal write command to the server, and sending a command to read the calibration signal after writing to the server;

[0044] Step S202, sending a calibration signal to the server through the response end; and also receiving the written target value sent by the server, and completing the online calibration of the vehicle.

[0045] The following describes the multi-location collaborative remote calibration method for vehicles in detail with some application cases:

[0046] Assume that in a three-car calibration scenario, the cars are distributed in three different provinces and cities. The computer used for calibration in City A is defined as the request end, and the computers connected to ECU1 and ECU2 of the cars in the other two provinces and cities are defined as the responder end.

[0047] The developers in City A first performed local calibration, creating mapping system variables "ECU_Factor1" and "ECU_Factor2" with the same name associated with the calibration signals of Factor1 and Factor2 in the local car ECU, and then modified "Factor1" and "Factor2" successively by writing a graphical program until the execution result of the algorithm reached the expected result. For example, in the end, "Factor1 = 1.2" and "Factor2 = 2.3". Factor1 represents the calibration signal of the wheel speed sensor, and Factor2 represents the calibration signal of the acceleration sensor. Each ECU has these two calibration signals, Factor1 and Factor2.

[0048] The developers in City A hope to run the same graphic program in the vehicle ECUs in other provinces and cities to reproduce the execution of the algorithm. If this embodiment is not adopted, it is impossible to directly run the graphic program on the computer of the developer in City A to reproduce the execution process of the algorithm in vehicles in other provinces and cities. Generally, it is necessary to copy the graphic program to the developer computers of other provinces and cities at the same time, and have the developers in other provinces and cities execute it on their behalf. In this multi-location collaborative remote calibration method for automobiles, the requesting end creates corresponding mapping system variables for each calibration signal of the server, which directly solves this problem.

[0049] The specific steps are as follows:

[0050] (1) The computer used for calibration in City A is used as the requesting end. That is, the developer in City A uses the calibration module in the local computer to simultaneously connect to the responding ends in other provinces and cities through the server to connect to the ECU1 and ECU2 of the cars in other provinces and cities, so that one requesting end can be connected to multiple responding ends at the same time. The responding ends in other provinces and cities will send the calibration signals of ECU1 and ECU2 to the server.

[0051] (2) After the local computer in City A successfully connects to the ECU1 and ECU2 of vehicles in other provinces and cities through the server, the calibration module in the local computer automatically creates mapping system variables "ECU1_Factor1", "ECU1_Factor2" and "ECU2_Factor1", "ECU2_Factor2" locally for the corresponding calibration signals of ECU1 and ECU2 stored in the server.

[0052] (3) The developer in City A uses wildcards to update the code in the graphic program on the local computer (requesting end), i.e., "ECU*_Factor1=1.2", "ECU*_Factor2=2.3". The graphic program is then run, and the server sends the running results of the graphic program to ECU1 and ECU2 of cars in other provinces and cities through the corresponding response ends, i.e., the corresponding calibration signal Factor1 in ECU1 and ECU2 is modified to 1.2, and the corresponding signal Factor2 is modified to 2.3. This meets the needs of the developer in City A; that is, the wildcard is used to update the code in the graphic program on the requesting end, and the running results of the graphic program are sent to at least one response end through the server.

[0053] It should be noted that the wildcard described in some embodiments refers to a special character that can be used to match a string of pre-set patterns. When modifying the values ​​of mapping system variables in batches, the wildcard can quickly match a batch of mapping system variables, thereby performing batch modifications. Taking ECU*_Factor as an example, the * is a wildcard, which can match any character or string. Therefore, ECU*_Factor can match mapping system variables ECU1_Factor, mapping system variables ECU2_Factor, mapping system variables ECU3_Factor, etc., as long as their prefix is ​​ECU and the suffix is ​​_Factor, that is, they meet the pre-set mapping system variable naming rules.

[0054] The method of batch modifying data includes: replacing the wildcard with a specific string. For example, if you want to change the values ​​of mapping system variables such as ECU1_Factor, ECU2_Factor, and ECU3_Factor to 1.5, you only need to replace ECU*_Factor with 1.5. In this way, the values ​​of these mapping system variables can be modified in batches.

[0055] Assume that in a four-car calibration scenario, the cars are distributed in four different provinces and cities. The computer used for calibration in City A is defined as the request end, and the computers connected to ECU1, ECU2, and ECU3 of the cars in the other three provinces and cities are defined as the responder end.

[0056] The developer in City A first performs local calibration, creates a mapping system variable ECU_Result1 with the same name as the Result1 measurement signal in the local car ECU, and drags it into the curve window to monitor it. The relevant parameter values ​​are adjusted through the calibration module, and the monitored Result1 signal is evaluated to confirm the effectiveness of the adjusted parameters.

[0057] After completing the local calibration, the developer in City A will release the current version of the ECU algorithm and update the ECU algorithms in other provinces and cities to the current version through the server.

[0058] Then the developer of city A also hopes to evaluate the operation of the algorithm in different environments in other provinces and cities by monitoring the Result1 signal in the ECU of each car in other provinces and cities. If this embodiment is not adopted, it is impossible to drag the same signal Result1 in vehicles in multiple places into the same curve window for observation.

[0059] In some embodiments of the automobile multi-site collaborative remote calibration method, the requesting end creates corresponding mapping system variables for each calibration signal of the server, so that the same-name signal Result1 of different ECUs can be dragged into the same curve window for observation. The specific method steps are as follows:

[0060] (1) The computer used for calibration in City A is used as the requesting end. That is, the developer in City A uses the calibration module in the local computer (equivalent to the requesting end) to simultaneously connect to the responding ends in other provinces and cities through the server, so as to connect to ECU1, ECU2 and ECU3 of cars in other provinces and cities, so as to realize that one requesting end is connected to multiple responding ends at the same time. The responding ends in other provinces and cities will send the calibration signals corresponding to ECU1, ECU2 and ECU3 to the server.

[0061] (2) After the local computer in City A successfully connects to ECU1, ECU2, and ECU3 in other provinces and cities through the server, the calibration module in the local computer automatically creates a mapping system variable "ECU1_Result1" locally for the corresponding calibration signals of ECU1, ECU2, and ECU3 stored in the server.

[0062] "ECU2_Result1" and "ECU3_Result1". Result1 indicates the external ambient temperature of the vehicle monitored by the vehicle sensor. Then "ECU1_Result1", "ECU2_Result1" and "ECU3_Result1" respectively indicate the external ambient temperature of the vehicle monitored by ECU1, ECU2 and ECU3.

[0063] (2) Developers in City A can monitor the three mapping system variables “ECU1_Result1”, “ECU2_Result1”, and “ECU3_Result1” simultaneously by dragging them into the same curve window locally. The adaptability of the current algorithm to other provinces and cities can be evaluated through the monitoring results.

[0064] In some embodiments, for automatically created mapping system variables, the naming rules are:

[0065] Use the ECU name as the prefix, and separate the calibration signal name and the ECU name with an underscore. For example, if the calibration signal name is "abc" and the ECU name is "ABS", the mapping system variable name is "ABS_abc".

[0066] In some embodiments, the method in which the requesting end calls the calibration signal from the server to read the calibration signal value includes:

[0067] For the calibration signal defined as the observed quantity, the calibration module obtains the calibration signal value stored in the server and stores it in the corresponding mapping system variable;

[0068] When reading the mapped system variable, the last stored value of the mapped system variable is read out.

[0069] After the creation of each mapping system variable is completed, the calibration module on the requesting end first connects to the local ECU via the server, reads the current value of each calibration signal from the local ECU (the value when the ECU is successfully connected), and assigns each current value to the corresponding mapping system variable, thereby completing the initialization of each mapping system variable.

[0070] Since the calibration module reads the calibration signal value stored in the server in real time and stores it in the corresponding mapping system variable, this ensures that the value in the mapping system variable is always the latest value. If the user wants to read the latest value of the calibration signal, he only needs to read the latest value of the mapping system variable, which is the last stored value. The last stored time node is the timestamp of the moment when the calibration module last reads the calibration signal value.

[0071] The following describes in detail the method of reading the calibration signal defined as the observed quantity with examples:

[0072] Assume that it is necessary to use the graphic program of the requesting end to determine whether the power supply voltage signal KL30 of the automobile ECU is greater than 9V in the function test of the automobile ECU connected to the responding end.

[0073] First, the responder sends the ECU's power supply voltage signal KL30 to the server for storage in advance, and then the calibration module of the requester calls the calibration database of the server and automatically creates a mapping system variable named "ECU_KL30" for the power supply voltage signal in the calibration database.

[0074] The user writes a graphic program on the request end to judge the power supply voltage signal. The execution unit expression corresponding to the judgment is "ECU_KL30>9".

[0075] Then, the user starts the test, and the calibration module on the requesting end connects to the ECU on the responding end through the server to read the current value of the KL30 signal in the ECU and assign it to the mapping system variable "ECU_KL30", that is, to assign an initial value to the mapping system variable "ECU_KL30".

[0076] The calibration module then periodically reads the KL30 signal value through query or DAQ mode and stores it in the mapping system variable "ECU_KL30".

[0077] Finally, when executing the execution unit "ECU_KL30>9" of the user's graphical program, the value of the mapping system variable "ECU_KL30" is directly read and compared with 9.

[0078] As one implementation manner, the method for writing the calibration signal includes:

[0079] For a calibration signal defined as a calibration amount, the request end associates an assignment function to an asynchronous function, wherein the assignment function is a mapping system variable writing function to which a target value is to be written;

[0080] When writing the calibration amount, the asynchronous function returns immediately after sending a write command and a read command to the server, and the asynchronous function call is completed.

[0081] The following describes in detail the method of writing the calibration signal defined as the calibration amount with examples:

[0082] Assume that in a functional test of the automobile ECU connected to the responding end, it is necessary to write the value of the calibration signal EV_Current in the automobile ECU as 2.1 through the graphic program of the requesting end to control the current of the corresponding solenoid valve EV to 2.1 amperes.

[0083] First, the responder sends the ECU's solenoid valve current signal EV_Current to the server for storage in advance, and then the calibration module of the requester calls the calibration database of the server and automatically creates a mapping system variable named "ECU_EV_Current" for the solenoid valve current signal in the calibration database.

[0084] The user writes a graphic program on the requesting end to write the value of the calibration signal EV_Current to 2.1. The execution unit expression corresponding to the writing action is "ECU_EV_Current = 2.1".

[0085] Then, the user starts the test, the calibration module on the requesting end connects to the ECU on the responding end through the server, and associates the assignment function of the mapping system variable "ECU_EV_Current" with an asynchronous function "set_sys_var_async". The function of this asynchronous function is to call the API function of the calibration module on the requesting end to perform write and read operations on the solenoid valve current signal.

[0086] When the execution unit "ECU_EV_Current = 2.1" of the request-side graphics program is executed, the request-side calibration module will call this asynchronous function "set_sys_var_async" and pass the target value "2.1" as a parameter. In this asynchronous function, the following requests are initiated to the server in an asynchronous manner:

[0087] (1) A request to write the calibration signal "ECU_EV_Current", with the parameter carried in the request being the write value 2.1;

[0088] (2) Request to read the calibration signal “ECU_EV_Current”;

[0089] After the execution unit initiates the request, it can immediately return from the asynchronous function "set_sys_var_async" without waiting for the request result. The request-side calibration module will write the calibration signal "ECU_EV_Current" in sequence in the background, and send the written target value to the response end through the server. The response end writes the target value, that is, the EV_Current value in the ECU becomes 2.1, and the request-side calibration module applies to the server to read the calibration signal "ECU_EV_Current".

[0090] As another implementation, the method for writing the calibration signal includes:

[0091] For a calibration signal defined as a writable observable, the request end associates an assignment function to an asynchronous function, wherein the assignment function is a mapping system variable writing function for a target value to be written;

[0092] When writing a writable observable, the asynchronous function returns immediately after sending a write command and a read command to the server, and the asynchronous function call is completed.

[0093] The following describes in detail the method of writing the calibration signal defined as a writable observable quantity with examples:

[0094] Assume that in a functional test of the automobile ECU connected to the responding end, it is necessary to write the value of the calibration signal EV_MAX_Current in the automobile ECU to 1.0 through the graphic program of the requesting end to set the maximum sampling current of the corresponding solenoid valve EV to 1.0 ampere.

[0095] First, the responder sends the ECU's solenoid valve maximum sampling current signal EV_MAX_Current to the server for storage in advance, and then the calibration module of the requester calls the calibration database of the server and automatically creates a mapping system variable named "ECU_EV_MAX_Current" for the solenoid valve maximum sampling current signal in the calibration database.

[0096] The user writes a graphic program on the requesting end to write the value of the maximum sampling current signal of the solenoid valve to 1.0. The execution unit expression corresponding to the writing action is "ECU_EV_MAX_Current = 1.0".

[0097] Then, the user starts the test, and the calibration module on the requesting end connects to the ECU on the responding end via the server to read the current value of the EV_MAX_Current signal in the ECU and assigns it to the mapping system variable "ECU_EV_MAX_Current".

[0098] The request-side calibration module then periodically reads the EV_MAX_Current signal value through query or DAQ mode, and stores it in the mapping system variable "ECU_EV_MAX_Current".

[0099] Assuming that during the test, the ECU detects that the maximum sampling current of the solenoid valve EV is 3.0 amperes, the value of the mapping system variable "ECU_EV_MAX_Current" will be rewritten to 3.0.

[0100] The request-side calibration module also associates the assignment function of the mapping system variable "ECU_EV_MAX_Current" with an asynchronous function "set_sys_var_async", the function of which is to call the API function of the calibration module to perform write and read operations on the maximum sampling current signal of the solenoid valve EV.

[0101] When the execution unit "ECU_EV_MAX_Current = 1.0" of the request-side graphics program is executed, the request-side calibration module will call this asynchronous function "set_sys_var_async" and pass the target value "1.0" as a parameter. In this asynchronous function, the following requests are initiated to the server in an asynchronous manner:

[0102] (1) A request to write the calibration signal "ECU_EV_MAX_Current", with the parameter carried in the request being the write value 1.0;

[0103] (2) Request to read the calibration signal “ECU_EV_MAX_Current”;

[0104] After the execution unit initiates the request, it can immediately return from the asynchronous function "set_sys_var_async" without waiting for the request result. The request-side calibration module will write the calibration signal "ECU_EV_MAX_Current" in sequence in the background, and send the written target value to the response end through the server. The response end writes the target value, that is, the value of EV_MAX_Current in the ECU becomes 1.0, and the request-side calibration module applies to the server to read the calibration signal "ECU_EV_MAX_Current".

[0105] In the subsequent test process, the value of the ECU internal signal EV_MAX_Current is reset to 1.0 until the ECU monitors that the maximum current of the EV valve exceeds this value, then the value of the signal EV_MAX_Current and the mapping system variable "ECU_EV_MAX_Current" will be rewritten.

[0106] It should be noted that the calibration signal EV_MAX_Current refers to the maximum sampling current value of the solenoid valve EV obtained by sampling and calculating inside the ECU. For example, the initial value of "EV_MAX_Current" is 1.0. If the current sampling current is always 0.5 amperes, then the value of "EV_MAX_Current" will remain unchanged at 1.0. Once the current sampling current is greater than 1.0 amperes, for example, the current current value collected is 1.2, then the value of "EV_MAX_Current" will immediately become 1.2. At this time, even if the current current drops to 0.2 amperes, the "EV_MAX_Current" representing the maximum value of the historical sampling current will still remain at 1.2 and will not follow the decline. Therefore, this calibration signal becomes a bidirectional read-write signal. The ECU can increase it according to the actual current value obtained by sampling, and the user can also reset this calibration signal to a relatively low value at the user end. The advantage of this is that the user can read the maximum value of this calibration signal in different time periods, and will not encounter this calibration signal rising to 3.0 at the beginning. Due to the lack of reset measures, the subsequent observation of this calibration signal enters a blind spot and can only read 3.0 forever. Therefore, in this case, the value of the ECU internal signal EV_MAX_Current is reset to 1.0 until the ECU monitors that the maximum current of the EV valve exceeds this value, and then the value of the calibration signal EV_MAX_Current and the mapping system variable "EV_MAX_Current" will be rewritten.

[0107] In some embodiments, when the server successfully executes the write command and the read command at the same time, the request end refreshes the last stored value of the mapping system variable to the target value to be written.

[0108] In some embodiments, the calibration signal of the observed quantity refers to: a calibration signal used purely for observation, such as engine speed, vehicle speed and other signals. These signals are determined based on the measurement of relevant information in the physical world, reflect objective facts, and do not need to be modified.

[0109] In some embodiments, the calibration signal of the calibration quantity refers to: a parameter used to set, for example, P, I and D parameters of a PID algorithm, which determine the operating state of the algorithm after being changed.

[0110] In some embodiments, the calibration signal of the writable observable quantity refers to a signal that can be used for observation or intervention of the observed value, such as a signal such as the maximum current of the solenoid valve, which will increase continuously as the observation progresses until it reaches the maximum value. For example, if you want to observe the maximum value within 2 hours from the current moment, you need to reset the observed value and read it within the 2-hour range.

[0111] In some embodiments, when the requesting end does not receive the calibration signal from the server, if the requesting end still writes the mapping system variable corresponding to the calibration signal, the requesting end will report an error.

[0112] The act of writing mapping system variables is generated by the requesting end user. After the requesting end calibration module successfully connects to the responding end ECU through the server, the requesting end user's program can write any mapping system variable. If a mapping system variable does not exist, writing this mapping system variable will report an error. Therefore, if the requesting end does not receive the calibration signal from the server, it means that the calibration signal does not exist or the calibration signal transmission process fails, then the mapping system variable corresponding to the calibration signal on the requesting end cannot be initialized, that is, the corresponding mapping system variable does not exist. At this time, if a non-existent mapping system variable is written, the requesting end will report an error.

[0113] The following example describes in detail the situation of writing calibration signals when the calibration module is not started:

[0114] Assume that in a functional test of an automobile ECU defined as a responding end, it is necessary to write a calibration signal EV_Current value of 2.1 into the ECU through a graphic program on the requesting end to control the current of the corresponding solenoid valve EV to 2.1 amperes.

[0115] First, the responder sends the ECU's solenoid valve current signal EV_Current to the server for storage in advance, and then the calibration module of the requester calls the calibration database of the server and automatically creates a mapping system variable named "ECU_EV_Current" for the solenoid valve current signal in the calibration database.

[0116] The user writes a graphic program on the requesting end to write the value of the calibration signal EV_Current to 2.1. The execution unit expression corresponding to the writing action is "ECU_EV_Current = 2.1".

[0117] Then the user starts the test, and the requester calibration module connects to the responder ECU via the server, but the connection fails, and the requester calibration module marks the mapping system variable "ECU_EV_Current" as invalid.

[0118] When the execution unit "ECU_EV_Current=2.1" of the request-side graphics program is executed, the request-side calibration module detects that the mapping system variable is marked as invalid, abandons the assignment operation, and prints the error message "Invalid mapping system variable: ECU_EV_Current" in the request-side calibration module message.

[0119] like Figure 3As shown, some embodiments further provide a server for executing the aforementioned automobile multi-location collaborative remote calibration method; the server is configured to store a calibration database and receive and store a calibration signal sent by a response end, and also send a target value written by a request end to the response end.

[0120] Specifically, the server includes: a processor, a readable storage medium, a communication bus and a communication interface; wherein the processor, the readable storage medium and the communication interface communicate with each other through the communication bus; the readable storage medium is used to store the calibration database and the calibration signal sent by the response end and to execute the program of the multi-location collaborative remote calibration method for vehicles as described above, the program enables the processor to execute the operations corresponding to the multi-location collaborative remote calibration method for vehicles, and the processor is also used to receive the calibration signal sent by the response end and send the target value written by the request end to the response end.

[0121] In some embodiments, the communication interface may be RS232, RS485, USB port, TYPE port, etc., which may be connected to an external bus adapter. It may also include a wired or wireless network interface, and the network interface may optionally include a wired interface and / or a wireless interface (such as a WI-FI interface, a Bluetooth interface, etc.), which is usually used to establish a communication connection between the server and other computer devices.

[0122] Among them, the readable storage medium or computer-readable storage medium includes at least one type of memory, and the memory includes flash memory, hard disk, multimedia card, card-type memory (for example, SD or DX memory, etc.), magnetic memory, disk, optical disk, etc. In some embodiments, it can be an internal storage unit of a computer device, such as a hard disk of the computer device. In other embodiments, the memory can also be an external storage device of a computer device, such as a plug-in hard disk equipped on the computer device, a smart memory card (Smart Media Card, SMC), a secure digital (Secure Digital, SD) card, a flash card (Flash Card), etc. Further, the memory can also include both an internal storage unit of a computer device and an external storage device. The memory can not only be used to store application software and various types of data installed in the computer device, such as the code of a computer program, etc., but can also be used to temporarily store data that has been output or is to be output.

[0123] In some embodiments, the processor may be a central processing unit (CPU), a controller, a microcontroller, a microprocessor or other data processing chip for running program codes stored in a memory or processing data, such as executing a computer program.

[0124] In some embodiments, the communication bus may also be an input / output bus, which may be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. The bus may be divided into an address bus, a data bus, a control bus, etc.

[0125] Some embodiments also provide a working method of a requesting end during a multi-location collaborative remote calibration process of a vehicle, including: the requesting end calls a calibration signal from a server to read a calibration signal value; and / or the requesting end sends a calibration signal write command to the server, and sends a command to the server to read the calibration signal after writing.

[0126] The requesting end creates corresponding mapping system variables for each calibration signal of the server; assigns initial values ​​to the mapping system variables; and the method in which the requesting end calls the calibration signal from the server to read the calibration value includes: for the calibration signal defined as an observation quantity, the calibration module in the requesting end obtains the calibration signal value stored by the server and stores it in the corresponding mapping system variable; when reading the mapping system variable, the last stored value of the mapping system variable is read out.

[0127] The request end creates corresponding mapping system variables for each calibration signal of the server; assigns initial values ​​to the mapping system variables; and the request end sends a calibration signal write command to the server and sends a command to the server to read the calibration signal after writing, including: for the calibration signal defined as the calibration amount, the request end associates the assignment function with an asynchronous function, wherein the assignment function is a mapping system variable write function for the target value to be written; when writing the calibration amount, the asynchronous function sends the write command and the read command to the server and returns immediately, and the asynchronous function call is completed.

[0128] The request end creates corresponding mapping system variables for each calibration signal of the server; assigns initial values ​​to the mapping system variables; and the request end sends a calibration signal write command to the server and sends a command to the server to read the calibration signal after writing, including: for the calibration signal defined as a writable observable, the request end associates the assignment function with an asynchronous function, wherein the assignment function is a mapping system variable write function for the target value to be written; when writing the writable observable, the asynchronous function sends a write command and a read command to the server and returns immediately, and the asynchronous function call is completed.

[0129] The request end is connected to the server, that is, when the server executes the write command and the read command successfully at the same time, the request end refreshes the last stored value of the mapping system variable to the target value to be written, and sends the write target value to the server.

[0130] In some embodiments, when the requesting end fails to receive the calibration signal from the server, if the requesting end writes the mapping system variable corresponding to the calibration signal, the requesting end will report an error.

[0131] Specifically, the working method of the requesting end during the multi-location collaborative remote calibration of vehicles refers to the content of the aforementioned multi-location collaborative remote calibration method for vehicles, which will not be repeated here.

[0132] like Figure 4 As shown, some embodiments further provide a requesting end, which is configured to execute a program of the working method of the requesting end in the process of multi-location collaborative remote calibration of vehicles as described above.

[0133] Specifically, the request end includes: a request processor, a request readable storage medium, a request communication bus and a request communication interface; wherein the request processor, the request readable storage medium and the request communication interface communicate with each other through the request communication bus; the request readable storage medium is used to store a program for executing the working method of the request end in the process of multi-location collaborative remote calibration of the vehicle as described above, and the program enables the request processor to execute the operations corresponding to the working method of the request end in the process of multi-location collaborative remote calibration of the vehicle.

[0134] like Figure 5 As shown, some embodiments also provide a response end, comprising: a computer device and a bus adapter; wherein the computer device is configured to send a calibration signal to a server; and is used to receive a written target value sent by the server; the bus adapter is configured to read the calibration signal from the ECU, and is also configured to send the target value to the ECU to complete the online calibration of the corresponding vehicle.

[0135] Wherein, the computer device comprises: a response processor, a response readable storage medium, a response communication bus and a response communication interface; wherein

[0136] The response readable storage medium is configured to store a program for executing the aforementioned method for remote calibration of multiple locations of an automobile, and the response processor is configured to execute the program for the aforementioned method for remote calibration of multiple locations of an automobile;

[0137] The response processor, the response readable storage medium and the response communication interface communicate with the bus adapter via the response communication bus;

[0138] The bus adapter is configured to read the calibration signal from the ECU, and is also configured to send the write value generated by the processor after executing the automobile multi-site collaborative remote calibration method to the ECU.

[0139] In some embodiments, the computer device corresponds to the above-mentioned server, which will not be described in detail here.

[0140] In some embodiments, the bus adapter can be a CAN bus adapter, a CANFD bus adapter, a FastLIN bus adapter, a LIN bus adapter, an Ethernet bus adapter, a FlexRay bus adapter, or it can be one-to-multiple or multiple-to-multiple. In some embodiments, the specific implementation of the bus adapter is not limited.

[0141] like Figure 6 As shown, some embodiments further provide a multi-location collaborative remote calibration system for an automobile, including:

[0142] A server configured to store a calibration database and receive and store a calibration signal sent from the responding end;

[0143] A requesting end, configured to execute a program of the working method of the requesting end in the process of multi-location coordinated remote calibration of vehicles as described above;

[0144] The response end is configured to send a calibration signal to the server; and to receive the written target value sent by the server and complete the online calibration of the vehicle.

[0145] Among them, the specific structures and working methods of the requesting end, the responding end, and the server refer to the aforementioned automobile multi-location collaborative remote calibration method and the working method of the requesting end during the automobile multi-location collaborative remote calibration process, and will not be repeated here.

[0146] Some embodiments also provide a computer program product, including a computer program or instructions, wherein when the computer program or instructions are executed on a computer, the computer is enabled to execute any possible method for collaborative remote calibration of vehicles at multiple locations or a working method of a requesting end in a collaborative remote calibration system for vehicles at multiple locations.

[0147] In several embodiments provided in the present application, it should be understood that the disclosed devices and methods can also be implemented in other ways. The device embodiments described above are merely schematic. For example, the flowcharts and block diagrams in the accompanying drawings show the possible architecture, functions and operations of the devices, methods and computer program products according to multiple embodiments of the present invention. In this regard, each box in the flowchart or block diagram can represent a module, a program segment or a part of a code, and the module, a program segment or a part of a code contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two consecutive boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flowchart, and the combination of boxes in the block diagram and / or flowchart can be implemented with a dedicated hardware-based system that performs a specified function or action, or can be implemented with a combination of dedicated hardware and computer instructions.

[0148] In addition, the functional modules in the various embodiments of the present invention may be integrated together to form an independent part, or each module may exist independently, or two or more modules may be integrated to form an independent part.

[0149] If the functions are implemented in the form of software function modules and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention.

[0150] Based on the above ideal embodiments of the present invention, the relevant staff can make various changes and modifications without departing from the technical concept of the present invention through the above description. The technical scope of the present invention is not limited to the contents of the specification, and its technical scope must be determined according to the scope of the claims.

Claims

1. A collaborative calibration system, characterized in that: include: server; A plurality of answering terminals, each answering terminal is distributed in a different region, and each answering terminal sends a calibration signal of a corresponding automobile ECU to the server for storage; A requesting end, wherein the calibration module of the requesting end is adapted to call the calibration database of the server and automatically create a mapping system variable for a corresponding calibration signal in the calibration database; and The request side is also used to construct a graphical program for judging the calibration signal defined as the observed quantity; When the automobile ECU function test is started, the calibration module on the requesting end connects to the corresponding automobile ECU on the responding end through the server to read the current value of the calibration signal in each automobile ECU and assign it to the corresponding mapping system variable, that is, assign an initial value to the mapping system variable; Then, the calibration module on the requesting end periodically reads the calibration signal value in each vehicle ECU through query or DAQ mode, and stores it in the corresponding mapping system variable; finally, when executing the graphic program, it directly reads the value of the corresponding mapping system variable and compares it to complete the coordinated calibration of each corresponding vehicle.

2. The collaborative calibration system according to claim 1, characterized in that: The request side is also used to construct a graphics program that writes a calibration signal value defined as a calibration amount; When the automobile ECU function test is started, the calibration module on the requesting end connects to the corresponding automobile ECU on the responding end through the server, and associates the assignment function of the corresponding mapping system variable with the asynchronous function. The function of the asynchronous function is to call the API function of the calibration module on the requesting end to perform the write and read operations on the corresponding calibration signal; When executing the request-side graphic program, the calibration module on the request-side will call an asynchronous function and pass in the target value as a parameter; in the asynchronous function, the following requests are initiated to the server in an asynchronous manner: a request to write a calibration signal, with the request carrying a parameter of writing the target value; a request to read a calibration signal; the calibration module on the request-side will write the calibration signal in sequence, and send the written target value to the responding end through the server, and the responding end will write the target value, that is, the calibration signal value in the corresponding vehicle ECU is modified to the target value, and the calibration module on the request-side will apply to the server to read the corresponding calibration signal; as well as When the server executes the write command and the read command successfully at the same time, the requesting end refreshes the last stored value of the mapping system variable to the target value to be written, and sends the write target value to the server. The server sends the target value to the corresponding automobile ECU of the responding end to complete the coordinated calibration of each corresponding vehicle.

3. The collaborative calibration system according to claim 2, characterized in that: The request side is also used to construct graphical programs that write the values ​​of calibrated signals defined as writable observables; When the automobile ECU function test is started, the calibration module on the request side connects to the corresponding automobile ECU on the response side through the server to read the current value of the calibration signal in each automobile ECU and assign it to the corresponding mapping system variable; then the calibration module on the request side periodically reads the corresponding calibration signal value through query or DAQ mode and stores it in the mapping system variable; during the test process, if the automobile ECU detects that the calibration signal value has changed to a new value, the value of the mapping system variable will be rewritten to the new value; the calibration module on the request side also associates the assignment function of the mapping system variable with the asynchronous function; When executing the request-side graphic program, the calibration module on the request-side will call an asynchronous function and pass in the target value as a parameter; in the asynchronous function, the following requests are initiated to the server in an asynchronous manner: a request to write a calibration signal, with the request carrying a parameter of writing the target value; a request to read a calibration signal; the calibration module on the request-side will write the calibration signal in sequence, and send the written target value to the responding end through the server, and the responding end will write the target value, that is, the calibration signal value in the corresponding vehicle ECU is modified to the target value, and the calibration module on the request-side will apply to the server to read the calibration signal; as well as When the server executes the write command and the read command successfully at the same time, the requesting end refreshes the last stored value of the mapping system variable to the target value to be written, and sends the write target value to the server. The server sends the target value to the corresponding automobile ECU of the responding end to complete the coordinated calibration of each corresponding vehicle.

4. The collaborative calibration system according to claim 3, characterized in that: The local computer serves as the requesting end, and the calibration module in the local computer is simultaneously connected to multiple automobile ECUs of the responding end through the server, and each responding end sends the calibration signal of the corresponding automobile ECU to the server for storage; as well as The calibration module in the local computer automatically creates corresponding mapping system variables locally for the calibration signal stored in the server; the calibration module in the local computer calls the calibration signal from the server to read the calibration signal value, and assigns initial values ​​to each mapping system variable.

5. The collaborative calibration system according to claim 4, characterized in that: Using wildcards to update code in a graphics program on a local computer, the wildcards being strings used to match pre-set patterns; and When modifying the values ​​of mapped system variables in batches, wildcards are suitable for matching a batch of mapped system variables for batch modification.

6. The collaborative calibration system according to claim 1, characterized in that: The naming rule of the mapping system variables is: use the car ECU name as a prefix, and separate the calibration signal name from the car ECU name with a separator line.

7. The collaborative calibration system according to claim 6, characterized in that: The separator line is an underline.

8. The collaborative calibration system according to claim 1, characterized in that: The answering end includes: a computer device and a bus adapter; wherein The computer device is configured to send a calibration signal to the server, and is also configured to receive a written target value sent by the server; and The bus adapter is configured to read a calibration signal from the automobile ECU, and is also configured to send the target value to the automobile ECU.

9. A collaborative calibration method applied to the collaborative calibration system according to claim 1, characterized in that: include: The request end calls the calibration signal from the server to read the calibration signal value, sends a calibration signal write command to the server, and sends a command to read the calibration signal after writing to the server; as well as The response end sends a calibration signal to the server, and is also used to receive the written target value sent by the server and complete the online calibration of the vehicle.

10. A working method of a requesting end for a collaborative calibration system, characterized in that: include: The calibration module in the request end calls the calibration database of the server, and automatically creates mapping system variables for the corresponding calibration signals in the calibration database; as well as The request side is also used to construct a graphical program for judging the calibration signal defined as the observed quantity; When the automobile ECU function test is started, the calibration module on the requesting end connects to the corresponding automobile ECU on the responding end through the server to read the current value of the calibration signal in each automobile ECU and assign it to the corresponding mapping system variable, that is, assign an initial value to the mapping system variable; Then, the calibration module on the requesting end periodically reads the calibration signal value in each vehicle ECU through query or DAQ mode, and stores it in the corresponding mapping system variable; finally, when executing the graphic program, it directly reads the value of the corresponding mapping system variable and compares it to complete the coordinated calibration of each corresponding vehicle.

11. The working method according to claim 10, characterized in that: The request side is also used to construct a graphics program that writes a calibration signal value defined as a calibration amount; When the automobile ECU function test is started, the calibration module on the requesting end connects to the corresponding automobile ECU on the responding end through the server, and associates the assignment function of the corresponding mapping system variable with the asynchronous function. The function of the asynchronous function is to call the API function of the calibration module on the requesting end to perform the write and read operations on the corresponding calibration signal; When executing the request-side graphic program, the calibration module on the request-side will call an asynchronous function and pass in the target value as a parameter; in the asynchronous function, the following requests are initiated to the server in an asynchronous manner: a request to write a calibration signal, with the request carrying a parameter of writing the target value; a request to read a calibration signal; the calibration module on the request-side will write the calibration signal in sequence, and send the written target value to the responding end through the server, and the responding end will write the target value, that is, the calibration signal value in the corresponding vehicle ECU is modified to the target value, and the calibration module on the request-side will apply to the server to read the corresponding calibration signal; as well as When the server executes the write command and the read command successfully at the same time, the requesting end refreshes the last stored value of the mapping system variable to the target value to be written, and sends the write target value to the server. The server sends the target value to the corresponding automobile ECU of the responding end to complete the coordinated calibration of each corresponding vehicle.

12. The working method according to claim 11, characterized in that: The request side is also used to construct graphical programs that write the values ​​of calibrated signals defined as writable observables; When the automobile ECU function test is started, the calibration module on the request side connects to the corresponding automobile ECU on the response side through the server to read the current value of the calibration signal in each automobile ECU and assign it to the corresponding mapping system variable; then the calibration module on the request side periodically reads the corresponding calibration signal value through query or DAQ mode and stores it in the mapping system variable; during the test process, if the automobile ECU detects that the calibration signal value has changed to a new value, the value of the mapping system variable will be rewritten to the new value; the calibration module on the request side also associates the assignment function of the mapping system variable with the asynchronous function; When executing the request-side graphic program, the calibration module on the request-side will call an asynchronous function and pass in the target value as a parameter; in the asynchronous function, the following requests are initiated to the server in an asynchronous manner: a request to write a calibration signal, with the request carrying a parameter of writing the target value; a request to read a calibration signal; the calibration module on the request-side will write the calibration signal in sequence, and send the written target value to the responding end through the server, and the responding end will write the target value, that is, the calibration signal value in the corresponding vehicle ECU is modified to the target value, and the calibration module on the request-side will apply to the server to read the calibration signal; as well as When the server executes the write command and the read command successfully at the same time, the requesting end refreshes the last stored value of the mapping system variable to the target value to be written, and sends the write target value to the server. The server sends the target value to the corresponding automobile ECU of the responding end to complete the coordinated calibration of each corresponding vehicle.

13. A computer, characterized in that: The computer is configured to act as a request end to execute a computer program or instruction, so that the computer acts as a request end to execute the working method as described in any one of claims 10-12.

14. A computer program product, comprising a computer program or instructions, wherein when the computer program or instructions are executed on a computer, the computer is enabled to execute the working method according to any one of claims 10 to 12.

15. A storage medium, characterized in that: Computer-readable instructions are stored, and when the computer-readable instructions are executed by at least one processor, the working method according to any one of claims 10 to 12 is executed.