Apparatus, media, and algorithms for displacement detection with a micrometer based eddy current sensor
Patent Information
- Application Number
- CN202611316964.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-08-28
- Publication Date
- 2026-09-25
AI Technical Summary
[0038]本发明通过将各从节点的采样机制由传统的查询触发式重构为自主定时采样机制,并同步获取本地时间戳,从源头上解除了控制主机的轮询时序与各从节点位移采样时序之间的强耦合关系。基于该时序标注位移序列,利用时间偏差补偿算法对各节点采样时刻进行对齐,并结合被测表面变形连续性约束进行空间校正,有效消除了因RS485总线轮询延迟导致的测量数据时间戳失真问题。该方案确保了各测点位移数据在时间维度和空间维度上达到高度一致,杜绝了动态测量场景下因轮询延迟产生的虚假位移差值,从而防止了平面度、对称度等衍生计量指标的误报,提升了多节点组网检测系统的测量可信度与自动化水平。
Smart Images

Figure CN122813625A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of displacement detection, specifically to a device, medium, and algorithm for dial gauge displacement detection based on eddy current sensors. Background Technology
[0002] Eddy current sensors are non-contact displacement measuring devices based on the principle of electromagnetic induction. Their working principle is as follows: a high-frequency alternating current is passed through the probe coil, inducing an eddy current effect on the surface of the conductor being measured. The intensity of the eddy currents on the conductor surface changes with the distance between the probe and the conductor, causing a change in the equivalent impedance of the probe coil. The sensor detection circuit obtains an analog voltage output corresponding to the displacement by demodulating this impedance change signal. In the fields of precision manufacturing and quality inspection, eddy current sensors are often integrated into dial indicators for measuring minute displacements of workpieces, with resolutions reaching the micrometer level. When multiple eddy current sensor dial indicators are networked via an RS485 bus and connected to the same control host for multi-point collaborative detection, the control host can simultaneously acquire displacement data at multiple locations on the surface of the workpiece and perform multi-point derived metrological calculations, including calculations of geometric tolerances such as straightness, flatness, and symmetry assessments. This multi-node eddy current sensor dial gauge network detection system has a wide range of deployment needs in industrial application scenarios such as automotive engine block flatness detection, precision mold parting surface flatness monitoring, and online monitoring of thermal deformation of large structural components.
[0003] However, in actual industrial deployments, when there are many eddy current sensors and dial indicators connected to the RS485 bus, and the workpiece being measured is in a dynamic state, production line operators have observed the following problems: In scenarios where multiple measurement point displacement data need to be compared simultaneously, the displacement data of different measurement points exhibit a significant time misalignment on the control host display terminal. Specifically, the displacement data of one measurement point has already reflected the displacement change of the workpiece surface, while the displacement data of adjacent measurement points remains at the previous reading. When using the displacement difference between adjacent measurement points to calculate derived metrological indicators such as flatness or symmetry, the calculated results are significantly larger than the actual geometric deviation, even triggering false warping alarms or out-of-tolerance alarms when the actual flatness of the workpiece surface is acceptable. The above phenomena are more severe when the displacement change rate of the workpiece being measured is higher and the number of sensor nodes connected to the bus is greater, but are not obvious under static measurement conditions or when only a small number of nodes are used. These apparent problems reduce the measurement reliability of multi-node eddy current sensor dial indicator network detection systems in dynamic multi-point collaborative detection scenarios. Production line operators have to frequently perform manual retests to verify the automatic detection results, which seriously affects production efficiency and the level of detection automation.
[0004] To address the aforementioned shortcomings, a technical solution is provided. Summary of the Invention
[0005] To address the technical problems raised in the background section, this invention is proposed. This invention provides a device, medium, and algorithm for dial gauge displacement detection based on an eddy current sensor.
[0006] This invention is achieved through the following technical solution: an algorithm for dial gauge displacement detection based on an eddy current sensor, comprising:
[0007] The displacement data with local timestamps generated by each eddy current sensor slave node on the RS485 bus based on the autonomous timing sampling mechanism are acquired. The displacement data with local timestamps are summarized to obtain the time-marked displacement sequence.
[0008] Time deviation compensation and spatial correction based on the deformation continuity constraint of the measured surface are performed on the time-marked displacement sequence to obtain a synchronous displacement snapshot;
[0009] Multi-point displacement derivation measurement is performed based on synchronous displacement snapshot, and displacement detection results are output.
[0010] The steps for outputting displacement detection results are as follows:
[0011] Determine whether the installation coordinates of each slave node are collinear. If they are collinear, the measurement mode is determined to be the straightness evaluation mode. If they are not collinear, calculate the two eigenvalues of the two-dimensional covariance matrix formed by the installation coordinates and take the ratio of the larger and smaller eigenvalues as the eigenvalue ratio. When the eigenvalue ratio is greater than the preset distribution shape threshold, it is determined to be the flatness evaluation mode. Otherwise, it is determined to be the symmetry evaluation mode, and the measurement mode identifier is output.
[0012] Based on the metering mode identifier, perform corresponding derived metering operations on the synchronous displacement snapshot and output the derived metering results;
[0013] The derived measurement results and the displacement values of each measuring point in the synchronous displacement snapshot are encapsulated together into a detection data frame, which is then transmitted externally through an external communication interface or stored locally to output the displacement detection results.
[0014] Furthermore, the analysis steps for synchronous displacement snapshots are as follows:
[0015] Extract the local timestamp of each slave node, calculate the time offset of each slave node, and obtain the time-compensated displacement value by adding the displacement value of the node to the product of the displacement rate and the negative value of the time offset. With each slave node as a vertex, and the displacement value, time-compensated displacement value, installation coordinates, displacement rate, and time offset as vertex attributes, construct directed edges in a round-robin order, and use the time offset of the end node of the adjacent directed edge minus the time offset of the starting node as the edge weight to construct a temporal causal directed graph.
[0016] Based on the temporal causal directed graph, spatial correction is performed under the constraint of deformation continuity of the measured surface to obtain the corrected displacement set.
[0017] Furthermore, the analysis steps for synchronous displacement snapshots also include:
[0018] The corrected displacement value of each slave node in the corrected displacement set is analyzed with the time-compensated displacement value of the node in the temporal causal directed graph to obtain the corrected residual of each slave node. The corrected residual of each slave node is marked on the corresponding node entry in the corrected displacement set to obtain the quality assessment marked displacement set.
[0019] If the maximum value of the correction residual is less than the convergence threshold, it is considered qualified, and all corrected displacement values are extracted to form a synchronous displacement snapshot; if it is not less than the convergence threshold, the spatial correction and acquisition steps of the quality assessment mark displacement set are repeated with the quality assessment mark displacement set as input until it is qualified.
[0020] Furthermore, the analysis steps for the convergence determination threshold are as follows: calculate the maximum value of the correction residuals of all slave nodes, extract the installation coordinates of each slave node, calculate the minimum Euclidean distance between all node pairs, extract the maximum value of the absolute value of the displacement rate, divide the minimum Euclidean distance by the maximum value of the absolute value of the displacement rate to define the space-time coupling coefficient; divide the total polling delay by the space-time coupling coefficient and then multiply by the system preset resolution to obtain the convergence determination threshold.
[0021] Furthermore, the steps for performing spatial correction under the constraint of the deformation continuity of the measured surface are as follows:
[0022] Extract the installation coordinates of each slave node, take the root mean square of the Euclidean distance between all slave node pairs as the spatial attenuation scale, and take the negative value of the natural exponential function value after dividing the square of the Euclidean distance between each slave node pair by the square of the spatial attenuation scale as the spatial stiffness coupling weight; arrange the weights in the order of the node number rows and columns to construct a spatial stiffness weighted adjacency matrix.
[0023] Based on the temporal causal directed graph, the time-compensated displacement value of each slave node is extracted. The neighborhood weighted average of the time-compensated displacement value is calculated according to the spatial stiffness weighted adjacency matrix to obtain the neighborhood weighted average displacement of each slave node. The difference between the time-compensated displacement value and the neighborhood weighted average displacement of each slave node is calculated to obtain the continuity violation of each slave node.
[0024] Furthermore, the steps for performing spatial correction under the constraint of the deformation continuity of the measured surface also include:
[0025] The optimization objective is to minimize the sum of squares of the values of the corresponding row elements of the spatial stiffness-weighted adjacency matrix multiplied by the continuity violation of each slave node. The constraint is that the absolute value of the displacement adjustment of each slave node does not exceed the absolute value of the product of the displacement rate and the time offset of the node. The time compensation displacement value of each slave node is iteratively adjusted until the optimization objective converges. The adjusted displacement values of each slave node after convergence are output as the corrected displacement set.
[0026] Furthermore, the analysis steps for the time-annotated displacement sequence are as follows:
[0027] A sampling configuration command is sent to each eddy current sensor slave node on the RS485 bus to instruct each slave node to configure a timing mechanism to trigger voltage acquisition with a fixed sampling period, perform piecewise linear interpolation calibration to obtain displacement value, and write the displacement value and local timestamp into the buffer to generate a timestamped displacement buffer frame.
[0028] Query commands are sent to each slave node in the current polling order, and response frames are received from each slave node in response to the query commands. Each response frame contains a timestamped displacement buffer frame packaged by each slave node. All received response frames are aggregated, and the displacement value, local timestamp, and fixed sampling period of each slave node are extracted to assemble a time-marked displacement sequence.
[0029] Furthermore, it also includes the step of dynamically adjusting the polling order: dynamically adjusting the current polling order based on the correction residuals of each slave node output in the previous processing cycle, moving the query position of slave nodes whose correction residuals are greater than their average value forward in the polling queue, and moving the query position of slave nodes whose correction residuals are not greater than their average value backward, so as to obtain the adjusted polling order for use when sending query commands in the next round.
[0030] Furthermore, the steps for performing the corresponding derived econometric calculations include:
[0031] In the straightness evaluation mode, least squares straight line fitting is performed on each displacement value in the synchronous displacement snapshot along the arrangement direction of the installation coordinates, and the maximum deviation between the fitted line and the straight line is calculated as the straightness index. In the flatness evaluation mode, least squares plane fitting is performed, and the difference between the maximum positive and negative deviations between the fitted plane and the plane is calculated as the flatness index. In the symmetry evaluation mode, the nodes are paired with the geometric center of the installation coordinates as the reference, and the maximum absolute value of the difference between each pair of displacement values is calculated as the symmetry index, and the derived measurement results are output.
[0032] A dial gauge displacement detection device based on an eddy current sensor includes:
[0033] The sequence construction module acquires displacement data with local timestamps generated by each eddy current sensor slave node on the RS485 bus based on an autonomous timing sampling mechanism, and summarizes the displacement data with local timestamps to obtain a time-marked displacement sequence.
[0034] The deviation compensation module performs time deviation compensation and spatial correction based on the deformation continuity constraint of the measured surface on the time-series labeled displacement sequence to obtain a synchronous displacement snapshot;
[0035] The derivative measurement module performs multi-point displacement derivative measurement based on synchronous displacement snapshots and outputs displacement detection results.
[0036] The medium for dial gauge displacement detection based on eddy current sensor is a computer-readable storage medium on which a computer program is stored. When the computer program is executed by a processor, it implements the steps of the algorithm for dial gauge displacement detection based on eddy current sensor.
[0037] Compared with the prior art, the beneficial effects of the present invention are:
[0038] This invention restructures the sampling mechanism of each slave node from the traditional query-triggered type to an autonomous timed sampling mechanism, synchronously acquiring local timestamps. This fundamentally decouples the strong coupling between the polling sequence of the control host and the displacement sampling sequence of each slave node. Based on this time-marked displacement sequence, a time deviation compensation algorithm is used to align the sampling times of each node, and spatial correction is performed in conjunction with the deformation continuity constraint of the measured surface. This effectively eliminates the problem of timestamp distortion in measurement data caused by RS485 bus polling delay. This scheme ensures that the displacement data of each measuring point achieves a high degree of consistency in both time and space dimensions, eliminating false displacement differences caused by polling delays in dynamic measurement scenarios. This prevents false alarms in derived metrological indicators such as flatness and symmetry, and improves the measurement reliability and automation level of the multi-node network detection system.
[0039] This invention adaptively optimizes the query position of each node by adjusting the dynamic polling order based on the residual correction of the previous processing cycle, reducing the time offset of high-deviation nodes and significantly accelerating the convergence speed of the spatial correction algorithm. It introduces spatial stiffness coupling weights based on Gaussian radial basis functions to construct a spatial stiffness weighted adjacency matrix. While satisfying the continuity constraint of the deformation of the measured surface, it introduces kinematic physical boundary conditions to constrain the adjustment amount, ensuring the physical rationality and authenticity of the spatial correction results. Furthermore, through dynamic convergence judgment thresholds based on multi-parameter joint calculation and automated multi-measurement point derived measurement pattern recognition, the detection system can automatically match the optimal correction strategy and calculation model according to the current system configuration, the motion state of the measured workpiece, and its geometric distribution characteristics. This ensures that high-precision displacement detection results consistent with actual geometric tolerances can be output even in complex industrial environments. Attached Figure Description
[0040] To more clearly illustrate the technical solutions of the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. The following drawings are not drawn to scale according to the actual size, but are intended to show the main idea of the present invention.
[0041] Figure 1 This is a system block diagram of a dial gauge displacement detection device based on an eddy current sensor.
[0042] Figure 2 The flowchart shows the micrometer displacement detection algorithm based on eddy current sensor.
[0043] Figure 3 This is a schematic diagram illustrating the cumulative deviation at sampling time under a query-triggered sampling mechanism.
[0044] Figure 4 Schematic diagram of the autonomous timed sampling mechanism and timestamped offset buffer frame construction principle;
[0045] Figure 5 This is a schematic diagram of the topological structure of a time-series causal directed graph.
[0046] Figure 6 This is a schematic diagram illustrating the discrimination of derived measurement modes based on installation coordinate distribution. Detailed Implementation
[0047] The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are also within the scope of protection of the present invention.
[0048] Example 1
[0049] Before describing the specific technical steps of the present invention, the causes of the problems mentioned in the background art are analyzed in order to understand the design basis of the various technical means of the present invention.
[0050] The RS485 bus uses half-duplex communication, and in typical multi-node network applications, a master-slave polling communication protocol is usually employed. The control master sends a query command to each eddy current sensor slave node sequentially according to a predetermined polling order, waiting for the slave node to respond before sending the query command to the next slave node. Each slave node's response process includes several serial sub-processes: receiving and parsing the control master's query command, triggering the analog-to-digital converter (ADC) to perform one ADC sampling, waiting for the conversion to complete, reading the digital result, performing calibration calculations, and packaging the displacement data into a response frame for transmission. When the number of slave nodes on the bus expands from a small number to more than ten, the total time for the control master to complete a full round of polling increases from tens of milliseconds to hundreds of milliseconds. During a round of polling, there is a significant time difference between the actual time when the slave node at the front of the polling sequence and the slave node at the back of the polling sequence performs ADC sampling. This time difference increases with the total number of slave nodes and the response time of a single slave node. When the response times of all slave nodes are similar, it can be approximately considered to be proportional to the number of slave nodes and the response time of a single slave node.
[0051] The fundamental reason for the aforementioned problem lies in the fact that, in conventional implementations prior to the adoption of this invention, each eddy current sensor slave node employs a poll-triggered sampling mechanism. This means that the slave node only initiates analog-to-digital conversion and calibration calculations once after receiving a poll command from the control host. Under this mechanism, the actual sampling time of the nth queried slave node is equal to the sampling time of the first slave node plus the cumulative total of the poll command transmission time, response time, and bus direction switching delay of the previous (n-1) slave nodes. Taking a typical industrial field configuration as an example, with a communication baud rate of 9600 bits per second, assuming an average single-node response time of approximately 20 milliseconds, and fifteen slave nodes connected to the bus, the sampling time deviation between the first and fifteenth queried slave nodes can reach the order of two to three hundred milliseconds. When the workpiece under test is in a dynamic state, the displacement change corresponding to this level of sampling time deviation is several times the nominal resolution of the dial indicator. The control host treats all the slave node data collected in one round of polling as a multi-point displacement snapshot at the same moment and directly uses it for the difference calculation of derived measurement indicators. However, in reality, the displacement data of each slave node corresponds to the displacement state of the measured surface at different times. This systematic deviation in the time dimension is directly injected into the multi-point difference calculation, causing the derived measurement indicators such as flatness and symmetry to produce false deviation components that are unrelated to the actual geometric deviation.
[0052] Figure 3 This is a schematic diagram illustrating the cumulative deviation at sampling time under a query-triggered sampling mechanism.
[0053] Figure 3This illustrates the cumulative sampling time offset that occurs when the control host sequentially polls each slave node via the RS485 bus under a traditional polling-triggered sampling mechanism. The upper part of the diagram shows the control host connected to slave node 1, slave node 2, slave node 3, and so on, via the RS485 bus. The network topology is shown below. The timeline is shown below, with each slave node corresponding to a sampling time on the timeline via dashed lines. , , ... This indicates that the actual sampling time of each slave node shifts sequentially forward according to the polling order. The maximum sampling time deviation is marked at the bottom of the figure. This refers to the sampling time deviation between the first and last queried slave node, summarized as the cumulative offset of the sampling time of each slave node along the polling order. The figure illustrates a significant systematic time deviation between the slave nodes at the front and the slave nodes at the back of the polling sequence, and this deviation increases with the number of slave nodes.
[0054] Based on the above analysis, this invention provides a dial gauge displacement detection algorithm based on an eddy current sensor, applied to a control host, to solve the problem of displacement data timestamp distortion caused by multi-node RS485 polling delay. The overall technical solution of this algorithm includes the following three main steps: step S10, step S20, and step S30.
[0055] Step S10 involves acquiring displacement data with local timestamps generated by each eddy current sensor slave node on the RS485 bus based on an autonomous timing sampling mechanism, and summarizing the displacement data with local timestamps to obtain a time-series labeled displacement sequence. Step S10 includes steps S11, S12, and S13.
[0056] Figure 4 This is a schematic diagram illustrating the construction principle of an autonomous timed sampling mechanism and a timestamped offset buffer frame.
[0057] Figure 4 This diagram illustrates the complete signal processing flow within a single slave node using the autonomous timing sampling mechanism employed in this invention. The signal chain, from left to right, is as follows: the eddy current sensor probe output signal is converted into an analog voltage by a signal conditioning circuit, then converted into a digital quantity by an analog-to-digital converter (ADC), and subsequently calibrated using piecewise linear interpolation to obtain the displacement value. The hardware timer in the lower left corner of the diagram generates a timing interrupt with a fixed sampling period to trigger the ADC to perform data acquisition, demonstrating the core feature that the sampling time is determined solely by the local hardware timer and is completely decoupled from the polling behavior of the control host. The diagram on the right indicates that after obtaining the displacement value, the system timer is read to obtain the local timestamp. Finally, the displacement value and the local timestamp are written together into a timestamped displacement buffer frame. The data structure of this buffer frame contains two fields: displacement value and local timestamp. and local timestamp .
[0058] Step S11: Send a sampling configuration command to each eddy current sensor slave node on the RS485 bus to instruct each slave node to configure a timing mechanism to trigger voltage acquisition with a fixed sampling period, perform piecewise linear interpolation calibration to obtain displacement value, and write the displacement value and local timestamp into the cache to generate a timestamped displacement cache frame.
[0059] During system initialization, the control host sends a sampling configuration command to each eddy current sensor slave node via the RS485 bus. The sampling configuration command is a communication frame containing a target sampling period parameter, which specifies the time interval for each slave node to perform periodic sampling, in milliseconds. The frame structure of the sampling configuration command includes a slave node address field, a function code field, and a sampling period data field. The slave node address field specifies the unique bus address of the target slave node receiving the command, the function code field identifies the command type as sampling configuration, and the sampling period data field carries a fixed sampling period value in milliseconds.
[0060] While sending the sampling configuration command, the control host also broadcasts a clock synchronization command to all slave nodes via the RS485 bus. This clock synchronization command instructs each slave node to reset its internal system timer to zero upon receiving the command, thereby ensuring that the local timestamps of all slave nodes start counting from the same time, eliminating the local timestamp starting point deviation caused by the different power-on times of each slave node.
[0061] After receiving and parsing the sampling configuration command, each eddy current sensor slave node configures the hardware timer of its internal microcontroller to generate a timing interrupt at a fixed sampling period specified in the sampling configuration command. The fixed sampling period is a time interval parameter uniformly issued by the control host through the sampling configuration command; its physical meaning is the time interval between two adjacent autonomous samples, measured in milliseconds. The fixed sampling period is obtained as follows: in the target deployment scenario, the maximum allowable movement speed is determined by the design specifications of the production line equipment and is the maximum movement speed that the measured workpiece can reach under normal production conditions. The displacement rate of the workpiece under test is sampled multiple times at the maximum permissible speed, with no fewer than twenty samplings. The displacement rate of the workpiece per unit time is recorded in each sampling. The maximum displacement rate obtained from all samplings is taken. The nominal resolution of the dial indicator is divided by this maximum displacement rate to obtain the maximum permissible sampling interval required to ensure that the displacement change between two adjacent samplings does not exceed one resolution unit at the maximum speed. That is, the fixed sampling period is equal to the nominal resolution of the dial indicator divided by the maximum displacement rate, where the unit of the nominal resolution of the dial indicator is millimeters, the unit of the maximum displacement rate is millimeters per millisecond, and the unit of the division result is milliseconds, ensuring dimensional consistency. This maximum permissible sampling interval is used as the fixed sampling period. When the workpiece under test is in a static or quasi-static state, and the maximum displacement rate is less than the dial indicator's nominal resolution divided by a preset maximum sampling interval upper limit, this preset maximum sampling interval upper limit is used as the fixed sampling period. The maximum sampling interval upper limit is obtained by measuring the actual time taken for the control host to complete one round of polling of all slave nodes during system initialization. The time interval between the control host sending the first query command and receiving the last slave node's response frame is recorded. This time interval is divided by the total number of slave nodes on the bus to obtain the average polling time per node. Half of this average polling time per node is used as the maximum sampling interval upper limit. The basis for taking half is the constraint required by the Nyquist sampling theorem that the sampling frequency must be at least twice the signal change frequency. This ensures that each slave node completes at least two autonomous samples within the polling period, guaranteeing that the data in the control host's cache does not exceed one polling cycle time when querying at any given moment. This method ensures that, at any permissible movement speed, the displacement change of the measured surface between two adjacent autonomous samples does not exceed a single resolution unit of the dial indicator, thus ensuring that the sampling data can completely capture the displacement change process of the measured surface.
[0062] Each time a hardware timer interrupt is triggered, the microcontroller on the slave node executes the following processing flow: First, a voltage acquisition is initiated through the data interface of the analog-to-digital converter (ADC). The current analog voltage value is obtained from the output of the signal conditioning circuit of the eddy current sensor probe. The ADC then converts this analog voltage value into a corresponding digital value. The analog voltage value is the voltage signal output after demodulation of the equivalent impedance change of the eddy current sensor probe coil by the signal conditioning circuit. Its unit is volts, and its value range depends on the output range design of the signal conditioning circuit.
[0063] Piecewise linear interpolation calibration is performed on the digital result to obtain the displacement value. The implementation method of piecewise linear interpolation calibration is as follows: During the sensor's factory calibration stage, multiple uniformly distributed calibration displacement points are pre-selected within the sensor's measurement range. The number of calibration displacement points is no less than ten to ensure that the width of each calibration interval is small enough to keep the linear approximation error within each interval within an acceptable range. At each calibration displacement point, the analog-to-digital conversion digital quantity output by the eddy current sensor and the corresponding standard displacement value are recorded. All calibration points are arranged according to the magnitude of the digital quantity to form a calibration lookup table, which is stored in the non-volatile memory of the slave node. The calibration lookup table is an ordered data structure consisting of multiple rows and two columns. The first column stores the analog-to-digital conversion digital quantity corresponding to the calibration displacement point, and the second column stores the corresponding standard displacement value. The rows are arranged in ascending order according to the digital quantity in the first column. The unit of displacement value is millimeters. During piecewise linear interpolation calibration at runtime, the current analog-to-digital conversion result is compared row by row with the first column of the calibration lookup table. The pair of adjacent calibration points whose current result falls between the values of two adjacent calibration points is found. The difference between the current result and the smaller calibration point is obtained by subtracting the smaller calibration point's value from the current result. The width of the digital range is obtained by subtracting the smaller calibration point's value from the larger calibration point's value. The interpolation ratio is obtained by dividing the difference between the two values by the width of the digital range. The displacement range is obtained by subtracting the standard displacement value of the smaller calibration point from the standard displacement value of the larger calibration point. The displacement value is obtained by adding the interpolation ratio and the displacement range width to the standard displacement value of the smaller calibration point. When the analog-to-digital conversion result exceeds the range of the calibration lookup table (i.e., less than the minimum or greater than the maximum value), the displacement value is obtained by linear extrapolation using the closest pair of calibration points at both ends of the lookup table. An over-range flag is then marked on this displacement value for the control host to identify. When the control host receives a displacement value with an over-range flag in step S12, it marks the displacement value of the slave node as over-range. In step S21, instead of calculating the displacement rate and time-compensated displacement value for the slave node, it uses the most recent valid displacement value without the over-range flag from the previous processing cycle of the slave node as a substitute value for subsequent calculations. Furthermore, in the detection data frame output in step S33, an over-range alarm label is added to the slave node. This piecewise linear interpolation calibration method approximates the nonlinear output characteristics of the eddy current sensor with a linear function within each calibration interval, effectively reducing nonlinear errors compared to a single linear fitting across the entire range.
[0064] After obtaining the displacement value, the node simultaneously reads the current count value of its microcontroller's internal system timer as a local timestamp. The local timestamp is a time value calculated from the accumulated count value of the system timer since the clock synchronization instruction triggered the reset. The conversion formula is: local timestamp = accumulated system timer count value divided by the system timer's clock frequency, then multiplied by 1000, resulting in a time value in milliseconds. The clock frequency is obtained as follows: the input clock source specification of the microcontroller's internal system timer is read from the microcontroller's hardware datasheet. When the system timer's input clock source is the output frequency of an external crystal oscillator, the clock frequency equals the nominal oscillation frequency of the external crystal oscillator, which is indicated in the crystal oscillator's datasheet in Hertz (Hz). When the system timer's input clock source is the output frequency of the external crystal oscillator after being multiplied by the microcontroller's internal phase-locked loop (PLL), the clock frequency equals the nominal oscillation frequency of the external crystal oscillator multiplied by the PLL's multiplication factor, which is read from the microcontroller's clock configuration register. The local timestamp is measured in milliseconds, and its value starts from zero and increases with runtime. When the accumulated count of the system timer reaches its maximum representable value and overflow occurs, the slave node detects the overflow event and increments the overflow counter when calculating the local timestamp. The overflow counter is multiplied by the time span corresponding to the single overflow, and the time value converted from the current count value is added to obtain a continuously increasing local timestamp, ensuring that the local timestamp does not jump due to overflow during long-term operation. The slave node writes the displacement value and the local timestamp into a dedicated cache area in the microcontroller's internal random access memory, forming a timestamped displacement cache frame. The timestamped displacement cache frame is a storage structure containing two data fields: the first field stores the displacement value, and the second field stores the local timestamp. The two fields are arranged in order of fixed address offset within the cache area. Each time a new hardware timer interrupt is triggered and sampling and calibration are completed, the new displacement value and local timestamp are overwritten into this cache area, ensuring that the timestamped displacement cache frame always contains the latest sampled data. Since the fixed sampling period is much shorter than the total time it takes for the control host to complete a full round of polling, the additional time error introduced by cache reads is at most one sampling period, which is negligible compared to the polling latency. Furthermore, the local timestamp records the sampling time, not the time the cache is read; the control host uses the sampling time information, therefore this cache read error does not affect the correctness of subsequent time deviation compensation.
[0065] The autonomous timing sampling mechanism replaces the traditional poll-triggered sampling mechanism. Its physical principle is as follows: In the poll-triggered sampling mechanism, the sampling time of the slave node is controlled by the arrival time of the host's polling. The arrival time of the host's polling accumulates and delays node by node as the polling sequence progresses, resulting in a systematic time deviation between different slave nodes' sampling times related to the polling order. The autonomous timing sampling mechanism ensures that the sampling time of each slave node is determined solely by the interrupt trigger time of its local hardware timer, completely decoupling it from the host's polling behavior in time. Each slave node's hardware timer runs independently, and its timing accuracy is determined by the microcontroller's crystal oscillator frequency, reaching the microsecond level, far superior to the millisecond-level delay of RS485 polling. Simultaneously, the displacement value of each sample is bound to a local timestamp and written to the buffer frame, allowing the host to know the exact sampling time of each displacement data point when receiving subsequent data, rather than being forced to equate the polling reception time with the sampling time. If a query-triggered sampling method is still used instead of an autonomous timing sampling mechanism, the sampling time of each slave node will be completely coupled to the polling arrival order, making it impossible to correct through subsequent time compensation algorithms because of the lack of real time reference information for each sampling point. In the application scenario of multi-node eddy current sensor dial gauge network detection, the autonomous timing sampling mechanism eliminates the coupling relationship between the polling timing and the sampling timing from the sampling source, so that the displacement data of each slave node carries an independent time stamp, providing the necessary time dimension information for time deviation compensation and spatial correction in the subsequent step S20. By configuring each slave node to autonomously perform voltage acquisition and piecewise linear interpolation calibration with a fixed sampling period, the sampling behavior of each slave node no longer depends on the arrival time of the control host's query command, eliminating the systematic time deviation between the sampling times of each slave node caused by different polling orders. At the same time, by binding the displacement value with the local timestamp and writing it into the cache frame, the displacement data obtained by the control host through polling at any time will be accompanied by the actual sampling time information of the data. Based on this, the control host can calculate the accurate time offset between each slave node in step S21 and perform time compensation calculation, thereby achieving the technical effect of aligning displacement data sampled at different times to a unified time reference at the data processing level.
[0066] Step S12: Send query commands to each slave node in the current polling order, and receive response frames returned by each slave node in response to the query commands. The response frames contain the timestamped displacement buffer frames packaged by each slave node. Summarize all received response frames, extract the displacement value, local timestamp, and fixed sampling period of each slave node, and assemble them to obtain a time-marked displacement sequence.
[0067] The control host sends query commands to each eddy current sensor slave node on the RS485 bus in the current polling order. The current polling order is an ordered list stored in the control host's memory, where each element is the bus address of a slave node. The order of these elements determines the order in which the control host sends the query commands in this polling round. During the initial system run, the current polling order follows a default order of ascending bus addresses for each slave node; in subsequent processing cycles, the current polling order is dynamically adjusted by step S13 based on the correction residual from the previous processing cycle. The query command is a data request frame sent by the control host to the target slave node. Its frame structure includes a target slave node address field and a function code field. The function code field indicates that the command type is reading cached data.
[0068] When a slave node fails to return a response frame within the preset timeout period, the control host marks the slave node as having a communication abnormal state. In the current processing cycle, the offset value and local timestamp of the slave node from the previous processing cycle are used as substitute values for subsequent calculations, and the data of the slave node is marked as substitute data in the detection data frame. The preset timeout period is obtained as follows: the transmission time of the longest response frame of a single slave node is calculated according to the frame structure of the RS485 communication protocol. The transmission time of the longest response frame is equal to the total number of bits of the longest response frame divided by the communication baud rate. The total number of bits is equal to the number of bytes of the response frame multiplied by the number of bits per byte (including start bit, data bits, parity bit, and stop bit). The transmission time is multiplied by three to obtain the preset timeout period. The basis for multiplying by three is to leave a margin of twice the transmission time to accommodate the internal analog-to-digital conversion execution time and frame processing time of the slave node. When a slave node is marked as having a communication error, step S32 excludes that slave node from the set of nodes participating in the metering calculation during the derived metering operation. Only data from slave nodes with normal communication is used for derived metering, and a label indicating the number of communication error nodes is appended to the derived metering result field of the detection data frame. When the response frame returned by the slave node fails to verify, the control host discards the frame and resends the query command. If the verification still fails after resending, it is treated as a communication error. It should be noted that the processing cycle referred to in this document refers to the complete execution loop in which the control host completes one full polling data acquisition, time deviation compensation and spatial correction, and derived metering output. Each processing cycle outputs one detection data frame.
[0069] Upon receiving a query command, each slave node reads the currently stored timestamped displacement buffer frame from its internal random access memory's dedicated cache area. It then packages this timestamped displacement buffer frame into a response frame and sends it back to the control host via the RS485 bus. The response frame is the slave node's reply to the control host's query command. Its frame structure includes a slave node address field, a function code field, a data length field, and a data field. The data field contains the complete content of the timestamped displacement buffer frame, namely the displacement value and the local timestamp. After the control host completes the query of all slave nodes according to the current polling order, it aggregates all received response frames. It extracts the corresponding slave node's displacement value and local timestamp from the data field of each response frame. Simultaneously, it extracts the fixed sampling period parameter issued in step S11 from the control host's local parameter storage. The fixed sampling period is a global parameter identical to all slave nodes; storing it in the time-marked displacement sequence facilitates direct access in step S24 without requiring re-parsing of the parameter from the sampling configuration instruction at runtime. The displacement values, local timestamps, and fixed sampling periods of all slave nodes are arranged and assembled according to the slave node's bus address order to obtain the time-marked displacement sequence. The time-annotated displacement sequence is an ordered dataset containing the displacement data and time information of all slave nodes. Its data structure is a two-dimensional array consisting of a row representing the total number of slave nodes and three columns. Each row corresponds to one slave node, and the three columns represent the displacement value, local timestamp, and fixed sampling period of that slave node. The time-annotated displacement sequence is the output of step S10 and will be used as the input data for step S20 for time deviation compensation and spatial correction.
[0070] The displacement values, local timestamps, and fixed sampling periods of each slave node obtained during polling communication are uniformly assembled into a structured data set called a time-annotated displacement sequence. This allows subsequent step S20 to access the displacement data and timestamp information of all slave nodes through a unified data interface, avoiding the complexity of each subsequent sub-step needing to extract the original frame data directly from the communication layer. By including the fixed sampling period information in the time-annotated displacement sequence, step S24 can directly use this parameter to calculate relevant parameters without having to re-parse the parameter from the sampling configuration instruction at runtime.
[0071] Step S13: Based on the correction residuals of each slave node output in the previous processing cycle in step S23, dynamically adjust the current polling order, move the query position of slave nodes whose correction residuals are greater than their average value to the front in the polling queue, and move the query position of slave nodes whose correction residuals are not greater than the average value to the back, so as to obtain the adjusted polling order for use in the next round of step S12.
[0072] After completing the data aggregation in step S12, the control host reads the correction residuals of each slave node output in step S23 from the previous processing cycle. Each slave node correction residual is the absolute value obtained by subtracting the corrected displacement value of each slave node from the corrected displacement set of the previous processing cycle in step S23 and the time-compensated displacement value of that node in the time-series causal directed graph. Its physical meaning is the magnitude of displacement adjustment of each slave node during the spatial correction process in the previous processing cycle, and the unit is the same as the displacement value. The calculation formula and detailed acquisition method for each slave node correction residual are given in step S23. In the first processing cycle of the system's initial operation, since there is no correction residual output from the previous processing cycle, step S13 does not perform polling order adjustment; the current polling order remains unchanged from the default order in step S12.
[0073] The polling order adjustment result of step S13 is used for step S12 in the next processing cycle, and its actual execution time is after step S24 of the current processing cycle is completed and a qualified result is output. Starting from the second processing cycle, the control host calculates the arithmetic mean of the correction residuals of all slave nodes to obtain the mean correction residual. Specifically, the mean correction residual is equal to the sum of the correction residuals of all slave nodes divided by the total number of slave nodes. The control host compares the correction residual of each slave node with the mean correction residual: slave nodes whose correction residual is greater than the mean correction residual are divided into the high residual group, and slave nodes whose correction residual is not greater than the mean correction residual are divided into the low residual group. The control host sorts the slave nodes in the high residual group in descending order of correction residual from largest to smallest, and sorts the slave nodes in the low residual group in ascending order of correction residual from smallest to largest. In the above arrangement process, when two or more slave nodes in the same group have equal corrected residual values, and the order of these nodes cannot be determined by the magnitude of the corrected residuals, a deterministic sorting conflict resolution rule is needed to ensure that the output result of the polling order is unique and repeatable under the same input conditions. This scheme uses the original bus address of the slave node as the basis for sorting conflict resolution. Slave nodes with equal corrected residuals are arranged in ascending order of their original bus addresses. The reason for choosing the bus address as the resolution basis is that the bus address is a unique identifier assigned to each slave node during the hardware configuration phase and remains unchanged during system operation. Using this as the sorting basis ensures that the arrangement result is not affected by runtime state fluctuations. The arrangement result of the high residual group is placed at the front of the polling queue, and the arrangement result of the low residual group is placed at the back of the polling queue, forming an adjusted polling order. The adjusted polling order is stored in the memory of the control host for use in the next round of step S12.
[0074] A dynamic feedback closed-loop control mechanism spanning multiple processing cycles was constructed. Its physical mechanism is based on the following: In RS485 master-slave polling communication, the slave node ranked earlier in the polling sequence is queried closer to the start of the processing cycle, resulting in a smaller time offset between its displacement data and the reference time. A smaller time offset means a smaller deviation between the time-compensated displacement value in step S21 and the actual displacement, thus reducing the correction requirement for that node in subsequent spatial correction processes. Slave nodes with correction residuals greater than the average correction residual underwent significant spatial correction adjustments in the previous processing cycle, indicating a large deviation between their time-compensated displacement values and the continuity constraint of the measured surface deformation. This is because these slave nodes were queried later in the previous polling round, leading to a larger time offset. By moving the query position of these high-correction-residual-residue slave nodes forward in the next polling round, the time offset of these slave nodes can be reduced, thereby lowering the time compensation error and correction requirement for these slave nodes in the next processing cycle. If a fixed polling order is used instead of dynamic polling order adjustment, the slave node at the end of the polling sequence will always bear the largest time offset in each processing cycle, and its correction residual will remain high in each processing cycle, resulting in a decrease in the iterative convergence speed of spatial correction. In the scenario of multi-node eddy current sensor dial gauge network detection, the dynamic polling adjustment mechanism in step S13 makes the time offset of each slave node tend to be evenly distributed in multiple processing cycles, avoiding the situation where a specific slave node continuously bears the largest time offset error because it is always at the end of the polling sequence. By adaptively adjusting the polling order of the next round based on the correction residual distribution information of the previous processing cycle, the slave nodes with greater spatial correction requirements obtain a higher query position in the next round of polling, thereby obtaining a smaller time offset. This reduces the time compensation error of these slave nodes in the next processing cycle, thereby reducing the number of spatial correction iterations in steps S22 to S23 and accelerating the convergence speed of spatial correction. At the same time, the cyclic feedback of multiple processing cycles makes the polling order continuously adapt to the changes in the correction residual distribution of each slave node, maintaining the system's adaptive adjustment capability in the dynamic scenario where the deformation state of the workpiece changes over time.
[0075] Step S20 involves performing time deviation compensation and spatial correction based on the continuity constraint of the deformation of the measured surface on the time-series labeled displacement sequence to obtain a synchronous displacement snapshot. Step S20 includes steps S21, S22, S23, and S24.
[0076] Figure 5 This is a schematic diagram of the topological structure of a time-series causal directed graph.
[0077] Figure 5The topology of the temporal causal directed graph constructed in step S21 is shown, with directed edges established along the polling order, and the edge weights being the sampling time intervals between adjacent nodes. The reference time base is marked on the left side of the figure (…). This indicates that the time offset of the first queried node is zero. The slave nodes are arranged in a round-robin order as rectangular vertices, and the weight of the directed edge from slave node 1 to slave node 2 is... The weight of the directed edge from node 2 to node 3 is And so on until starting from node The weight of the last directed edge is The diagram below lists five attributes for each vertex in a table format: displacement value, time-compensated displacement value, installation coordinates, displacement rate, and time offset. The overall structure is a linear chain-like directed graph topology, carrying all the temporal relationships and displacement information required for subsequent spatial correction.
[0078] Step S21: Extract the local timestamp of each slave node, calculate the time offset of each slave node relative to the first queried node, obtain the displacement rate by dividing the difference between the current and previous displacement values by the difference of the corresponding local timestamps, and obtain the time-compensated displacement value by adding the displacement value of the node to the product of the displacement rate and the negative value of the time offset; construct a time-series causal directed graph with each slave node as a vertex and the displacement value, time-compensated displacement value, installation coordinates, displacement rate, and time offset as vertex attributes, in the polling order, and use the time offset of the end node of the adjacent directed edge minus the time offset of the starting node as the edge weight.
[0079] The control host extracts the local timestamps of each slave node from the time-marked displacement sequence output in step S12. Since the system timers of each slave node were synchronously reset at the same time in step S11 via a clock synchronization command, the local timestamps of each slave node have the same starting point. Therefore, the difference between the local timestamps of different slave nodes can accurately reflect the true time difference between their sampling times. Using the local timestamp of the first queried node in the current polling order as the reference time base, the time offset is calculated for each slave node. The time offset is equal to the local timestamp of that slave node minus the local timestamp of the first queried node. Specifically… ,in For the node Local timestamp, This is the local timestamp of the first queried node. The physical meaning of the time offset is the distance on the time axis between the actual sampling time of this slave node and the actual sampling time of the first queried node, expressed in milliseconds, and ranging from zero to the total polling latency. The time offset of the first queried node is zero.
[0080] For each slave node, calculate its displacement rate. The displacement rate equals the displacement value of the slave node in the current processing cycle minus the displacement value of the slave node in the previous processing cycle, obtaining the displacement difference. Then, subtract the local timestamp of the slave node in the previous processing cycle from its local timestamp in the current processing cycle to obtain the timestamp difference. Divide the displacement difference by the timestamp difference to obtain the displacement rate. Specifically, the displacement rate is... ,in This is the displacement value for the current processing cycle. This is the displacement value from the previous processing cycle. This is the local timestamp for the current processing cycle. This is the local timestamp of the previous processing cycle. Since step S13 may adjust the polling order, the sampling interval of the same slave node in different processing cycles may differ from the fixed sampling period. Therefore, using the local timestamp difference instead of the fixed sampling period as the time interval for displacement rate calculation accurately reflects the true sampling time interval. The physical meaning of displacement rate is the rate of displacement change of the monitored surface position between two adjacent processing cycles, expressed in millimeters per millisecond. In the first processing cycle of the system's initial operation, since there is no data from the previous processing cycle, the displacement rate is zero.
[0081] Calculate the time-compensated displacement value for each slave node. The time-compensated displacement value is equal to the displacement value of the slave node plus the product of the displacement rate and the negative of the slave node's time offset. Mathematically, it is equivalent to subtracting the product of the displacement rate and the time offset from the displacement value. ,in For time-compensated displacement values, This is the displacement value. For displacement rate, This represents the time offset. The physical meaning of the time-compensated displacement value is as follows: This step performs preliminary linear compensation based on the assumption that the displacement change of the measured surface within the polling time window is approximately uniform motion. The displacement value is linearly extrapolated in the time dimension using the displacement rate of the slave node as the slope, correcting the displacement value at the sampling time to the displacement value corresponding to the sampling time of the first queried node. The reason for a negative time offset is that when the time offset of a slave node is positive, it indicates that the sampling time of the slave node is later than the sampling time of the first queried node. Therefore, the displacement value of the slave node needs to be pushed back in the opposite direction of the time axis, i.e., subtracting the displacement increment of the slave node within the time offset period. The displacement increment is equal to the product of the displacement rate and the time offset. The residual nonlinear error introduced by this uniform motion assumption is further corrected by the spatial correction in step S22.
[0082] After calculating the time-compensated displacement values for all slave nodes, a time-series causal directed graph is constructed. A time-series causal directed graph is a directed graph data structure constructed as follows: each slave node is a vertex in the graph, and each vertex has five attributes: displacement value, time-compensated displacement value, installation coordinates, displacement rate, and time offset. The installation coordinates are the spatial coordinates of the physical installation position of each slave node on the surface of the workpiece being measured. A Cartesian coordinate system is established with a predefined reference point on the workpiece as the origin. The installation coordinates of each slave node are the coordinates of the probe installation position in this coordinate system. The installation coordinates are measured by the field engineer and configured into the parameter file of the control host during system deployment. The measurement accuracy of the installation coordinates should be no less than one-tenth of the nominal resolution of the dial indicator to ensure that measurement errors do not significantly affect subsequent spatial correction. Directed edges are established between adjacent vertices according to the current polling order, with the direction of the directed edge pointing from the earlier-ranked vertex to the later-ranked vertex in the polling order. The weight of each directed edge is equal to the time offset of the endpoint vertex minus the time offset of the origin vertex. Physically, this represents the sampling time interval between the two adjacent queried nodes. The overall structure of the temporal causal directed graph is a directed link connecting all slave vertices in a round-robin order. The weight of each directed edge on the link records the sampling time interval between adjacent nodes. The attribute set of all vertices in the graph carries all the displacement and temporal information required for subsequent spatial correction.
[0083] The displacement data of each slave node is uniformly compensated from its independent sampling time to the sampling time of the first queried node, achieving initial alignment in the time dimension. At the same time, by constructing a temporal causal directed graph, the temporal relationship, spatial relationship and displacement data between each slave node are expressed in a unified graph data structure. This allows step S22 to perform spatial correction under the deformation continuity constraint of the measured surface using both temporal and spatial information on this graph structure, without having to repeatedly extract and match information from multiple independent data sources during the correction process.
[0084] Step S22 involves performing spatial correction under the constraint of the deformation continuity of the measured surface based on the temporal causal directed graph, to obtain the corrected displacement set. Step S22 includes steps S221, S222, and S223.
[0085] Step S221: Extract the installation coordinates of each slave node and calculate the Euclidean distance between any two nodes. Use the root mean square of the Euclidean distance between all pairs of slave nodes as the spatial attenuation scale. For each pair of slave nodes, divide the square of its Euclidean distance by the square of the spatial attenuation scale, take the negative value, and then calculate the natural exponential function value as the spatial stiffness coupling weight. Arrange the weights in the order of the node numbers to construct a spatial stiffness weighted adjacency matrix. The element values at the corresponding positions represent the degree of deformation coupling between the two nodes based on the physical stiffness of the measured surface.
[0086] The control host extracts the installation coordinates of each slave node from the vertex attributes of the temporal causal directed graph constructed in step S21. For any two slave nodes i and j, the Euclidean distance between them is calculated. The Euclidean distance is equal to the square root of the sum of the squares of the differences between the installation coordinates of slave node i and slave node j in each coordinate component.
[0087] After calculating the Euclidean distances between all node pairs, the spatial decay scale is calculated. The spatial decay scale is equal to all... The root mean square of the Euclidean distance between pairs of nodes, excluding the distance between a node and itself. Specifically, for all The spatial attenuation scale is obtained by squaring the Euclidean distances between node pairs, taking their arithmetic mean, and then taking the square root of this arithmetic mean. Specifically, the spatial attenuation scale... ,in For the node With slave node The Euclidean distance between them The total number of nodes is represented by this value. The spatial attenuation scale is a statistical characteristic of the spatial distribution density between measuring points on the measured surface. Its value reflects the average spacing level of the sensor nodes on the measured surface, and its unit is the same as the length unit of the installation coordinates. The reason for using the root mean square (RMS) instead of the arithmetic mean for the spatial attenuation scale is that the arithmetic mean is easily underestimated due to the influence of a few extremely small distances between nodes; in contrast, the square operation of the RMS amplifies the contribution of large values and relatively compresses the influence of small values on the mean, thus preventing the spatial attenuation scale from being excessively suppressed even when there are a few extremely close node pairs, and thus more accurately reflecting the effective spacing level of the overall node distribution.
[0088] For each pair of slave nodes and from node Calculate the spatial stiffness coupling weights. The calculation process for the spatial stiffness coupling weights is as follows: Starting from the slave node... With slave node The spatial stiffness coupling weight is obtained by dividing the square of the Euclidean distance between the two sides by the square of the spatial attenuation scale, taking the negative value of the quotient, and then applying the natural exponential function to this negative value. exp denotes an exponential function with base to the natural constant. When equal At this point, the spatial stiffness coupling weight is one because the Euclidean distance between the node and itself is zero. Zero divided by the square of the spatial attenuation scale is still zero, and zero in its negative form is also zero; naturally, the exponential function at zero has a value of one. When the Euclidean distance between two slave nodes is much greater than the spatial attenuation scale, the spatial stiffness coupling weight approaches zero; when the Euclidean distance is much smaller than the spatial attenuation scale, the spatial stiffness coupling weight approaches one. The physical meaning of the spatial stiffness coupling weight is: the degree of deformation coupling between two measuring points on the measured surface, that is, the degree of coordinated displacement of one measuring point due to the continuity constraint of the physical stiffness of the measured surface when one measuring point undergoes displacement. As a continuous solid medium, the deformation behavior of the measured workpiece surface has spatial continuity and local correlation, that is, the displacements of adjacent measuring points are strongly correlated, while the displacement correlation of distant measuring points is weak. The Gaussian radial basis function is a smooth decay kernel function widely used in spatial interpolation and signal processing. Its exponential decay characteristics can effectively approximate the decreasing law of spatial correlation of continuous elastic body deformation with distance. In this scheme, the decay rate is characterized by the statistical parameter of spatial decay scale.
[0089] Arrange the spatial stiffness coupling weights between all slave node pairs in row and column order according to their node numbers to construct a spatial stiffness-weighted adjacency matrix. The spatial stiffness-weighted adjacency matrix is a square matrix with the total number of slave nodes as the number of rows and columns. The element in the i-th row and j-th column is the spatial stiffness coupling weight between slave node i and slave node j. This matrix is symmetric because the Euclidean distance between two nodes is not affected by the calculation order. All diagonal elements are one. The spatial stiffness-weighted adjacency matrix will be used in step S222 to calculate the neighborhood weighted average displacement of each slave node.
[0090] The aforementioned physical mechanism is based on the fact that the surface of the workpiece being measured, as a continuous solid medium, follows the principle of deformation continuity in its deformation behavior. This means that the normal displacement between two adjacent points on the surface does not change abruptly, but rather transitions smoothly with spatial position. The closer two measuring points are, the stronger the deformation coupling. That is, a displacement change at one measuring point is necessarily accompanied by a displacement change at adjacent measuring points with the same direction and decreasing amplitude according to distance. Defining the spatial stiffness coupling weight in the form of a Gaussian radial basis function ensures the continuity of the weight value with distance due to its continuous differentiability, avoiding abrupt changes in the weight value at a certain distance threshold. If a simple binary adjacency relationship is used instead of a continuously decaying weight based on physical stiffness (i.e., weight is one if the distance is less than a certain threshold, otherwise zero), measuring point pairs near the threshold boundary will jump between complete coupling and complete independence due to small distance changes, causing subsequent spatial correction results to be overly sensitive to small disturbances in the sensor's installation position. In a multi-node eddy current sensor dial gauge network detection scenario, the spatial stiffness coupling weight based on the Gaussian radial basis function can effectively approximate the deformation coupling relationship between the measured workpiece surface and each measuring point, providing a physically-compliant spatial weighted basis for calculating the continuity violation in subsequent step S222. By quantifying the deformation coupling relationship between each measuring point based on physical stiffness into spatial stiffness coupling weights and organizing them into a spatial stiffness weighted adjacency matrix, step S222 can automatically assign different influence weights based on the physical distance between each neighboring measuring point and the target measuring point when calculating the neighborhood weighted displacement mean of each measuring point. Measuring points that are closer to the target measuring point contribute more to the neighborhood mean of the target measuring point, while measuring points that are farther away contribute less. This ensures that the calculation result of the continuity violation accurately reflects the degree of true deformation continuity deviation in the local area of the measured surface, rather than just reflecting the arithmetic mean deviation between measuring points.
[0091] Step S222: Extract the time-compensated displacement value of each slave node from the vertex attributes of the temporal causal directed graph. Calculate the neighborhood-weighted average of the time-compensated displacement values based on the spatial stiffness-weighted adjacency matrix to obtain the neighborhood-weighted average displacement of each slave node. Define the difference between the time-compensated displacement value of each slave node and the neighborhood-weighted average displacement of that node as the continuity violation of that node. The neighborhood-weighted average is calculated by multiplying all element values of the corresponding row of the node (excluding itself) by the time-compensated displacement value of the corresponding column node, summing the results, and then dividing by the sum of all element values of the row (excluding itself).
[0092] The control host extracts the time-compensated displacement values of each slave node from the vertex attributes of the temporally causal directed graph constructed in step S21. For each slave node... Calculate the neighborhood weighted average displacement. The calculation process for the neighborhood weighted average displacement is as follows: extract the first value from the spatial stiffness weighted adjacency matrix constructed in step S221. All element values in the row, excluding the first element. Line number The column's own weight term will be the first Line number The element value of the column is from the node With slave node The spatial stiffness coupling weight between nodes is multiplied by the weight from the node. Time-compensated displacement values for all Perform the above multiplication operation on each node from one to the total number of nodes, sum all the products to obtain the weighted displacement sum, and then divide the weighted displacement sum by the first node. The sum of all element values in a row except itself yields the neighborhood weighted shift mean. Specifically, it is the neighborhood weighted shift mean. ,in For spatial stiffness coupling weights, For the node The time-compensated displacement value. The reason for excluding its own weight term is: if it includes nodes... When the number of nodes is small or the distance between nodes is large, the weight of the node itself will account for too large a proportion in the weighted average, and the neighborhood weighted shift mean will be close to that of the node. The displacement value itself, with its continuity violation approaching zero, leads to the failure of spatial correction. The physical meaning of the neighborhood weighted average displacement is: under the ideal condition that the deformation continuity constraint of the measured surface is valid, the expected value inferred from the displacement value at the installation position of node i based on the spatial weighted average of the displacement values of all other measuring points around it.
[0093] Each slave node The continuity violation of a slave node is obtained by subtracting the weighted average displacement of its neighborhood from the time-compensated displacement value. Specifically, this is the continuity violation amount. The physical meaning of continuity violation is: the deviation of the time-compensated displacement value of the slave node from the expected value inferred from its neighboring measurement points based on the spatial stiffness coupling relationship. When the deformation of the measured surface fully satisfies the continuity constraint and there is no time compensation error, the continuity violation of all slave nodes is zero. The degree to which the continuity violation deviates from zero reflects the magnitude of the residual time deviation error or measurement noise in the time-compensated displacement value of the slave node.
[0094] By calculating the continuity violation amount of each slave node, the continuity constraint of the measured surface deformation is transformed into a quantifiable numerical index. This allows step S223 to adjust the time-compensated displacement value of each slave node with the optimization objective of minimizing the weighted sum of squares of the continuity violation amounts. Slave nodes with non-zero continuity violation amounts are those whose time-compensated displacement values are inconsistent with the continuity constraint of the measured surface deformation. These nodes need to be iteratively adjusted in step S223 to be corrected towards the neighborhood expected value.
[0095] Step S223: The optimization objective is to minimize the sum of squares of the corresponding row element values of the spatial stiffness weighted adjacency matrix multiplied by the continuity violation of each slave node. The constraint is that the absolute value of the displacement adjustment of each slave node does not exceed the absolute value of the product of the displacement rate and the time offset of the node. The time compensation displacement value of each slave node is iteratively adjusted until the optimization objective converges. The adjusted displacement values of each slave node after convergence are output as the corrected displacement set.
[0096] Before entering the iterative adjustment, the initial time-compensated displacement value of each slave node is saved as the constraint benchmark. During the iteration process, only the current displacement value is updated, while the initial time-compensated displacement value remains unchanged and is always used for the constraint upper bound calculation.
[0097] The specific steps for constructing the optimization objective function are as follows: The optimization objective is to minimize the sum of squares of the sum of the values of the corresponding row elements of the spatial stiffness-weighted adjacency matrix multiplied by the continuity violation of each slave node. Specifically, for each slave node... Calculate the spatial stiffness weighted adjacency matrix of the th The sum of all element values in a row is used as the spatial connectivity strength of that slave node. The physical meaning of spatial connectivity strength is the sum of the spatial stiffness coupling weights between the slave node and all other slave nodes, reflecting the degree of spatial correlation of the slave node in the entire measurement point network. The optimization objective function is constructed as follows: for each slave node, take the square of the product of its continuity violation and its spatial connectivity strength, and sum the squared values of all slave nodes to obtain the value of the optimization objective function. Specifically, the optimization objective function is... The sum of squares is chosen as the optimization objective instead of the sum of absolute values because the sum of squares function is continuously differentiable, facilitating the calculation of gradient directions during iterative optimization. Furthermore, the squaring operation imposes a greater penalty on larger continuity violations, helping to prioritize the correction of nodes with the largest deviations. A smaller objective function value indicates a higher degree of consistency between the time-compensated displacement values of each slave node and the deformation continuity constraints of the measured surface. Spatial connectivity strength is introduced as a weighting factor for continuity violations in the objective function. Its function is to ensure that continuity violations from slave nodes with high spatial connectivity account for a larger proportion of the objective function, prioritizing the satisfaction of deformation continuity constraints in densely spatially connected regions.
[0098] The specific implementation method for constructing constraints is as follows: for each slave node The displacement adjustment is defined as the difference between the current displacement value of the slave node and its initial time-compensated displacement value during the iterative adjustment process. The constraint is that the absolute value of the displacement adjustment for each slave node does not exceed the absolute value of the product of the slave node's displacement rate and its time offset. Specifically... ,in This is the current iteration displacement value. This is the initial time-compensated displacement value output in step S21. The time offset of the first queried node is zero, therefore its upper constraint is zero. The displacement value of this node remains unchanged during the spatial correction process, serving as the displacement reference anchor point for spatial correction. The rationale for this design is that the time deviation between the first queried node and the reference time is minimal, and its time compensation error is also minimal. Using it as the correction reference ensures the stability of the spatial correction result in the time dimension. The physical meaning of this constraint is: the maximum allowable magnitude of the displacement adjustment does not exceed the maximum displacement change that the slave node can produce at its displacement rate within the time window corresponding to its time offset. The design basis of this constraint is the physical boundary constraint of kinematics: within the polling time window, the actual displacement change of any point on the measured surface cannot exceed the product of its displacement rate and the width of the time window. The adjustment amount of spatial correction, as a correction of the time deviation error, should not break through this physical boundary; otherwise, the correction result will introduce non-real displacement components that exceed the physical kinematic limits.
[0099] After establishing the objective function and constraints, an iterative adjustment process is executed. The iterative adjustment uses a node-by-node sequential update approach: In each iteration, the following operations are performed on each slave node in order of their node numbers: Based on the displacement values of all current slave nodes, the neighborhood weighted average displacement and continuity violation of that slave node are recalculated; the displacement value of that slave node is adjusted in the direction of its neighborhood weighted average displacement. Specifically, the new displacement value is equal to the current displacement value minus the product of the convergence step size coefficient and the continuity violation, which is the new displacement value. ,in To achieve the convergence step size coefficient, this update direction aims to bring the current displacement value closer to the weighted average displacement of the neighborhood. However, the adjusted displacement value must satisfy the constraint condition that the absolute value of the displacement adjustment does not exceed the upper bound of the constraint. The convergence step size coefficient is a positive real number between zero and one. When the convergence step size coefficient is within the open interval of zero to one, each update partially approaches the node displacement value towards the neighborhood average rather than completely abruptly changing it, ensuring stable convergence of the node-by-node update process. The convergence step size coefficient is obtained as follows: Multiple samples of continuity violations at each slave node are collected under static and stable conditions, and multiple samples of continuity violations at each slave node are collected under the maximum allowable deformation rate. At least ten samples are collected for both static and dynamic conditions. For each sample, iterative adjustments are performed under different convergence step size coefficient values, and the number of iterations required to converge until the change in the objective function value between two adjacent iterations is less than one percent of the initial value is recorded. The distribution range of the convergence step size coefficient value that minimizes the number of iterations is statistically analyzed across all samples. The value located at the 50th percentile of this distribution range is taken as the convergence step size coefficient. The 50th percentile, or median, is located in the middle of the sample distribution and is less sensitive to extreme values compared to the arithmetic mean. It represents the typical value of the convergence step size coefficient that minimizes the number of iterations under most working condition samples. When the absolute value of the displacement adjustment exceeds the upper constraint limit, the displacement adjustment is truncated to the value corresponding to the upper constraint limit; that is, the displacement value is adjusted to the initial time-compensated displacement value plus or minus the upper constraint limit.
[0100] Repeat the above node-by-node sequential update process until the change in the objective function value between two adjacent iterations is less than the convergence threshold value obtained by multiplying the initial value of the objective function by a convergence determination ratio coefficient. Then, the objective function is considered to have converged. The convergence determination ratio coefficient is a positive real number with a value much less than one. Its acquisition method is the same as that of the convergence step size coefficient. Specifically, multiple sets of samples under static and dynamic working conditions are collected, and a complete iterative correction process is executed under different convergence determination ratio coefficient values. The value at which the deviation of the derived metrological index of the corrected displacement set from the true value is recorded. The true value is obtained in the offline calibration environment: each slave node is fixed on the calibration bench and the measured surface is controlled to move along a preset trajectory. At the same time, the displacement of each measuring point is independently measured using a high-precision reference measuring device with metrological traceability (the accuracy is better than one-tenth of the nominal resolution of this system). The derived metrological index calculated by the reference measurement value according to the corresponding metrological mode is used as the true value. The distribution range of the convergence determination ratio coefficient value that minimizes the deviation is statistically analyzed, and the value located at the 50th percentile in the distribution range is taken as the convergence determination ratio coefficient. The reason for selecting the 50th percentile is the same as that for the convergence step size coefficient. The iteration process sets a maximum iteration limit, which is obtained by using the square of the total number of slave nodes as the maximum iteration limit. This is based on the fact that the sequential update method updates each slave node once in each iteration. The square of the total number of slave nodes ensures that each slave node undergoes at least the total number of iterations of complete updates. In a typical configuration with ten to twenty slave nodes, this limit is between one hundred and four hundred iterations, ensuring sufficient iteration space while preventing overcomputation in extreme cases. When the iteration count reaches the limit and convergence is still not achieved, the current displacement value of each slave node is output as the correction result. In the convergence determination step S24, this situation is treated as an unqualified judgment where the maximum value of the correction residual is not less than the convergence determination threshold. After iteration convergence, the current displacement values of all slave nodes are output as the adjusted displacement values of each slave node, forming the corrected displacement set. The corrected displacement set is a one-dimensional array with the total number of slave nodes as its length, where each element is the displacement value of the corresponding slave node after spatial correction iteration.
[0101] The aforementioned physical mechanism is based on the assumption that the time compensation in step S21 is based on the linear extrapolation of displacement rate. When the deformation process of the measured surface has nonlinear components or there is an error in the displacement rate estimation, the time-compensated displacement value will retain a residual time deviation error that has not been fully compensated. The deformation continuity of the measured surface is an inherent constraint determined by the material's physical stiffness, meaning that the displacement of any point on the surface cannot change arbitrarily independent of the displacement of its neighboring points. Using this physical constraint as the optimization objective, the residual nonlinear error in the time-compensated displacement value is corrected a second time by minimizing the weighted sum of squares of continuity violations. The constraint conditions limit the adjustment amount of each slave node within the kinematic physical boundary, ensuring that the correction process will not over-adjust and introduce pseudo-displacements beyond the actual motion range. Using spatial connection strength as a weighting factor prioritizes satisfying the continuity constraints of slave nodes located in densely populated measurement areas. This is because the measurement point spacing is small and the spatial stiffness coupling weight is high in densely populated measurement areas, and the deformation continuity constraints in these areas provide a higher signal-to-noise ratio, contributing more to the reliability of the correction results. If spatial correction is not performed and only the linear time compensation in step S21 is relied upon, when the deformation rate of the measured surface changes nonlinearly within the polling time window, the residual error of linear extrapolation will be directly passed to the subsequent derived metrological calculations, resulting in overestimation of the calculated results of indicators such as flatness and symmetry. In the multi-node eddy current sensor dial gauge network detection scenario, iterative spatial correction, under the protection of physical kinematic constraints, fully utilizes the deformation continuity information of the measured surface and performs secondary refinement of the residual error of linear time compensation. By performing iterative adjustment with the optimization objective of minimizing the weighted sum of squares of continuity violations and applying kinematic physical boundary constraints, the time compensation displacement values of each slave node approach the deformation continuity constraints of the measured surface while maintaining physical rationality, eliminating the nonlinear residual error that was not fully corrected in linear time compensation; the displacement values of each slave node in the output corrected displacement set satisfy both the alignment requirements of the time dimension and the deformation continuity constraints of the spatial dimension, providing high-quality intermediate results for the correction residual evaluation in step S23 and the convergence determination in step S24.
[0102] Step S23: Subtract the corrected displacement value of each slave node in the corrected displacement set from the time-compensated displacement value of the node in the temporal causal directed graph and take the absolute value to obtain the corrected residual of each slave node. Mark the corrected residual of each slave node on the corresponding node entry in the corrected displacement set to obtain the quality assessment marked displacement set.
[0103] For each slave node Extract the corrected displacement value of the slave node from the corrected displacement set output in step S223, extract the time-compensated displacement value of the slave node from the time-series causal directed graph constructed in step S21, and obtain the corrected residual of the slave node by subtracting the time-compensated displacement value from the corrected displacement value and taking the absolute value. Specifically, the corrected residual is... ,in To correct the displacement value, This is the initial time-compensated displacement value output in step S21. The physical meaning of the correction residual is the absolute amount by which the displacement value of the slave node is adjusted during the spatial correction process. The larger the value, the greater the deviation between the time-compensated displacement value of the slave node and the continuity constraint of the deformation of the measured surface. This deviation mainly stems from the large time offset of the slave node, which leads to insufficient accuracy of linear time compensation.
[0104] The correction residual of each slave node is labeled onto the corresponding node entry in the corrected displacement set, forming a quality assessment labeled displacement set. This quality assessment labeled displacement set is an extended data structure formed by adding a correction residual field to each slave node based on the corrected displacement set. Each row contains two fields: the corrected displacement value and the correction residual. The correction residual field in the quality assessment labeled displacement set is used in two subsequent steps: first, in step S24, it is used to extract the maximum value of the correction residual and compare it with the convergence threshold to determine whether it is acceptable; second, in step S13, it is used to dynamically adjust the polling order based on the distribution of the correction residuals of each slave node. When step S24 determines that it is unacceptable, the quality assessment labeled displacement set is sent back to step S22 as input to re-execute the spatial correction iteration. At this time, the corrected displacement value in the quality assessment labeled displacement set will be used as the initial displacement value for the next round of spatial correction. However, the initial time-compensated displacement value used for the constraint upper bound calculation in step S223 is always fixed as the original time-compensated displacement value output in step S21 and is not updated with each iteration, ensuring that the cumulative adjustment amount across multiple iterations is always constrained by the physical boundary.
[0105] By calculating the correction residuals, the spatial correction adjustment magnitude of each slave node is quantified into a scalar value, enabling step S24 to determine whether the spatial correction result of the current round meets the accuracy requirements by comparing the maximum value of the correction residuals with the convergence threshold. Simultaneously, the correction residuals are labeled into the displacement set to form a quality assessment marker displacement set, allowing step S13 to directly read the correction residuals of each slave node for dynamic adjustment decisions of the polling order, thus forming a cross-level closed-loop feedback path from the data processing layer to the communication control layer.
[0106] Step S24: Calculate the maximum value of the correction residuals of all slave nodes. Use the actual time taken for a single complete polling round measured by the host during the system initialization phase as the total polling delay. Extract the installation coordinates of each slave node to calculate the minimum Euclidean distance between all node pairs. Extract the maximum value of the absolute value of the displacement rate. Divide the minimum Euclidean distance by the maximum value of the absolute value of the displacement rate to define the space-time coupling coefficient. Divide the total polling delay by the space-time coupling coefficient and multiply by the system preset resolution to obtain the convergence judgment threshold. If the maximum value of the correction residuals is less than the convergence judgment threshold, it is deemed qualified. Extract all corrected displacement values to form a synchronous displacement snapshot. If it is not less than the convergence judgment threshold, repeat steps S22 to S23 with the quality assessment mark displacement set as input until qualified.
[0107] The control host extracts the correction residuals of all slave nodes from the quality assessment marker displacement set output in step S23, and iterates through and compares them to find the maximum value of the correction residuals. The specific implementation for calculating the total polling delay is as follows: the total polling delay is the measured value of the actual time taken for the control host to complete one round of complete polling during the system initialization phase. After completing the polling of all slave nodes in step S12 for the first time, the control host records the time interval from sending the first query command to receiving the last response frame, and stores this time interval as the total polling delay in the control host's operating parameters, in milliseconds. The physical meaning of the total polling delay is the time required for the control host to complete one round of complete polling under the current system configuration.
[0108] The specific implementation method for calculating the minimum Euclidean distance is as follows: Extract the installation coordinates of each slave node from the vertex attributes of the temporal causal directed graph constructed in step S21. Calculate the Euclidean distance for all slave node pairs, that is, calculate the Euclidean distance between the installation coordinates of all node pairs where i ≠ j. Iterate through all node pairs and find the minimum Euclidean distance among them, which is the minimum Euclidean distance. The physical meaning of the minimum Euclidean distance is the distance between the closest pair of measuring points among all measuring point pairs, and its unit is the same as the length unit of the installation coordinates.
[0109] The specific implementation method for extracting the maximum absolute value of displacement rate is as follows: extract the displacement rate of each slave node from the attributes of each vertex in the temporal causal directed graph constructed in step S21, take the absolute value of each displacement rate, and then iterate through and compare to find the maximum absolute value. The physical meaning of the maximum absolute value of displacement rate is the absolute amount of the displacement change rate of the slave node with the most drastic displacement change among all slave nodes in the current processing cycle.
[0110] Calculating the space-time coupling coefficient: When the maximum absolute value of the displacement rate is less than a preset minimum rate threshold, the system is determined to be in a static or quasi-static measurement state, and the corrected displacement set is directly output as a synchronous displacement snapshot without performing convergence threshold calculation. This preset minimum rate threshold is equal to the system's preset resolution divided by the total polling delay. When the maximum absolute value of the displacement rate is not less than this minimum rate threshold, the space-time coupling coefficient is equal to the minimum Euclidean distance divided by the maximum absolute value of the displacement rate. The physical meaning of the space-time coupling coefficient is: under the condition of the maximum displacement change rate of the current measured surface, the time required for the cumulative displacement change to reach the distance between the nearest adjacent measuring points, expressed in milliseconds. Numerically, the space-time coupling coefficient establishes a cross-domain correlation between the measuring point distance in the spatial domain and the displacement change rate in the temporal domain. A larger value indicates that the deformation propagation of the measured surface is slower relative to the measuring point distance, and the system has a higher tolerance for time deviation.
[0111] Calculate the convergence threshold: The convergence threshold equals the total polling delay divided by the space-time coupling coefficient and then multiplied by the system's preset resolution. The system's preset resolution is the target measurement resolution value pre-configured by the control host in the parameter file. Its physical meaning is a quantitative indicator of the displacement measurement accuracy the system expects to achieve, and its unit is the same as the displacement value. The system's preset resolution is obtained as follows: During system deployment, a resolution calibration test is performed on the eddy current sensor dial indicator. The specific steps are as follows: the eddy current sensor probe is fixedly mounted on a calibration bracket, aligned with a standard metal target block fixed on a precision micro-motion stage. The precision micro-motion stage is controlled to feed gradually from zero position in steps of one-tenth of the dial indicator's nominal resolution. The displacement output reading of the eddy current sensor dial indicator is recorded at each feed position, and the readings are continuously recorded for no less than fifty feed steps. The difference sequence between the readings of two adjacent feed steps is calculated, and the standard deviation of this difference sequence is used to obtain the reading noise level. The minimum displacement change that the dial indicator can repeatably resolve is defined as the system's preset resolution. This minimum displacement change is equal to three times the reading noise level. The basis for choosing three times is the engineering criterion in signal detection that a signal-to-noise ratio of not less than three is sufficient to determine that a signal is identifiable. The system preset resolution obtained from the above calibration test is configured into the parameter file of the control host, in millimeters.
[0112] The physical significance and comparability analysis of the convergence determination threshold are as follows: the physical significance of the correction residual is the displacement adjustment amount of each slave node caused by time deviation in the spatial correction process, that is, the actual influence amplitude of time deviation on the displacement measurement value of the node. The physical significance of the convergence determination threshold is the maximum allowable influence amount of time deviation on displacement measurement under the current space-time coupling condition of the system, and its composition logic is: a dimensionless ratio is obtained by dividing the total polling delay by the space-time coupling coefficient, and this ratio characterizes the relative severity of time deviation within the polling time window, that is, the proportion of the time inconsistency introduced by polling relative to the time required for the deformation of the measured surface to propagate between the nearest adjacent measurement points. A larger proportion indicates that the time deviation interferes more seriously with the calculation of displacement difference between adjacent measurement points. The convergence determination threshold is obtained by multiplying the dimensionless ratio by the preset resolution of the system, and its physical significance is the acceptable displacement adjustment level corresponding to the preset resolution of the system under the current severity of time deviation. Since both the correction residual and the convergence determination threshold characterize the influence amplitude of time deviation on displacement measurement values in terms of physical significance, they not only have the same dimension of displacement, but also belong to the same type of physical quantity in terms of physical essence, that is, displacement deviation caused by time deviation. Therefore, numerically comparing the maximum value of the correction residual with the convergence determination threshold is physically reasonable: when the maximum value of the correction residual is less than the convergence determination threshold, it indicates that the displacement adjustment amounts of all slave nodes caused by time deviation are all lower than the acceptable level of the system under the current working condition, and the spatial correction result meets the accuracy requirements.
[0113] The maximum value of the correction residual is compared with the convergence determination threshold. If the maximum value of the correction residual is less than the convergence determination threshold, the result is determined to be qualified. After being determined as qualified, the corrected displacement values of all slave nodes are extracted from the displacement set marked by quality assessment, and arranged in the order of the bus addresses of the slave nodes to form a synchronous displacement snapshot. Herein, the synchronous displacement snapshot is a one-dimensional array with the total number of slave nodes as its length, each element is the displacement value of the corresponding slave node after time deviation compensation and spatial correction, all displacement values satisfy the consistency constraint in both time dimension and space dimension, and can be directly used for the derivative metering calculation in step S30.
[0114] If the maximum value of the correction residual is not less than the convergence threshold, the result is deemed unqualified. When unqualified, the following compensation adjustment is performed before re-performing spatial correction: For slave nodes whose correction residual is greater than the convergence threshold, the preceding and succeeding nodes adjacent to the slave node are found in the temporal causal directed graph, centered on that slave node. The time-compensated displacement value of the center node is updated by quadratic linear interpolation using the corrected displacement values of the preceding and succeeding nodes. The updated time-compensated displacement value is equal to the weighted average of the corrected displacement values of the preceding and succeeding nodes according to their time offsets. Specifically, it is the time offset of the succeeding node minus the time offset of the center node. The time offset is used as the weight of the preceding node. The time offset of the center node minus the time offset of the preceding node is used as the weight of the subsequent node. The two weights are multiplied by the corrected displacement value of the corresponding node, summed, and then divided by the sum of the two weights to obtain the updated time-compensated displacement value. The updated time-compensated displacement value replaces the time-compensated displacement value of the node in the temporal causal directed graph. The upper bound of the constraint in step S223 remains unchanged as the absolute value of the product of the absolute value of the displacement rate of the node and the time offset of the node, to ensure that the cumulative adjustment of multiple cycles is always within the kinematic physical boundary. After the above compensation adjustment is completed, steps S22 to S23 are re-executed with the updated temporal causal directed graph as input. This cyclic process sets an upper limit for the maximum number of outer loops, which is equal to the total number of slave nodes. When the number of outer loops reaches the upper limit and is still not qualified, a synchronous displacement snapshot is output using the displacement values in the current corrected displacement set, and an insufficient correction accuracy alarm is added to the detection data frame to indicate that the derived measurement results of the data in this frame may have residual time deviation. When qualified, the corrected displacement values of all slave nodes are extracted from the quality assessment mark displacement set and arranged in the order of the slave nodes' bus addresses to form a synchronous displacement snapshot.
[0115] The physical mechanism underlying the above analysis lies in the nonlinear coupling of parameters from three different physical domains in the construction of the convergence threshold: the total polling delay belongs to the time domain parameter of the communication hardware, the minimum Euclidean distance and displacement rate belong to the physical spatial domain parameter of the measured surface, and the system preset resolution belongs to the metrological accuracy domain parameter. The joint calculation of these three domain parameters allows the convergence threshold to dynamically adjust adaptively with changes in system configuration and the motion state of the measured workpiece, eliminating the need for manually preset fixed convergence thresholds. If a fixed threshold is used instead of dynamic convergence determination using multi-parameter coupling, changes in system configuration or the motion state of the measured workpiece will either lead to an overly strict threshold, resulting in unnecessary iterative loops and wasted computational resources, or an overly lenient threshold, allowing insufficiently accurate data to be output. In the scenario of multi-node eddy current sensor dial gauge network detection, the dynamic convergence determination mechanism in step S24 ensures that the quality of the spatial correction results meets the accuracy requirements matching the current system configuration and the motion state of the measured surface under various operating conditions. By dynamically determining the convergence threshold through multi-parameter joint calculation across the time domain, spatial domain, and measurement accuracy domain, the quality gating standard for spatial correction can adaptively match the current system operating conditions. The pass / fail judgment mechanism ensures that only correction results with correction residuals below the dynamic threshold are output as synchronous displacement snapshots, guaranteeing the temporal and spatial consistency of displacement values at each measuring point in the synchronous displacement snapshots and meeting the accuracy requirements of subsequent derived measurement operations. The cyclic reconstruction mechanism for non-compliance ensures that the system can gradually approach the pass / fail standard through multiple iterations when facing difficult correction conditions, avoiding the direct output of low-quality data due to insufficient accuracy in a single correction.
[0116] Step S30: Perform multi-point displacement derivative measurement based on the synchronous displacement snapshot, and output the displacement detection result. Step S30 includes steps S31, S32, and S33.
[0117] Figure 6 This is a schematic diagram illustrating the discrimination of derived measurement modes based on installation coordinate distribution.
[0118] Figure 6 Three parallel subplots illustrate the discrimination scenarios for the three derived measurement modes. The left subplot, titled "Straightness Evaluation Mode," shows measurement points (marked with diamonds) arranged along a straight line. The direction of the installation coordinates is indicated by a dashed line fitted to the line, and the judgment condition is that the installation coordinates of all slave nodes are collinear. The middle subplot, titled "Flatness Evaluation Mode," shows measurement points distributed in a long strip along a main distribution direction, marked by a diagonal line indicating the main distribution direction. The judgment condition is that the eigenvalue ratio is greater than a preset distribution shape threshold. The right subplot, titled "Symmetry Evaluation Mode," shows measurement points distributed on both sides of the axis of symmetry, marked with a vertical line and a geometric center (marked with a "+" sign). The judgment condition is that the eigenvalue ratio is not greater than a preset distribution shape threshold.
[0119] Step S31: Determine whether the installation coordinates of each slave node are collinear. If they are collinear, determine that the measurement mode is the straightness evaluation mode. If they are not collinear, calculate the two eigenvalues of the two-dimensional covariance matrix formed by the installation coordinates and take the ratio of the larger and smaller eigenvalues as the eigenvalue ratio. When the eigenvalue ratio is greater than the preset distribution shape threshold, determine that it is the flatness evaluation mode. Otherwise, determine that it is the symmetry evaluation mode and output the measurement mode identifier.
[0120] The control host extracts the installation coordinates from the system configuration parameters of each slave node and determines whether the installation coordinates of all slave nodes are collinear. The collinearity determination criterion is as follows: select the installation coordinates of any three different slave nodes, calculate the area of the triangle formed by these three coordinate points, and if the area of the triangle formed by all possible combinations of three points is less than the preset collinearity determination area threshold, then the installation coordinates of each slave node are determined to be collinear. The triangle area is calculated as half the absolute value of the cross product of the vector from the first point to the second point and the vector from the first point to the third point. The collinearity determination area threshold is obtained as follows: Calculate the total length of the sensor array, which is equal to the maximum Euclidean distance between all pairs of slave nodes, i.e., the distance between the two slave nodes with the farthest installation coordinates. Then determine the installation coordinate measurement error, which is equal to the nominal measurement accuracy of the coordinate measurement tool (including but not limited to laser rangefinders, coordinate measuring machines, or precision calipers) used during system deployment. This nominal measurement accuracy is read from the manufacturer's specifications of the measurement tool. The collinearity determination area threshold is equal to the product of the installation coordinate measurement error and the total length of the sensor array. Its geometric meaning is the maximum possible false calculation value of the triangle area caused by the installation coordinate measurement error when all slave nodes are theoretically precisely collinear. The calculation basis of this product is: under ideal collinear arrangement, the measurement error may cause a small displacement of an intermediate node in the direction perpendicular to the arrangement, which deviates from the measurement error. The area of the triangle formed by this deviation and the total length of the array is half of the product of the installation coordinate measurement error and the total length of the sensor array. The product is taken as an integer multiple rather than half as the threshold to leave a safety margin.
[0121] If the installation coordinates of all slave nodes are determined to be collinear, the measurement mode is set to straightness evaluation mode, and the output measurement mode identifier is set to straightness evaluation mode identifier. If the installation coordinates of all slave nodes are determined to be non-collinear, it is necessary to further distinguish between flatness evaluation mode and symmetry evaluation mode. The control host constructs a two-dimensional covariance matrix using the two-dimensional components of the installation coordinates of each slave node. Specifically, first, the mean value of the installation coordinates of all slave nodes on each coordinate component is calculated to obtain the coordinate mean vector. Then, the coordinate mean vector is subtracted from the installation coordinates of each slave node to obtain the centered coordinate vector. The covariances between the components of the centered coordinate vectors of all slave nodes are arranged according to the row and column format of a two-dimensional matrix to obtain the two-dimensional covariance matrix. The two-dimensional covariance matrix is a 2x2 symmetric square matrix, where the diagonal elements are the variances of each coordinate component, and the off-diagonal elements are the covariances between the coordinate components. The two eigenvalues of this two-dimensional covariance matrix are calculated, and the larger eigenvalue is divided by the smaller eigenvalue to obtain the eigenvalue ratio. The physical meaning of the eigenvalue ratio is the ratio of the degree of dispersion of the installation coordinates in the main distribution direction to that in the secondary distribution direction. The larger the eigenvalue ratio, the more concentrated the spatial distribution of the installation coordinates is in one main direction, that is, in a linear or band-like distribution. When the eigenvalue ratio is close to one, it indicates that the degree of dispersion of the installation coordinates in each direction is similar, that is, in a cluster or symmetrical distribution.
[0122] The eigenvalue ratio is compared with a preset distribution shape threshold. The preset distribution shape threshold is obtained as follows: Multiple sets of installation coordinate samples are collected, consisting of a long strip array of sensor nodes arranged along a main direction according to flatness detection requirements and multiple sets of installation coordinate samples are collected, consisting of sensor nodes evenly distributed on both sides of the symmetry axis according to symmetry detection requirements. At least twenty sets of samples are collected for each type. The eigenvalue ratio of the two-dimensional covariance matrix of each set of samples is calculated. The fifth percentile of the eigenvalue ratio distribution for the flatness detection samples is used as the lower bound to exclude the lowest 5% of extremely low-value samples. The ninety-fifth percentile of the eigenvalue ratio distribution for the symmetry detection samples is used as the upper bound to exclude the highest 5% of extremely high-value samples. When the lower bound is not greater than the upper bound, it indicates that the eigenvalue ratio distributions of the two types of samples overlap. In this case, the overall median of all eigenvalue ratios of the two types of samples is taken as the preset distribution shape threshold. When the lower bound is greater than the upper bound, it indicates that the two types of samples can be clearly distinguished. The arithmetic mean of the lower and upper bounds is taken as the preset distribution shape threshold. When the eigenvalue ratio is greater than the preset distribution shape threshold, the measurement mode is determined to be the flatness evaluation mode; when the eigenvalue ratio is not greater than the preset distribution shape threshold, the measurement mode is determined to be the symmetry evaluation mode, and the measurement mode identifier is output.
[0123] By mathematically analyzing the spatial distribution characteristics of the installation coordinates, the geometric layout type of the current sensor array is automatically identified and the corresponding measurement mode is determined. This allows subsequent step S32 to directly call the corresponding derived measurement algorithm based on the measurement mode identifier, achieving automatic routing from data features to measurement methods without the need for manual pre-specification of the measurement mode. The collinearity determination of installation coordinates uses an engineering criterion that the area of the triangle is less than the tolerance threshold. Under non-collinearity conditions, the ratio of eigenvalues of the covariance matrix distinguishes between strip distributions and uniform distributions. The three classification criteria are mutually exclusive and complete, ensuring that each installation coordinate layout is uniquely mapped to a single measurement mode.
[0124] Step S32: Based on the measurement mode identifier, perform corresponding derived measurement operations on the synchronous displacement snapshot. In the straightness evaluation mode, perform least squares straight line fitting on each displacement value in the synchronous displacement snapshot along the arrangement direction of the installation coordinates and calculate the maximum deviation between the fitted line and the straightness index. In the flatness evaluation mode, perform least squares plane fitting and calculate the difference between the maximum positive and negative deviations between the fitted plane and the plane as the flatness index. In the symmetry evaluation mode, pair the nodes with the geometric center of the installation coordinates as the reference, calculate the maximum absolute value of the difference between each pair of displacement values as the symmetry index, and output the derived measurement results.
[0125] The control host reads the measurement mode identifier output in step S31 and performs the corresponding derived measurement operation based on the measurement mode identifier. When the measurement mode identifier is a straightness evaluation mode identifier, least squares linear fitting is performed on the displacement values of each slave node in the synchronous displacement snapshot along the arrangement direction of the installation coordinates. Specifically, the one-dimensional projection value of the installation coordinates of each slave node in the arrangement direction is used as the independent variable, and the corrected displacement value of the slave node is used as the dependent variable. The least squares linear fitting is performed with the set of data points consisting of the independent and dependent variables of all slave nodes as input to obtain the slope and intercept of the fitted line. The mathematical principle of least squares linear fitting is: among all possible lines, find the line that minimizes the sum of the squares of the differences between the measured values of the dependent variables and the predicted values of the lines at each data point. After fitting, the difference between the displacement value of each slave node and the fitted value of the fitted line at the installation coordinate position of that slave node is calculated, i.e., the deviation. The deviation of all slave nodes is found by iterating through the deviations of all slave nodes and using the deviation with the largest absolute value as the straightness index. The physical meaning of the straightness index is the maximum degree to which the displacement distribution of each measuring point on the measured surface deviates from the ideal straight line along the measurement direction, which conforms to the evaluation method of form and position tolerances. The straightness index is output as a derived measurement result.
[0126] When the measurement mode is identified as a flatness evaluation mode, least squares plane fitting is performed on the synchronous displacement snapshot. Specifically, the two components of the installation coordinates of each slave node are used as independent variables, and the corrected displacement value of that slave node is used as the dependent variable. Least squares plane fitting is performed using the set of three-dimensional data points composed of data from all slave nodes as input to obtain the equation parameters of the fitted plane. After fitting, the difference between the displacement value of each slave node and the fitted value of the fitted plane at the installation coordinate position of that slave node is calculated, i.e., the deviation. The deviations of all slave nodes are iterated to find the maximum positive deviation and the maximum negative deviation. The flatness index is obtained by subtracting the maximum negative deviation from the maximum positive deviation. The physical meaning of the flatness index is the span of the maximum positive and negative deviations of the displacement distribution of each measuring point on the measured surface from the best-fit plane, which conforms to the evaluation method of geometric tolerances. The flatness index is output as a derived measurement result.
[0127] When the measurement mode is identified as the symmetry evaluation mode, slave nodes are paired based on the geometric center of the installation coordinates. The geometric center is equal to the arithmetic mean of the installation coordinates of all slave nodes. The direction of the principal eigenvector of the two-dimensional covariance matrix calculated in step S31 is used as the axis of symmetry. The principal eigenvector refers to the eigenvector corresponding to the larger eigenvalue in the two-dimensional covariance matrix. This vector points to the direction in which the installation coordinates are most dispersed in the two-dimensional plane, i.e., the principal distribution direction of the installation coordinates. The basis for using the principal eigenvector direction as the axis of symmetry is as follows: Symmetry evaluation requires that the measurement points be divided into two sides along the symmetrical structure of the workpiece being measured for pairing and comparison. The symmetrical structure direction of the workpiece being measured corresponds to the principal distribution direction of the sensor node installation layout. Because sensor nodes are usually evenly arranged along both sides of the symmetrical structure of the workpiece being measured in symmetry detection, the principal distribution direction of their installation coordinates reflects the extension direction of the symmetrical structure of the workpiece being measured. The axis of symmetry where the geometric center is located divides all slave nodes into two sides. The pairing rule is: for each slave node on one side of the geometric center, find the slave node on the other side of the geometric center that is closest to the geometric center as the pairing node, forming a symmetrical measurement point pair. When the distances from multiple candidate slave nodes to the geometric center are the same as the distance difference from the target slave node to the geometric center, the slave node with the smaller bus address is selected as the pairing node. When the total number of slave nodes is odd, the slave node closest to the axis of symmetry does not participate in pairing; only the symmetrical measurement point pairs formed by the remaining even number of slave nodes are used for symmetry calculation. For each symmetrical measurement point pair, the absolute value of the difference between the corrected displacement values of the two slave nodes in the pair is calculated. The maximum value of the absolute value of the displacement difference for all symmetrical measurement point pairs is found as the symmetry index. The physical meaning of the symmetry index is the maximum degree of asymmetry in the displacement distribution at each symmetrical position of the workpiece with the geometric center as the symmetry reference. The symmetry index is output as the derived measurement result.
[0128] Based on the measurement mode identifier, the synchronous displacement snapshot is routed to three completely different derived measurement algorithms, each of which performs specialized calculations for different form and position tolerance indices. Since the displacement values of each measuring point in the synchronous displacement snapshot have already undergone time deviation compensation and spatial correction in step S20, the input data used for derived measurement meets consistency constraints in both the time and spatial dimensions. Therefore, the calculation results of derived measurement do not contain spurious deviation components introduced by polling timing deviations. The straightness, flatness, and symmetry indices can accurately reflect the true form and position tolerance characteristics of the measured workpiece surface, thus providing a high-precision decision-making basis for automated quality control of industrial production lines. The derived measurement results can be directly used to trigger automatic rejection and alarm interception of out-of-tolerance workpieces.
[0129] Step S33: Encapsulate the derived measurement results and the displacement values of each measuring point in the synchronous displacement snapshot into a detection data frame, transmit it externally through an external communication interface or store it locally, and output the displacement detection results.
[0130] The control host encapsulates the derived measurement results output in step S32 and the displacement values of each measuring point in the synchronous displacement snapshot output in step S24 into a detection data frame. The detection data frame is a data structure containing a frame header field, a derived measurement result field, a per-measuring-point displacement value field, and a frame tail check field. The frame header field contains a frame start identifier and data length information. The derived measurement result field stores the straightness index, flatness index, or symmetry index calculated in step S32, along with the corresponding measurement mode identifier. The per-measuring-point displacement value field stores the corrected displacement values of each slave node in the synchronous displacement snapshot in the slave node bus address order. The frame tail check field stores the check value calculated by byte-by-byte accumulation and modulo operation on the aforementioned fields. Specifically, all bytes of the frame header field, derived measurement result field, and per-measuring-point displacement value field are accumulated one by one, and the accumulated result is modulo 256 to obtain a one-byte check value. The receiving end calculates and compares the check value in the same way to determine the integrity of the frame data. The control host transmits the encapsulated detection data frame to the upper-level monitoring system or data recording system via an external communication interface. This external communication interface includes, but is not limited to, one or more combinations of Ethernet interfaces, independent serial communication interfaces, and wireless communication interfaces. The independent serial communication interface refers to an external serial interface distinct from the internal RS485 bus. Alternatively, the control host stores the detection data frame in local non-volatile storage for post-event analysis and traceability. The detection data frame is the final output of this invention, namely the displacement detection result.
[0131] By unifying the output of derived measurement results and point-by-point displacement data, the upper-level system receiving the detection data frame can obtain both the comprehensive evaluation index of the workpiece's form and position tolerances and the independent displacement values of each measurement point for more granular analysis and visualization. The encapsulation format of the detection data frame allows the displacement detection results to be integrated with various industrial monitoring systems and data management systems via standard communication interfaces, meeting the dual requirements of real-time transmission and persistent storage of detection data in industrial settings.
[0132] The eddy current sensor-based dial gauge displacement detection algorithm provided by this invention reconstructs the sampling mechanism of each slave node from query-triggered to autonomous timing with local timestamps in step S10. In step S20, time deviation compensation and spatial correction based on the deformation continuity constraint of the measured surface are used to align the displacement data sampled by each slave node at different times into a synchronous displacement snapshot at a unified time. In step S30, derived measurement calculations are performed based on the synchronous displacement snapshots to output accurate displacement detection results. This effectively solves the problem of displacement data timestamp distortion caused by the polling delay of multi-node RS485, and significantly reduces the false derived measurement deviations introduced by sampling timing deviations. This enables the multi-node eddy current sensor dial gauge network detection system to output reliable displacement detection results consistent with actual geometric tolerances in dynamic multi-point collaborative detection scenarios.
[0133] Example 2
[0134] The device for micrometer displacement detection based on eddy current sensor includes: a sequence construction module, which acquires displacement data with local timestamps generated by each eddy current sensor slave node on the RS485 bus based on an autonomous timing sampling mechanism, and summarizes the displacement data with local timestamps to obtain a time-marked displacement sequence.
[0135] The deviation compensation module performs time deviation compensation and spatial correction based on the deformation continuity constraint of the measured surface on the time-series labeled displacement sequence to obtain a synchronous displacement snapshot;
[0136] The derivative measurement module performs multi-point displacement derivative measurement based on synchronous displacement snapshots and outputs displacement detection results.
[0137] Example 3
[0138] This embodiment provides a medium for dial gauge displacement detection based on an eddy current sensor. The medium is a computer-readable storage medium on which a computer program is stored. When the computer program is executed by a processor, it implements the algorithm for dial gauge displacement detection based on an eddy current sensor as described in Embodiment 1, that is, it implements steps S10, S20, and S30 and their sub-steps.
[0139] Specifically, the computer-readable storage medium can be deployed in the internal storage device of the control host or in an external storage device communicatively connected to the control host. The processor of the control host loads the computer program from the computer-readable storage medium and executes it, causing the control host to execute step S10 to acquire displacement data with local timestamps generated by each eddy current sensor slave node on the RS485 bus based on an autonomous timing sampling mechanism and summarize it to obtain a time-series labeled displacement sequence; execute step S20 to perform time deviation compensation and spatial correction based on the deformation continuity constraint of the measured surface on the time-series labeled displacement sequence to obtain a synchronous displacement snapshot; execute step S30 to perform multi-point displacement derivative measurement based on the synchronous displacement snapshot and output the displacement detection result. The computer-readable storage medium includes, but is not limited to, read-only memory (ROM), random access memory (RAM), electrically erasable programmable read-only memory (EEPROM), flash memory, disk storage, optical disk storage (CD-ROM, DVD, etc.), and any other medium that can be used to carry or store program code in the form of instructions or data structures and can be read by the processor.
[0140] It should be understood that although the steps in the flowcharts of the various embodiments of the present invention are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the various embodiments may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least a portion of the sub-steps or stages of other steps.
[0141] The foregoing description is illustrative of the invention and should not be construed as limiting it. Although several exemplary embodiments of the invention have been described, those skilled in the art will readily understand that many modifications can be made to the exemplary embodiments without departing from the novel teachings and advantages of the invention. Therefore, all such modifications are intended to be included within the scope of the invention as defined in the claims. It should be understood that the foregoing description is illustrative of the invention and should not be construed as limiting it to the specific embodiments disclosed, and modifications to the disclosed embodiments and other embodiments are intended to be included within the scope of the appended claims. The invention is defined by the claims and their equivalents.
Claims
1. An algorithm for dial gauge displacement detection based on an eddy current sensor, characterized in that, include: The displacement data with local timestamps generated by each eddy current sensor slave node on the RS485 bus based on the autonomous timing sampling mechanism are acquired. The displacement data with local timestamps are summarized to obtain the time-marked displacement sequence. Time deviation compensation and spatial correction based on the deformation continuity constraint of the measured surface are performed on the time-marked displacement sequence to obtain a synchronous displacement snapshot; Multi-point displacement derivation measurement is performed based on synchronous displacement snapshot, and displacement detection results are output. The steps for outputting displacement detection results are as follows: Determine whether the installation coordinates of each slave node are collinear. If they are collinear, the measurement mode is determined to be the straightness evaluation mode. If they are not collinear, calculate the two eigenvalues of the two-dimensional covariance matrix formed by the installation coordinates and take the ratio of the larger and smaller eigenvalues as the eigenvalue ratio. When the eigenvalue ratio is greater than the preset distribution shape threshold, it is determined to be the flatness evaluation mode. Otherwise, it is determined to be the symmetry evaluation mode, and the measurement mode identifier is output. Based on the metering mode identifier, perform corresponding derived metering operations on the synchronous displacement snapshot and output the derived metering results; The derived measurement results and the displacement values of each measuring point in the synchronous displacement snapshot are encapsulated together into a detection data frame, which is then transmitted externally through an external communication interface or stored locally to output the displacement detection results.
2. The algorithm for dial gauge displacement detection based on an eddy current sensor according to claim 1, characterized in that, The analysis steps for synchronous displacement snapshots are as follows: Extract the local timestamp of each slave node, calculate the time offset of each slave node, and obtain the time-compensated displacement value by adding the displacement value of the node to the product of the displacement rate and the negative value of the time offset. With each slave node as a vertex, and the displacement value, time-compensated displacement value, installation coordinates, displacement rate, and time offset as vertex attributes, construct directed edges in a round-robin order, and use the time offset of the end node of the adjacent directed edge minus the time offset of the starting node as the edge weight to construct a temporal causal directed graph. Based on the temporal causal directed graph, spatial correction is performed under the constraint of deformation continuity of the measured surface to obtain the corrected displacement set.
3. The algorithm for dial gauge displacement detection based on an eddy current sensor according to claim 2, characterized in that, The analysis steps for synchronous displacement snapshots also include: The corrected displacement value of each slave node in the corrected displacement set is analyzed with the time-compensated displacement value of the node in the temporal causal directed graph to obtain the corrected residual of each slave node. The corrected residual of each slave node is marked on the corresponding node entry in the corrected displacement set to obtain the quality assessment marked displacement set. If the maximum value of the correction residual is less than the convergence threshold, it is considered qualified, and all corrected displacement values are extracted to form a synchronous displacement snapshot; if it is not less than the convergence threshold, the spatial correction and acquisition steps of the quality assessment mark displacement set are repeated with the quality assessment mark displacement set as input until it is qualified.
4. The algorithm for dial gauge displacement detection based on an eddy current sensor according to claim 3, characterized in that, The analysis steps for the convergence threshold are as follows: calculate the maximum value of the correction residuals of all slave nodes, extract the installation coordinates of each slave node, calculate the minimum Euclidean distance between all node pairs, extract the maximum value of the absolute value of the displacement rate, divide the minimum Euclidean distance by the maximum value of the absolute value of the displacement rate to define the space-time coupling coefficient; divide the total polling delay by the space-time coupling coefficient and then multiply by the system preset resolution to obtain the convergence threshold.
5. The algorithm for dial gauge displacement detection based on an eddy current sensor according to claim 2, characterized in that, The steps for performing spatial correction under the constraint of deformation continuity on the measured surface are as follows: Extract the installation coordinates of each slave node, take the root mean square of the Euclidean distance between all slave node pairs as the spatial attenuation scale, and take the negative value of the natural exponential function value after dividing the square of the Euclidean distance between each slave node pair by the square of the spatial attenuation scale as the spatial stiffness coupling weight. Construct a spatial stiffness-weighted adjacency matrix by arranging the weights in the row and column order of the node numbers; Based on the temporal causal directed graph, the time-compensated displacement value of each slave node is extracted. The neighborhood weighted average of the time-compensated displacement value is calculated according to the spatial stiffness weighted adjacency matrix to obtain the neighborhood weighted average displacement of each slave node. The difference between the time-compensated displacement value and the neighborhood weighted average displacement of each slave node is calculated to obtain the continuity violation of each slave node.
6. The algorithm for dial gauge displacement detection based on an eddy current sensor according to claim 5, characterized in that, The steps for performing spatial correction under the constraint of deformation continuity on the measured surface also include: The optimization objective is to minimize the sum of squares of the values of the corresponding row elements of the spatial stiffness-weighted adjacency matrix multiplied by the continuity violation of each slave node. The constraint is that the absolute value of the displacement adjustment of each slave node does not exceed the absolute value of the product of the displacement rate and the time offset of the node. The time compensation displacement value of each slave node is iteratively adjusted until the optimization objective converges. The adjusted displacement values of each slave node after convergence are output as the corrected displacement set.
7. The algorithm for dial gauge displacement detection based on an eddy current sensor according to claim 1, characterized in that, The analysis steps for time-annotated displacement sequences are as follows: A sampling configuration command is sent to each eddy current sensor slave node on the RS485 bus to instruct each slave node to configure a timing mechanism to trigger voltage acquisition with a fixed sampling period, perform piecewise linear interpolation calibration to obtain displacement value, and write the displacement value and local timestamp into the buffer to generate a timestamped displacement buffer frame. Query commands are sent to each slave node in the current polling order, and response frames are received from each slave node in response to the query commands. Each response frame contains a timestamp offset buffer frame packaged by each slave node. All received response frames are aggregated, and the displacement values, local timestamps, and fixed sampling periods of each slave node are extracted to assemble a time-annotated displacement sequence.
8. The algorithm for dial gauge displacement detection based on an eddy current sensor according to claim 7, characterized in that, It also includes the step of dynamically adjusting the polling order: dynamically adjusting the current polling order based on the correction residuals of each slave node output in the previous processing cycle, moving the query position of slave nodes whose correction residuals are greater than their average value to the front in the polling queue, and moving the query position of slave nodes whose correction residuals are not greater than their average value to the back, so as to obtain the adjusted polling order for use when sending query commands in the next round.
9. The algorithm for dial gauge displacement detection based on an eddy current sensor according to claim 1, characterized in that, The steps for performing the corresponding derived econometric calculations include: In the straightness evaluation mode, least squares straight line fitting is performed on each displacement value in the synchronous displacement snapshot along the arrangement direction of the installation coordinates, and the maximum deviation between the fitted line and the straight line is calculated as the straightness index. In the flatness evaluation mode, least squares plane fitting is performed, and the difference between the maximum positive and negative deviations between the fitted plane and the plane is calculated as the flatness index. In the symmetry evaluation mode, the nodes are paired with the geometric center of the installation coordinates as the reference, and the maximum absolute value of the difference between each pair of displacement values is calculated as the symmetry index, and the derived measurement results are output.
10. A device for detecting the displacement of a dial indicator based on an eddy current sensor, characterized in that, The algorithm for performing dial gauge displacement detection based on an eddy current sensor as described in any one of claims 1-9 includes: The sequence construction module acquires displacement data with local timestamps generated by each eddy current sensor slave node on the RS485 bus based on an autonomous timing sampling mechanism, and summarizes the displacement data with local timestamps to obtain a time-marked displacement sequence. The deviation compensation module performs time deviation compensation and spatial correction based on the deformation continuity constraint of the measured surface on the time-series labeled displacement sequence to obtain a synchronous displacement snapshot; The derivative measurement module performs multi-point displacement derivative measurement based on synchronous displacement snapshots and outputs displacement detection results.
11. A medium for dial gauge displacement detection based on an eddy current sensor, characterized in that, The medium is a computer-readable storage medium on which a computer program is stored, which, when executed by a processor, implements the steps of the algorithm for dial gauge displacement detection based on an eddy current sensor as described in any one of claims 1-9.